Repository navigation
FAQ
Open pull requests that you opened, that are assigned to you, that request your review (directly or through a team), or that you commented on, reviewed or were mentioned in. Merged and closed ones stay for 1, 3 (default), 7 or 14 days so a late comment still reaches you.
Yes, since 0.4.0: open issues you opened, are assigned to, commented on or were mentioned in, with an Issue chip on the row and Completed or Not planned once closed. Comments, mentions, assignments, label changes, renames, reopening and closing notify like pull request events. Settings → General → Track Issues turns them off. See Usage.
No. PullPing only reads: it runs read-only queries against the GitHub API. It never comments, reviews, merges or closes anything.
Yes, as many as you like, each with its own token. Switch between All and each account in the panel, or choose one inbox per account in Settings → General → Inbox → Per account. See Accounts and tokens.
Classic is simpler and gives complete CI status: scopes repo and read:org. Fine-grained tokens work too, with one token per organization and the permissions listed in Accounts and tokens; CI status may be incomplete with them.
PullPing polls GitHub instead of receiving pushes, every 3 minutes by default (1 to 15 in Settings → General). Refresh now (⌘R) checks immediately. It also checks after wake and when the network comes back.
GitHub's notification inbox lives on the website, one account at a time. PullPing keeps every account's pull requests in one menu-bar panel, shows CI and review state at a glance, and nudges you again until a requested review is done.
No. The panels are PullPing's own windows, and macOS offers no API to detect Focus, so they appear during a Focus too. Use Pause Notifications (right-click the menu-bar icon) for an hour, three hours or until tomorrow 9:00, or turn notifications off in Settings → Notifications.
Yes: Settings → General → Menu bar count: pull requests that need you (default), all unread, or no number. With "need me", Count in the Menu Bar has a switch per reason: review requested from you, from your team, assigned to you (while the assignment is unread), changes requested, CI failed, unread mentions, new comments or reviews on your pull requests and issues, ready to merge.
Mute keeps the pull request listed but silences its panels and reminders and leaves it out of the count. Hide removes it from every list and count but it still notifies you. Stop Tracking removes it and ignores it from then on. See Notifications.
Not yet. PullPing talks to github.com only.
GitHub gives each token 5,000 API points per hour; PullPing uses a small fraction. If a token runs low, PullPing pauses refreshing until the limit resets and shows "Rate limited" on the account.
Only api.github.com (plus github.com for Sign in with GitHub and the daily update check, and avatars.githubusercontent.com for account pictures), plus your ntfy server if you set up phone notifications. Tokens live in your login keychain and are sent only to GitHub. No analytics, no telemetry, no crash reporting. Your pull request data stays in ~/Library/Application Support/PullPing. See Permissions.
Not from 0.4.0 to 0.3.0. Version 0.3.0 cannot read the state and settings 0.4.0 writes: it moves the state aside to state.broken.json in ~/Library/Application Support/PullPing and starts over with a silent first sync, and your settings go back to the defaults. Accounts and tokens are kept. Upgrades are fine.
In the main window's sidebar, under Activity (or Activity in the menu-bar icon's menu). It lists every event PullPing saw in the last 30 days, also the ones that showed no panel, with the reason (your own, muted, snoozed, paused, notifications off, or off in Settings), whether it went to your phone, and every automation run. pullping activity prints the same from the command line. See Usage.
There are pullping:// links for Shortcuts and Raycast: pullping://open, pullping://open?pr=<id>, pullping://refresh and pullping://settings. See Usage. Since 0.5.0 there is also the pullping command for automations (below).
Yes, since 0.5.0, and only when you set it up: a rule in Settings → Automations, a hook an agent adds with pullping hook add, or the Handle with Agent button on notifications. It opens the agent in Terminal, iTerm2, Ghostty, Ghostex or your own command line, asks first by default and never adds a permission flag. See Agent automations.
Notarization needs a paid Apple Developer account. PullPing is open source and signed with a self-made certificate; see Installation → First launch.
I build small Mac tools to fix annoyances in my own day, then share them free and open source. If PullPing saves you from a forgotten review, a coffee on Ko-fi keeps the next one coming. ☕
PullPing · Website · MIT © Roy Padina · Support on Ko-fi ☕