Show unread GitHub notifications in your Mac menu bar

GitHub’s bell only shows that something is unread, not how much. This meter shows the count, so you can leave the tab closed until it matters.

Recipe tested October 29, 2026 with Multimeter 1.1. Source: Script.

Preview: the Label & Value face and two alternatives, with sample values like the ones this recipe returns.

What you need

  • Multimeter for macOS 13 or later, $19.99 once.
  • The direct download version of Multimeter from this site (the Script source isn’t in the Mac App Store version).
  • The GitHub CLI, signed in: brew install gh, then gh auth login once in Terminal.

Set it up

  1. Check it in Terminal:
    Command
    gh api notifications -q length
  2. Add a Script meter with the command. Refresh every 1 or 5 minutes.
  3. Set the range to 0 to 50 and, if you like, alerts at 10 and 25.

Multimeter settings

In Customize This Meter… (from the meter’s menu):

Settings for this meter
SettingValue
SourceScript
Commandgh api notifications -q length
Refresh every1 minute
Range0 to 50
AlertsHigh values: warning 10, critical 25
LabelGH
FaceLabel & Value, Stack or Underline

Tested: Run on October 29, 2026: printed 2 in 2 to 3 seconds.

Script meters need the direct download version of Multimeter from this site, which is the one on sale now. How commands run, the PATH they see and the 10 second limit are in the Script meters guide.

Limits

  • GitHub returns up to 50 notifications per page, so the count stops at 50. Past that, add ?per_page=100 to the path (gh api "notifications?per_page=100" -q length).

Variations

Only notifications that mention you or ask for review

Command
gh api notifications -q '[.[] | select(.reason == "mention" or .reason == "review_requested")] | length'

Troubleshooting

What the meter says, why, and what to do
SymptomCauseFix
The script didn’t print a numberThe command failed or printed an error message instead.Run the exact command in Terminal. If it works there, check for tools that live outside the meter’s PATH and use their full path (which tool).
The script took longer than 10 secondsA slow network call. Multimeter stops scripts after 10 seconds.Keep the -m timeout on curl, and refresh less often.
Scripts need the version from multimeterapp.comThis copy of Multimeter came from the Mac App Store, which can’t run scripts.Use the direct download version, or run the command from cron or launchd and point a File meter at its output.

Questions

Does this work in the Mac App Store version?

Script meters need the direct download version from multimeterapp.com, because the App Store sandbox doesn’t let apps run your commands. Web Address, File and Sent Value meters work in every version.

Does reading the count mark anything as read?

No. Listing notifications never changes their state.

Related

Put it in your menu bar

$19.99 one-time. No subscription. Needs macOS 13 Ventura or later.