Too many GitHub notifications? Here's the system that fixes it
The badge says 247. It said 247 last week too, because at some point you stopped trusting it and started ignoring it entirely. Now real review requests drown somewhere in there, and people ping you on Slack anyway: "did you see my PR?" The problem isn't discipline. It's that your inbox is full of things that never needed your attention.
Here's how to get to an inbox that contains only things that need you — in one sitting, about thirty minutes.
Step 1: Find out where the noise comes from
Open github.com/notifications and switch between the Inbox, Participating and Done tabs for a minute. Then look at what's flooding you:
- Bot noise (Dependabot, CI failures on repos you barely touch) → you're watching too much. Step 2.
- One busy repo dominates → its watch setting is wrong. Step 3.
- A few old threads keep pinging → subscriptions that outlived their purpose. Step 4.
Step 2: Audit your watching list
Go to github.com → Settings → Notifications → Watching. This lists every repo you watch with "All Activity". For each one ask: do I need every issue and PR here? Almost always the answer is no:
- Unwatch repos you starred but don't work on. (Unwatch ≠ unstar.)
- Downgrade to Custom for repos you care about casually — tick just Releases.
- Leave full watching only for repos where you genuinely follow everything.
This single page explains most notification floods. See our Watch vs Star guide for exactly what each setting delivers.
Step 3: Tame email separately from desktop
Email is usually what makes the volume feel unbearable — a hundred desktop pings are skimmable, a hundred emails are not. Under Settings → Notifications you can turn off Participating and Watching emails while keeping web and desktop delivery. Email then becomes an archive, not a queue. Full walkthrough: turn off email notifications, keep desktop.
Step 4: Unsubscribe from zombie threads
Threads you commented on months ago keep notifying because commenting auto-subscribes you. In the inbox, select them and use Unsubscribe — or open each thread and hit Unsubscribe in the sidebar. You stay subscribed to nothing you didn't choose.
Step 5: Filter instead of scrolling
Once the volume is sane, stop reading linearly. GitHub's inbox supports
filter queries like repo:org/repo is:unread and reason filters
(reason:review-requested, reason:mention). The
two worth memorizing:
reason:review-requested— things waiting on you right now. Read these first.reason:mention— someone explicitly asked for you.
Everything else can wait until end of day.
Step 6: Keep it that way with a daily habit
- Morning: clear review-requested and mentions. Mark as Done aggressively — done means finished, it doesn't delete anything.
- Fridays: skim everything else once and mass-Done the rest.
- Any new repo you join: set its watch level deliberately in the first week, before the firehose starts.
Or let the menu bar do the triage
DevNotify puts your unread count in the macOS menu bar with per-repo filtering built in — review requests and mentions surface first, bot noise waits its turn. You keep the watches, we keep the order. Free to try, $19 for a lifetime license.
Download DevNotify for macOS Buy license — $19