name: inbox-list-notifications description: Fetch GitHub notifications using the gh CLI tools:
- execute
List GitHub Notifications
Use gh api to fetch all unread GitHub notifications with automatic pagination.
Command
Use the --jq flag (NOT a pipe to jq) to filter output inline:
gh api /notifications --paginate --jq '.[] | {id, reason, unread, updated_at, repo: .repository.full_name, title: .subject.title, type: .subject.type, url: .subject.url}'
This is the ONLY command you should run. Do NOT modify it. Do NOT add anything to it.
Rules
- NEVER pipe to
jq,python,python3, or any other program - NEVER add
2>/dev/nullor any redirects - NEVER add
GH_PAGER=cator any environment variable prefixes - NEVER wrap the command in a script
- The
--jqflag handles all JSON filtering — no external tools needed - The
--paginateflag handles pagination — no manual page loops needed
Filters
- Participating only: Add
--method GET -f participating=true - Include read: Add
--method GET -f all=true - Specific repo: Use
gh api /repos/{owner}/{repo}/notifications --paginate --jq '...' - Since date: Add
-f since=2024-01-01T00:00:00Z
Constructing HTML URLs
The url field is an API URL like https://api.github.com/repos/owner/repo/pulls/123. Convert to a clickable URL:
- For pulls:
https://github.com/{repo}/pull/{number} - For issues:
https://github.com/{repo}/issues/{number}
Extract the number from the API URL's last path segment.
Priority
Sort notifications by reason priority (highest first):
security_alert(critical)assign(high)review_requested(high)mention(high)ci_activity(medium)comment(medium)team_mention(medium)state_change(medium)author(low)subscribed(low)