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)

  1. Connect GitHub (account-scoped — not per user_id):
Python
  1. Bind repos to an agent (optional — once connected, empty agents inherit the install's repos automatically):
Python

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

LayerWhat it means
GET /api/v2/github-app/*Account-level GitHub App install (selected repos)
Shared with agentsEvery live agent inherits those repos when bindings are empty
Per-run tokenNarrowed to the bound repo_ids, ~1 hour, revoked at teardown
Mode / commandsPer-agent — configure_repo / Configure → Repository

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

Text

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).

Was this page helpful?