GitHub's mention and notification system is how the platform keeps you informed about activity that matters to you — and how you bring specific people into conversations that need their attention. Without it, collaboration on a platform with millions of repositories would be impossible to follow. With it, you can tune your information flow to exactly what is relevant.
Mentions — @username
A mention is the simplest way to notify a specific person or team of something. In any GitHub comment, issue, pull request description, or review — type @ followed by a GitHub username:
@wariz can you take a look at this implementation?
When you post the comment, the mentioned user receives an immediate notification and is automatically subscribed to the thread. From that point on, they receive notifications for all subsequent activity on that issue or PR — unless they unsubscribe.
Autocomplete
GitHub's comment boxes provide autocomplete for mentions. Start typing @ and GitHub surfaces a dropdown of collaborators and contributors in the current repository. This is particularly useful in large organisations where you may not remember exact usernames.
Mentioning teams
In repositories that belong to an organisation, you can mention entire teams rather than individuals:
@winehouse-labs/engineering please review the API design before we proceed
This notifies every member of the team simultaneously. Team mentions are written as @organisation/team-name.
Quoting to provide context
When responding to a specific part of a long comment, quote the relevant section before your reply. Prefix the lines with >:
> The timeout should be configurable per environment
Agreed — I've added a `TIMEOUT_MS` environment variable in the latest commit.
A keyboard shortcut: highlight the text you want to quote in a comment and press r — GitHub pre-fills the quoted text in the reply box.
How Subscriptions Work
You are automatically subscribed to a thread when:
- You opened the issue or pull request.
- You commented on it.
- You were mentioned in it.
- You were assigned to it.
- You are watching the repository it belongs to.
Once subscribed, you receive a notification for every new comment, status change, or review on that thread.
Unsubscribing
To stop receiving notifications for a specific thread without leaving the conversation:
- Scroll to the bottom of the issue or PR page.
- Click Unsubscribe in the right sidebar.
You can re-subscribe at any time by clicking Subscribe in the same location.
Watching Repositories
Watching a repository subscribes you to all activity across it — every new issue, pull request, comment, and release.
To watch a repository:
- Click the Watch dropdown at the top of the repository page.
- Choose a watch level:
| Watch level | What you receive notifications for |
|---|---|
| Participating and @mentions | Only threads you participate in or are mentioned in (default) |
| All activity | Every issue, PR, comment, commit, release, and discussion |
| Ignore | No notifications at all, even if mentioned |
| Custom | Choose specific event types — issues, PRs, releases, security alerts, etc. |
All activity is useful for repositories you maintain or contribute to heavily. For repositories you just want to track broadly, Participating and @mentions keeps the noise manageable.
To see and manage all repositories you are watching:
- Click your profile picture → Settings.
- In the left sidebar, click Notifications → Subscriptions → Watched repositories.
The Notifications Centre
The notification centre is GitHub's central inbox for all your notifications. Access it by clicking the bell icon in the top navigation bar.
Reading notifications
The notification centre groups notifications by repository. Each notification shows:
- The repository it came from.
- The issue or PR number and title.
- A brief description of the activity.
- How long ago it happened.
Click a notification to go directly to the relevant thread. After visiting, the notification is marked as read automatically.
Managing notifications
| Action | How to do it |
|---|---|
| Mark as read | Click the checkmark icon next to a notification |
| Mark all as read | Click the checkmark at the top of a repository group |
| Mute a thread | Click the mute icon — stops all future notifications for that thread |
| Filter by repository | Click the repository name in the left sidebar |
| Filter by reason | Use the filter dropdown — "Participating", "Mentioned", "Assigned", etc. |
Inbox zero
Power users often treat the GitHub notification centre like an email inbox — working through it systematically, marking items read or muting threads that no longer need attention. The filter and grouping tools make this manageable even across dozens of active repositories.
Notification Delivery — Web vs. Email
GitHub can deliver notifications in two ways, independently configurable:
| Delivery method | How it works |
|---|---|
| Web | Notifications appear in the GitHub notification centre. The bell icon shows a count of unread notifications. |
| Notifications arrive in your email inbox as individual emails, properly threaded if your client supports it. |
You can enable both, one, or neither. To configure:
- Go to Settings → Notifications.
- Under Default notifications email, choose the address that receives GitHub emails.
- Under Participating and Watching, choose web, email, both, or neither for each category.
Email notification headers
GitHub embeds structured metadata in notification email headers that can be used to set up filters and rules in your email client:
Message-ID: <user/project/pull/1@github.com>
X-GitHub-Recipient: wariz
List-ID: project <project.user.github.com>
List-Unsubscribe: <mailto:unsub+i-XXX@reply.github.com>
The List-Unsubscribe header means any email client that supports this header (most modern ones do) will show an unsubscribe link directly — the same as clicking Unsubscribe on the GitHub page.
Replying by email
If you have email notifications enabled, you can reply directly to a notification email and your reply will be posted as a comment on the GitHub thread. You do not need to open GitHub. This is particularly convenient for quick responses while on mobile.
Configuring Notification Preferences
To reduce notification noise while staying informed about what matters:
For active contributors:
- Watch specific repositories on All activity.
- Use Participating and @mentions as the default for everything else.
For occasional contributors:
- Keep the default Participating and @mentions setting across all repositories.
- Subscribe to specific issues manually when you need to follow them.
For maintainers managing many repositories:
- Consider turning off email notifications entirely and managing everything through the web notification centre.
- Use the mute button liberally on threads that have been resolved.
- Create email filters using the
List-IDheader to route notifications from different repositories into separate folders.
Cross-References
Beyond @mentions, GitHub automatically creates cross-references between linked items. When you reference an issue or PR by number in a comment, commit message, or another issue:
This is related to #47.
Closes #23.
See also #89.
GitHub posts an automatic cross-reference comment on the referenced item showing where it was mentioned. This creates a bidirectional trail — you can navigate from the current thread to related discussions and back.
Cross-references work across repositories using the full owner/repository#number format:
This duplicates winehouse-labs/campus-access#142.
Summary
| Feature | How to use it |
|---|---|
| Mention a user | Type @username in any comment |
| Mention a team | Type @organisation/team-name |
| Quote a comment | Prefix lines with >, or highlight text and press r |
| Unsubscribe from a thread | Bottom of the issue/PR → Unsubscribe |
| Watch a repository | Watch dropdown → choose watch level |
| Access the notification centre | Bell icon in the top navigation |
| Mute a thread | Mute icon in the notification centre |
| Configure email vs. web notifications | Settings → Notifications |
| Cross-reference another issue | Type #number in any comment |
| Cross-reference across repositories | Type owner/repo#number |