﻿---
title: GitHub
description: Your inbox, issues and pull requests, synced through the GitHub CLI.
url: https://docs-v3-preview.elastic.dev/github
---

# GitHub
Heed talks to GitHub only through the [GitHub CLI](https://cli.github.com): it never asks for a token. Sign in once
with `gh auth login` and Heed keeps it in sync: what the view on screen shows every minute (`poll_seconds` under
`[github]`), the rest every five, and `r` syncs everything now. A tracked PR's details are fetched when you open it and
when its checks or review threads change.

| View                                                                      | Key  | Shows                                                                        |
|---------------------------------------------------------------------------|------|------------------------------------------------------------------------------|
| [Inbox](https://docs-v3-preview.elastic.dev/github/inbox)                 | `gm` | Your notifications                                                           |
| [Issues](https://docs-v3-preview.elastic.dev/github/issues)               | `gi` | Issues assigned to you or mentioning you, and every issue in repos you watch |
| [Pull requests](https://docs-v3-preview.elastic.dev/github/pull-requests) | `gp` | Your open pull requests and the ones your sessions track                     |

From any of them you can [read](https://docs-v3-preview.elastic.dev/github/reading) an item in the app, [start a session](https://docs-v3-preview.elastic.dev/start-work/from-github) from
it, and feed [review feedback](https://docs-v3-preview.elastic.dev/github/review-feedback) back to the agent working on it.

## When GitHub can't be reached

Heed keeps the last sync and keeps working. A banner says when the data was synced and why it is stale.
![Offline: showing what was synced, and why](https://docs-v3-preview.elastic.dev/images/shots/github/offline.png)
Items in orgs your `gh` token is not authorized for (SAML single sign-on) are counted in the title bar ("· 49 hidden")
rather than shown. `gh auth refresh`, or authorizing the GitHub CLI for that org, brings them in.