Skip to main content
Aether connects to GitHub through a GitHub App. Once installed, you import a repository into a project, let the agent work, push changes back, and have Aether review pull requests on the repo. GitHub is always available — unlike Sentry, Linear, and Slack, it is not config-gated.
Every task runs against a project linked to a GitHub repo, so connecting GitHub and importing a repo is the first step before running tasks. See Integrations for the full picture.

Connecting GitHub

Connecting installs the Aether GitHub App on a GitHub account or organization and grants it access to the repositories you select there. Aether checks your current repository access with GitHub when it lists, reads, clones, or pushes a repository. If GitHub revokes the user authorization, Settings asks you to reconnect without discarding the installations you linked.
Go to Settings → Connections → GitHub and click Connect. This opens the GitHub App installation page where you grant Aether access to your repositories.
The CLI is aliased to aether gh.

Checking Connection Status

Lists each connected installation with its installation ID, account login, account type, and connect date. The installation ID is required by the repos command and when importing private repos, so note it here.

Listing Repositories

repos lists the repositories an installation can access. The --installation-id flag is required — run aether github status to find it.

Importing a Repository

Import clones a GitHub repository into a project and links it. This binding is set-once: a project’s repo is fixed at import. To use a different repository, create a new project.
In Settings → Projects, click New project, pick the repository, and click Continue. Aether creates the project and imports the repo in one step.
--repo is optional — when omitted, the CLI shows an interactive picker, which needs --installation-id to list candidates. The command targets your selected project unless you pass one. On success it prints the linked repo, its default branch, and clone URL.
Import runs in a 5-minute-timeout request group to accommodate large clones.

Showing the Linked Repository

link is read-only — it prints the repository currently linked to the project (full name and clone URL), or tells you none is linked. There is no separate link-selection step; linking happens through import.

Exporting Changes

After the agent makes changes, push them back to the linked repo:
Use the push control in the project view, enter a commit message, and confirm.
Export commits the workspace’s changes and pushes them to the linked repo. If the push is rejected because the remote moved (HTTP 409), the CLI offers to force-push; pass --force to skip the prompt. Export also runs in the 5-minute-timeout group.

Inspecting Workspace Git State

git-status reports whether the workspace directory is a git repo and its current branch. tree lists the linked repo’s tree entries (type, path, SHA) at the required --ref. Both target your selected project unless you pass one.

Pull Request Reviews

With a repo linked, Aether can review pull requests on it. A project’s PR review trigger controls when a review task is created automatically — disabled, on_pr_created, or on_every_push. You can also trigger a review on demand by commenting aether review on a pull request, provided the project’s PR-review comment trigger is enabled and you are authorized on the repo. Comments and reviews on a tracked PR can feed back to the agent as follow-ups when the project enables auto-fix PR comments or respond-to-comments. See Automation for the full set of GitHub-driven behaviors and where each setting lives.

Disconnecting GitHub

Disconnecting removes all GitHub App installations and the repo links on your projects. Existing links stop working, and you must reconnect and re-import to resume syncing. --force skips the confirmation prompt.

API

The GitHub endpoints back these CLI commands and the web UI. They are part of the frontend/CLI API surface, not the versioned /v1 API — see the API overview.

Get install URL

GET /auth/github/url

Get status

GET /github/status

List repos

GET /github/repos

Import repo

POST /projects/{id}/github/import

Export changes

POST /projects/{id}/github/export

Get project link

GET /projects/{id}/github/link