GitHub Integration connector grants OAuth access but all write operations fail with "403 Resource not accessible by integration"
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
After connecting the GitHub Integration connector (claude.ai → Settings → Connectors), Claude Code sessions can read from a repository (nilshil-ai/Projekt-YT) but every write operation — via git push, the GitHub content-write API, and even an unrelated admin-read endpoint — fails with 403 Resource not accessible by integration. This persists even after a full disconnect, revoke on GitHub's side, and fresh OAuth re-authorization. Blocks all git push / file-write operations from Claude Code sessions to this repository, despite the integration appearing fully connected and the account having full underlying GitHub permissions. Makes it impossible for the assigned session to commit work back to the user's repo without a manual workaround (creating files directly through github.com).
What Should Happen?
Since the connector shows as "Connected" and the account has full push rights to the repo (confirmed via can_push: true in the list_repos tool's response for this exact repo), write operations initiated by the session should succeed.
Error Messages/Logs
403 Resource not accessible by integration
Steps to Reproduce
- Create a new, empty public GitHub repository under a personal account.
- In a Claude Code session, connect the GitHub Integration connector (claude.ai → Settings → Connectors) and give it access to that repository.
- Attempt to write a file to the new repo — either via git push (through the session's local git proxy) or via the GitHub MCP tool create_or_update_file / push_files, targeting a new branch.
- Observe the write fails with 403 Resource not accessible by integration.
- Disconnect the GitHub Integration connector, revoke it on GitHub's side too (github.com/settings/applications → Authorized OAuth Apps/GitHub Apps tab → Revoke), then reconnect from claude.ai's Connectors panel and complete the fresh OAuth "Authorize" prompt.
- Retry step 3 — the write still fails with the identical 403 Resource not accessible by integration, with no change in behavior.
Claude Model
Sonnet (default)
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.218 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
Showing cached comments. Read the full discussion on GitHub ↗
3 Comments
Confirming the same issue on my end (private repo, personal use). Additional diagnostic data point: checked github.com/settings/installations — no GitHub App is installed at all (there isn't one to install; Marketplace only shows GitHub Actions for Claude/Anthropic). "Claude" only appears under Authorized OAuth Apps. Revoked there directly and reconnected — no scope-selection screen appeared on reauthorization, so there's no way to confirm or request broader scope. Every write path (git push, branch creation, content API) 403s identically, same as reported here.
Hitting the same issue on a Claude Code web session (personal account, repo
TillBerlin/Stop-Light-Cars). Read access works fine (get_me,list_branches,get_file_contents, git fetch), every write path fails:git pushthrough the session's local git relay:fatal: unable to access '.../TillBerlin/Stop-Light-Cars/': The requested, with the relay's own message beingURL returned error: 403
Permission to TillBerlin/Stop-Light-Cars.git denied to TillBerlin— i.e.permission denied to the repo owner's own account.
mcp__github__push_files/mcp__github__create_branch:403 Resource not accessible by integrationonPOST /repos/.../git/refs.Disconnecting and reconnecting the connector didn't help.
One extra data point that might narrow this down: on GitHub's side,
github.com/settings/installations("Installed GitHub Apps") shows noClaude entry at all for my account — Claude only appears under
github.com/settings/apps/authorizations("Authorized GitHub Apps"), whichis revoke-only with no repo/permission picker. A separate GitHub App
(OpenAI's Codex) on the same account does show up under Installed GitHub
Apps with a working Configure button and repo-scoped write permissions. That
suggests the Claude connector, for at least some accounts, is completing an
OAuth authorization but never an actual GitHub App installation —
which would explain why the token has no
contents: write/git refsscope no matter how many times it's reconnected.
+1, hitting the same thing on a different (private, personal account) repo. Connector shows "Connected" and GitHub confirms full push rights on the repo, but every write — git push through the session's proxy and the content-write API — returns 403 Resource not accessible by integration; reads work fine. Tried disconnecting the connector, revoking access on GitHub's side, and reconnecting with a fresh OAuth authorization — identical error, no change. Current workaround: creating/updating files manually through github.com. Still reproducing as of early August 2026.