DOCS / INTEGRATIONS
GitHub
GitHub is Birch’s most complete integration: pull requests with checks, reviews, and comments; assigned issues in the Inbox; and everything the PR surfaces can do. Connect with a personal access token — cloud or GitHub Enterprise Server.
Creating the token
Section titled “Creating the token”In Settings → Integrations, click the GitHub tile. Above its links the connect form lists Token permissions — everything below — so you can check the token page against it. Two links open GitHub’s new-token pages with Birch’s choices already filled in:
- Create a classic token on GitHub ↗ opens
https://github.com/settings/tokens/new?scopes=repo,project&description=Birch, withrepoandprojectticked. - Create a fine-grained token ↗ opens
https://github.com/settings/personal-access-tokens/newwith the repository permissions below preselected. The resource owner and Repository access can’t be prefilled — pick them yourself.
If you have typed a GitHub Enterprise base URL, both links open that instance’s pages instead of github.com’s.
Both flavors work — the token field’s watermark reads
ghp_… or fine-grained token — but the classic token is the recommended one.
Classic token (recommended)
Section titled “Classic token (recommended)”| Scope | Used for |
|---|---|
repo | Pull requests, reviews, issues and CI of private repositories; merge and close pull requests |
project (optional) | Changing an issue’s Status on a Projects board |
public_repo is enough if you only work in public repositories.
Fine-grained token
Section titled “Fine-grained token”| Permission | Access | Used for |
|---|---|---|
| Repository access | All repositories | The Inbox searches every repository you can see |
| Contents | Read and write | Merge, and delete the merged branch |
| Pull requests | Read and write | Create, close, draft and review pull requests; comments |
| Issues | Read | Assigned issues |
| Commit statuses | Read | CI status |
| Metadata | Read | Added automatically |
| Projects (organization) (optional) | Read and write | Changing an issue’s Status on a Projects board |
A fine-grained token does less than a classic one:
- GitHub Actions check runs don’t show — fine-grained tokens can’t call the Checks API, so only commit statuses appear.
- Repositories where you are an outside collaborator aren’t reachable.
- A token covers one owner (you or one organization), and Birch keeps one token per GitHub user — connecting a second token for the same user replaces the first.
Organization policies
Section titled “Organization policies”- An organization with SAML single sign-on needs a classic token authorized for it under Configure SSO on GitHub’s token page.
- An organization can block classic tokens, or require approval for fine-grained ones.
Adding the account
Section titled “Adding the account”-
Open Settings → Integrations (
⌘,/Ctrl+,) and click the GitHub tile. -
Fill the form:
Field What to enter Personal access token Your ghp_…classic or fine-grained tokenCustom base URL Leave empty for github.com. For GitHub Enterprise Server, enter the API root: https://<host>/api/v3 -
Click Verify & connect. Birch verifies the token against GitHub before storing it; on success the account appears with a Connected badge, a
Verified:timestamp, and Sync now / Remove buttons.
The token is stored in the system keychain, never in Birch’s database. You can add several GitHub accounts — for example github.com plus an Enterprise instance — and they sync independently. See the providers overview for the shared connection model.
What you get
Section titled “What you get”- Pull requests — open PRs on the repository page and the workspace PR card, with state and checks; review requests and activity on your PRs land in the Inbox.
- Assigned issues — synced into the Inbox Tasks tab. Images embedded in an issue’s description are downloaded and shown as thumbnails, and handed to the agent when you start a workspace from the task.
- Issue status updates — Birch can move an issue when you start a workspace or create a PR from it (Settings → Task automation; see status transitions).
- AI code review — new PRs can be reviewed automatically, an Anthropic API feature.
- Notifications — desktop, sound, and Teams notifications for PR activity; see Notifications.
Supported PR operations
Section titled “Supported PR operations”- Create a PR from a workspace — the Create PR dialog supports
Create as draft — or with
birch pr create(--title,--body,--base,--draft). See Create a pull request. - Check out a PR into a new workspace:
birch pr checkout <url-or-id>. - Merge with
birch pr merge <url-or-id>—--strategy merge|squash|rebase(defaultmerge), plus--delete-sourceto remove the source branch. - List PRs with
birch pr list(--allincludes merged and closed). - Comments and reviews — Birch syncs PR comments in the background, though
the window that shows them currently has no entry point in the shipped build
(see Review & manage PRs); an
on-demand AI review runs with
birch review run <pr-id>.
Full flag reference: CLI — pr.
Troubleshooting
Section titled “Troubleshooting”- Verification fails — the token is likely expired or revoked. Generate a new one via Create a classic token on GitHub ↗ and reconnect.
- Creating, merging, closing, drafting or reviewing a PR is refused — Birch shows GitHub’s own reason followed by what to check. On a 403 that is the scope: “GitHub refused this: the token may lack the repo scope (classic token) or Contents: Read and write (fine-grained token). Check Settings > Integrations.” — with Pull requests: Read and write instead of Contents for everything but a merge. On a 401 it says the token may have expired or been revoked.
- Private repos, PRs or issues are missing — the token most likely lacks
repo(classic) or doesn’t cover that repository or owner (fine-grained); see Creating the token. - Organization repos or PRs are missing (SAML/SSO) — in organizations that enforce SAML single sign-on, a classic token must be authorized for that organization on GitHub’s token page, and a fine-grained token must be created with the organization as its resource owner. Until then, GitHub simply hides those resources from the token.
- No status to pick for an issue — changing an issue’s Status needs the
projectscope (classic) or the organization Projects permission (fine-grained). Without it Birch offers no status change. - GitHub Enterprise Server won’t connect — the base URL must be the API
root,
https://<host>/api/v3, not the plain web URL. - Rate limiting — Birch’s background sync runs on a ~10-minute cadence precisely to stay under GitHub’s limits. If you hit a limit anyway (many accounts, frequent manual Sync now), wait a few minutes and let the next cycle catch up.