Reference · Anthropic · updated 27 September 2026

How Claude Code (cloud and GitHub Actions) connects to GitHub

Credentials never enter the VM; a server-side proxy attaches them. Here is what its public documentation says about authentication, commit attribution, the sandbox it runs in, how you hand it work, and the limits you will hit.

AuthOn the web: the Claude GitHub App, or your own gh token via /web-setup. Credentials never enter the sandbox VM; a server-side GitHub proxy attaches them per request. In GitHub Actions it runs as the Claude GitHub App with an all-or-nothing set of 11 permissions unless you pass a github_token.
AttributionThe CLI adds a Co-Authored-By: Claude trailer by default. Users have filed opt-out and mis-attribution issues. PR auto-fix replies are posted from your own GitHub account, labeled as coming from Claude Code.
SandboxAn isolated Anthropic-managed VM with a network allowlist, or a GitHub-hosted Actions runner.
Task intakeclaude.ai/code, the mobile app, claude --cloud, an @claude mention, Actions events and cron, routines, and PR auto-fix subscribed to GitHub events.
LimitsRate limits are shared with all of your Claude usage. Event-driven auto-fix depends on GitHub's Events API, whose latency the docs describe as anywhere from 30 seconds to 6 hours.

Where it hurts

Every cloud agent in this series invents its own identity and attribution model, because the host gives them nothing to stand on. The consequences are the same across vendors: agents share a person's token or an org-wide app installation, so a fleet hits secondary rate limits as one user; attribution lives in free-text trailers the host never reads; and rules like "a human must approve changes under this path" are left to the agent to enforce on itself.

What githug Gateway changes

Running Claude Code (cloud and GitHub Actions) against a real repo?

Paste this to your coding agent. A human approves one code on github.com; the agent does the rest.

Set up githug for owner/repo: run `curl -fsSL https://githug.ai/install | sh`, then `hug init --repo owner/repo --json`. Show me any code or link it prints and wait for it to finish.

Quickstart · Set it up yourself · free during the beta

Sources

Other agents in this series