How to triage GitHub notifications with the keyboard
GitHub's notification shortcuts (E, Shift+I, Shift+U, Shift+M), and a full keyboard flow in Hush to move, read, approve, merge, finish, snooze, and mute without the mouse.
Short answer
On github.com/notifications, press E to mark a notification as done, Shift+I to mark it as read, Shift+U to mark it as unread, and Shift+M to unsubscribe. Press ? on any GitHub page to see its shortcuts. Hush adds a full keyboard flow: move with J and K, read with Space, and approve, merge, or finish each thread with one key.
GitHub's notification shortcuts
- Press
GthenNon any GitHub page to go to your notifications. - Select a notification, then use these keys:
| Key | Does |
|---|---|
E |
Mark as done. It leaves the inbox until new activity. |
Shift+I |
Mark as read. |
Shift+U |
Mark as unread. |
Shift+M |
Unsubscribe from the thread. |
- Press
?to see every shortcut of the page.
If single keys do nothing, check Settings → Accessibility on GitHub: you can turn off character key shortcuts there.
GitHub's shortcuts act on the notification. To review a pull request, open it and use the shortcuts of the pull request pages.
A full keyboard flow in Hush
Hush is built for the keyboard. Each list (the inbox, and the Pull requests and Issues tabs) uses the same keys, and the peek lets you act on GitHub without leaving the list.
1. Move and read
| Key | What it does |
|---|---|
J or ↓ |
Next |
K or ↑ |
Previous |
Space |
Peek (open or close) |
O or Enter |
Main action (review, fix CI, reply…) |
Shift + O |
Open on GitHub |
With the peek open on a wide screen, the list stays visible, and the peek follows the cursor as you move.
2. Act on GitHub from the peek
| Key | What it does |
|---|---|
A |
Approve |
Shift + C |
Comment |
⌘ ↩ / Ctrl + Enter |
Send the comment |
Shift + R |
Re-run failed jobs |
Shift + M |
Merge (press twice) |
Approve waits 5 seconds before Hush sends it, so you can undo it. Merge asks once more: press the key again to confirm.
3. Finish the thread
| Key | What it does |
|---|---|
E |
Done |
S |
Snooze until tomorrow 9:00 |
M |
Mute the thread |
U |
Mark as read / unread |
N |
Doesn’t need me… |
Often you do not need Done: when you approve, reply, or push a fix, Hush sees it and moves the thread to Done by itself.
4. Work on many threads
| Key | What it does |
|---|---|
X |
Select or deselect |
Shift + J |
Extend the selection down |
⌘ A / Ctrl + A |
Select all |
Esc |
Close the peek, or clear the selection |
Done, Snooze, Mute, and Read then act on every selected thread.
5. Find and jump
| Key | What it does |
|---|---|
/ |
Search |
⌘ K / Ctrl + K |
Search and commands |
1 |
View 1 (built-in) |
2 |
View 2 (built-in) |
? |
Show shortcuts |
The filter box takes the query language, for example:
needs:review -author:bots repo:acme/*
Change any key
Every key can change, in Settings → Keybinds or in settings.json. For example, d for Done (as in some mail apps) and no key for Mute:
{ "keys": { "inbox.done": ["d"], "inbox.mute": [] } }
See Keybinds for every shortcut.
Which one to use
If your inbox is short, GitHub's four keys are enough. Hush helps when you triage many threads each day and want to read, approve, and finish them in one place. See Hush vs. GitHub notifications. If you like the terminal, see gh-dash.
Sources
- Keyboard shortcuts, GitHub Docs
- Managing notifications from your inbox, GitHub Docs
Last checked: 3 October 2026.