Skip to content
278 linesCodeBlameRaw
1---
2title: Your inbox
3description: What needs you, and what you follow, as it happens. One thread per issue, pull request, workflow or deployment, with why you were told. Choose what you hear of with subscriptions, watching and email settings.
4---
5
6Your **inbox** tells you when something needs you, or when something
7happens to work you answer for or follow: an agent is waiting on you,
8someone asked you to review a pull request, checks failed on your pull
9request, a deployment failed, someone mentioned you. You are never told
10about what you did yourself.
11
12Open it from the bell in the top bar. The number on the bell is what is
13unread. It is amber while something is waiting on you, red while a failure
14is unread, and green otherwise.
15
16## Threads
17
18Your inbox holds one **thread** for each thing you were told about:
19
20- an issue
21- a pull request
22- a workflow on one branch
23- a deployment: a project's production, or one pull request's preview
24- a workflow run waiting for your review to deploy to an environment
25
26When something new happens on a thread, it comes back to the top of your
27inbox, unread, even if you had marked it done. It is not added a second
28time. A thread that is snoozed stays snoozed until its time.
29
30Each card shows the latest activity's title, why you were told (see
31[reasons](#reasons)), and, when more than one thing has happened, how many,
32such as **3 updates**. g1t keeps the last 10 activities of each thread.
33
34While a thread is unread it keeps the most urgent of what happened since
35you last read it. A failure followed by a comment still shows as a failure
36until you read it.
37
38## Reasons
39
40Every thread says why you were told of its latest activity. When you are
41told of one thing for more than one reason, the first that applies in this
42table is shown.
43
44| Reason | Shown as | Why you were told |
45| --- | --- | --- |
46| `agent` | agent waiting | An agent is waiting on you: it asked a question, or it stopped until a person steps in. |
47| `review_requested` | review requested | Someone asked you, or a team you are in, to review a pull request; it changes files you own; or you are one of its reviewers. Also a workflow run waiting for you, as one of an [environment's reviewers](/guides/actions/#environments), to approve its deployment, and, for a workspace's owners, a member's fine-grained token waiting for [approval](/guides/authentication/#a-workspaces-rules-for-tokens) (in the inbox only, never emailed). |
48| `assign` | assigned | You were assigned, or you are an assignee. |
49| `mention` | mentioned | Someone mentioned you with `@username`, or you were mentioned on it before. |
50| `team_mention` | team mentioned | Someone mentioned a [team](/guides/teams/#mentions) you are in with `@workspace/team`, or a team you are in was mentioned on it before. |
51| `ci_activity` | CI activity | A check, workflow or deployment on your work finished badly, or recovered. |
52| `security_alert` | security alert | A new secret, code scanning or vulnerability alert on a repository you look after, a push of yours that push protection blocked, or a [bypass request](/guides/security/secret-protection/#delegated-bypass) to review or its answer. The workspace's owners hear of new alerts; watchers who chose **Security alerts** do too, if they can see findings. |
53| `state_change` | state changed | It was closed, reopened or merged. |
54| `author` | your work | You opened it, or you asked g1t for it. Also an owner's answer to your [fine-grained token](/guides/authentication/#create-a-fine-grained-token) waiting for approval, or its revocation. |
55| `comment` | commented | You commented on it. |
56| `manual` | subscribed | You subscribed to it yourself. |
57| `subscribed` | watching | You watch its repository. |
58
59## What lands there
60
61Each item comes from something that happened on g1t. Who is told depends on
62what it was:
63
64| What happened | Who is told | Reason | Shown as |
65| --- | --- | --- | --- |
66| An agent asked a question of the agent on a pull request, or handed it work | The person the pull request belongs to, and its issue's author and assignees | `agent` | Needs you |
67| g1t stopped on a pull request until a person steps in | The same people | `agent` | Needs you |
68| Someone asked for reviews on a pull request, or opened one with reviewers | The reviewers asked | `review_requested` | Needs you |
69| Someone asked a team to review a pull request | Everyone in the team and its child teams, or, with [review assignment](/guides/teams/#review-assignment), the people picked | `review_requested` | Needs you |
70| A workflow run's jobs wait for an [environment's reviewers](/guides/actions/#environments) | Each reviewer, and everyone in a reviewing team ("Deploy is waiting for your review to deploy to production in acme/api"), but not whoever started the run when it may not approve it | `review_requested` | Needs you |
71| A pull request changes files a [CODEOWNERS file](/guides/codeowners/) gives you or your team | The owners asked: "acme/api#42 changes files you own" | `review_requested` | Needs you |
72| Someone assigned people to an issue or pull request, or opened one with assignees | The people newly assigned | `assign` | Info |
73| Checks failed, or could not run, on a pull request | The person the pull request belongs to | `ci_activity` | Error |
74| A workflow failed on a pull request | The person the pull request belongs to | `ci_activity` | Error |
75| A workflow failed on a branch | Whoever pushed the commit it ran on | `ci_activity` | Error |
76| A preview of a pull request failed to deploy | The person the pull request belongs to, and people watching deployments | `ci_activity`, or `subscribed` for watchers | Error |
77| Production failed to deploy | Whoever pushed or started it, and people watching deployments | `ci_activity`, or `subscribed` for watchers | Error |
78| A deployment went live | People watching deployments; after a failure, also whoever was told of the failure | `ci_activity`, or `subscribed` for watchers | Success |
79| g1t finished a change and marked it ready for review | The person who asked g1t for it | `author` | Success |
80| g1t reviewed a pull request | The person the pull request belongs to | `author` | Success when approved, Info when it asks for changes |
81| A pull request was merged | Everyone subscribed to it, and people watching pull requests | `state_change`, or `subscribed` for watchers | Success |
82| An issue or pull request was closed, or an issue was reopened | Everyone subscribed to it, and people watching its kind | `state_change`, or `subscribed` for watchers | Info |
83| Someone mentioned you with `@username` in a comment | You | `mention` | Info |
84| Someone mentioned a team with `@workspace/team` in a comment, or in an issue or pull request they opened | Everyone in the team and its child teams, when the team's notifications are on and the writer can see the team | `team_mention` | Info |
85| Someone commented on an issue or pull request | Everyone subscribed to it, and people watching its kind | Why each is subscribed, or `subscribed` for watchers | Info, or Success for an approval |
86| An issue or pull request was opened | People watching its kind | `subscribed` | Info |
87
88"The person a pull request belongs to" is its author, or, for a change g1t
89made, the person who asked for it. An approval or a request for changes
90always reaches that person. g1t itself is never told. A mention in code or
91in a quoted line does not count.
92
93Some threads close themselves once they no longer need you:
94
95- When an agent was waiting on you, the thread moves to Done as soon as the
96 agent picks back up: it resumes, its pull request changes, a merge is
97 asked for, or the pull request is merged or closed.
98- When a review request to you is removed, that thread moves to Done.
99
100New activity brings either back, as with any thread.
101
102You only see items about repositories you can read. If you lose access to a
103repository, its items leave your inbox the next time you open it.
104
105## Subscriptions
106
107You are **subscribed** to an issue or pull request, and hear of what
108happens on it, without doing anything when you:
109
110- opened it, or asked g1t for it
111- are assigned to it
112- are one of its reviewers
113- commented on it
114- were mentioned in it, by name or through a team
115
116You can also subscribe to any issue or pull request yourself, or
117unsubscribe from one.
118
119| You are | You hear of |
120| --- | --- |
121| Subscribed | Everything in [What lands there](#what-lands-there) that goes to everyone subscribed: comments, closes, reopens and merges. |
122| Unsubscribed | Only what is asked of you or is about your own work: an agent waiting on you, a review request, an assignment, a mention of you or your team, and failed checks, workflows and deployments. Commenting on it, or being mentioned in it, subscribes you again. |
123| Ignoring it | Nothing on it at all, not even a mention. Only you can undo this. |
124
125To subscribe to an issue or pull request, or unsubscribe:
126
1271. Open the issue or pull request.
1282. In the sidebar, under **Notifications**, select **Subscribe** or
129 **Unsubscribe**.
130
131The line under the button says where you stand, such as "You're subscribed
132because you were assigned.", "You're not subscribed. You'll still hear if
133you're mentioned or asked to review." or "You ignore this thread."
134
135To ignore an issue or pull request, use the API:
136`PUT /repos/{owner}/{name}/issues/{number}/subscription` with
137`"ignored": true`, or the `notifications` tool's `subscribe` action with
138`ignored`. See [from the API and agents](#from-the-api-and-agents). While
139you ignore one, its button reads **Stop ignoring**, which puts you back to
140the default: subscribed only while you take part.
141
142## Watching a repository
143
144How you **watch** a repository decides what you hear of on it beyond what
145you take part in.
146
147| Level | You hear of |
148| --- | --- |
149| **Participating and @mentions** | Only what you take part in or are mentioned in. The default. |
150| **All activity** | Also every issue and pull request opened, commented on, closed, reopened or merged, and every deployment. |
151| **Ignore** | Nothing on the repository at all, not even a mention or a review request. |
152| **Custom** | What you take part in, and the kinds you choose: **Issues**, **Pull requests**, **Deployments** and **Security alerts**. Security alerts reach only those with Write on the repository, who can see its findings. |
153
154To change how you watch a repository:
155
1561. Open the repository.
1572. In the header, open the **Watch** menu.
1583. Select a level. For **Custom**, tick the kinds you want. Unticking
159 every kind puts you back on **Participating and @mentions**.
160
161A repository you create is watched the way you choose in
162[your settings](#settings): **All activity** unless you change it.
163
164## Email
165
166You can also be emailed when you are told of something. By default, g1t
167emails you for three reasons: **agent waiting**, **review requested** and
168**mentioned**. Each time you are told of something for a reason you chose,
169g1t sends one email with what happened and a link to it.
170
171An email is sent only when:
172
173- your account's email address is confirmed, and
174- you can still read the repository it is about.
175
176The foot of each email says why you got it, and links to
177[g1t.sh/settings/notifications](https://g1t.sh/settings/notifications).
178
179## Settings
180
181**Settings → Notifications**, at
182[g1t.sh/settings/notifications](https://g1t.sh/settings/notifications),
183holds your choices:
184
185| Setting | What it does | Default |
186| --- | --- | --- |
187| **Email** | One checkbox per reason: you are also emailed when you are told of something for it. | agent waiting, review requested, mentioned |
188| **Repositories you create** | How you watch a new repository you create: **Participating and @mentions** or **All activity**. | All activity |
189| **Watched repositories** | Every repository you watch other than the default way, with how. | |
190
191## Tabs
192
193| Tab | Shows |
194| --- | --- |
195| **All** | Everything, with what is waiting on you first |
196| **Needs you** | What is waiting on you: an agent, or a review asked of you |
197| **Errors** | Failed checks, workflows and deployments |
198| **Success** | Merges, approvals, finished agent work, and deployments that went live |
199| **Info** | Mentions, comments, assignments, and what you watch |
200
201The count beside each tab is what is unread under it.
202
203## Work through it
204
2051. Select the bell in the top bar. The inbox opens beside the page.
2062. Select an item to open what it is about. It is marked read, and the inbox
207 closes.
2083. Point at an item (on a phone, the buttons are always there) to act on it
209 without opening it:
210
211| Action | What it does |
212| --- | --- |
213| **Done** (✓) | Moves the thread out of the inbox and into Done, until something new happens on it |
214| **Mark as read** / **Mark as unread** | Changes whether it counts as unread |
215| **Save** | Keeps it under Saved, even after it is done |
216| **Snooze until** | Hides it for 3 hours, until tomorrow, or for a week, then brings it back |
217
218**Mark all read** marks everything under the tab you are on as read.
219
220## The full inbox
221
222**Open inbox**, at the foot of the panel, goes to
223[g1t.sh/inbox](https://g1t.sh/inbox). It has the same tabs, every thread a
224page at a time, and two more views:
225
226| View | Shows |
227| --- | --- |
228| **Saved** | Threads you saved, done or not |
229| **Done** | Threads you marked done. Select ↶ on one to move it back |
230
231Beside the tabs, the **Reason** filter shows only threads told for one
232reason: select **Any reason** or one of the [reasons](#reasons). It is kept
233in the address as `?reason=`, such as
234[g1t.sh/inbox?reason=review_requested](https://g1t.sh/inbox?reason=review_requested),
235so you can bookmark it.
236
237Mission control shows a **Needs you** card with the newest unread threads
238waiting on you, then failures. It is hidden when there are none.
239
240## From the API and agents
241
242Everything here is also in the REST API and the MCP server, for a personal
243access token or an OAuth sign-in. A workspace's token cannot use it, and
244neither can g1t's own agents: they act as `g1t`, which has no inbox.
245Reading needs the `notifications:read` scope, and changing anything
246`notifications:write`; the Agent [preset](/guides/authentication/#presets)
247has both.
248
249| Route | MCP action | What it does |
250| --- | --- | --- |
251| [`GET /notifications`](/reference/api/notifications/list-notifications/) | `list` | Your unread threads, latest first. Filter by `reason`, `severity`, `participating`, `since` and `before`; `all` adds read ones; `view` lists `saved` or `done`. |
252| [`PUT /notifications`](/reference/api/notifications/mark-notifications-read/) | `mark_all_read` | Mark everything read up to `last_read_at`. |
253| [`GET /notifications/threads/{id}`](/reference/api/notifications/get-notification-thread/) | `get` | One thread, its last 10 activities, and your subscription. |
254| [`PATCH /notifications/threads/{id}`](/reference/api/notifications/mark-thread-read/) | `mark_read` | Mark a thread read, or unread. |
255| [`DELETE /notifications/threads/{id}`](/reference/api/notifications/mark-thread-done/) | `done` | Mark a thread done. |
256| [`PUT /notifications/threads/{id}/saved`](/reference/api/notifications/save-thread/) | `save` | Save a thread; `DELETE` unsaves it. |
257| [`PUT /notifications/threads/{id}/snooze`](/reference/api/notifications/snooze-thread/) | `snooze` | Snooze a thread until `until`; `DELETE` brings it back. |
258| [`PUT /repos/{owner}/{name}/issues/{number}/subscription`](/reference/api/notifications/set-issue-subscription/) | `subscribe` | Subscribe to an issue or pull request, unsubscribe, or ignore it. `GET` reads it and `DELETE` unsubscribes. The same works at `/notifications/threads/{id}/subscription`. |
259| [`PUT /repos/{owner}/{name}/subscription`](/reference/api/notifications/set-repo-subscription/) | `watch` | Watch a repository at a `level`. `GET` reads it and `DELETE` goes back to the default. |
260| [`GET /user/subscriptions`](/reference/api/notifications/list-watched-repos/) | `watched` | The repositories you watch other than the default way. |
261
262`GET /repos/{owner}/{name}/notifications` and
263`PUT /repos/{owner}/{name}/notifications` list and mark one repository's
264threads. Every action of the `notifications` tool is in
265[MCP tools](/reference/mcp/#notifications).
266
267For example, to list the reviews waiting on you:
268
269```sh
270curl "https://api.g1t.sh/notifications?reason=review_requested" \
271 -H "Authorization: Bearer $G1T_TOKEN"
272```
273
274## How long items are kept
275
276Threads you mark done are removed 30 days after you mark them. Any other
277thread is removed once nothing has happened on it for 180 days. Saved
278threads are kept until you unsave them.