Coding Agents
A coding agent works in a real GitHub repository: clone, install, run the repo's own tests, push a branch under m8tes/…, open a pull request, and watch CI. It uses the same sandbox as every other run, plus a short-lived GitHub credential narrowed to the repos your install can see.
API first. Setup is on
/api/v2+ the Python SDK. The Platform Apps page and Mate Configure row call the same account install and per-agent repo APIs.
Setup (API / SDK)
- Connect GitHub (account-scoped — not per
user_id):
- Bind repos to an agent (optional — once connected, empty agents inherit the install's repos automatically):
Trusted is local-Claude-Code parity for your own repos (push/merge gated by the agent's permission mode). Guarded never merges, requires branch protection, and keeps setup/test/lint commands inert until you approve them via approve_repo_commands.
Setup (Platform)
Same model, browser UI: Apps → connect GitHub, then optionally Configure → Repository on a Mate for mode / command approval.
How access works
To revoke GitHub for the whole account: client.github_app.disconnect() or disconnect under Apps.
Multi-tenant user_id
Installs and MateRepo bindings are account-scoped. Runs created with user_id (end-user isolation) do not receive the account's repo-write credential (prepare_coding_run skips them). Per-tenant coding installs are not shipped yet.
White-label GitHub App credentials under Channels (upsert_identity with channel=github) are a different surface — branding and inbound webhooks for your own App, not the coding-repo grant described here.
What to run
Skills the agent loads when a repo is available: setting-up-a-repo (first-run toolchain) and working-in-a-repo (fix → test → push → PR).
Related
- Computer use — desktop/browser in the same sandbox
- Agents — creating and running agents
- Users —
user_idisolation - Human-in-the-loop — permission modes that gate merges and shell
- API reference —
github-appandagents/{id}/repos
