[BUG] GitHub push permission (403) in Claude Code Remote session - read only despite repo being added as source
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?
I’m using a Claude Code Remote/Cowork session with the GitHub repositories Colt-Action/skill-manager and Colt-Action/skill_manager_v2 added as sources.
Claude can read from both repos fine (git ls-remote, git clone, file reads all work), but every git push and every GitHub API write (e.g. via the GitHub MCP tool push_files) fails with:
403 Resource not accessible by integration (via the API) / 403 from the internal git proxy (git push)
I checked:
• GitHub → Settings → Installed GitHub Apps: no app installed
• GitHub → Settings → Authorized OAuth Apps: nothing relevant
• Organization-level installed apps: not applicable, Colt-Action is a personal account, not an org
• claude.ai → Settings → Connectors → GitHub Integration: reconnected (disconnect + reconnect), no change
• claude.ai → Claude Code environment settings (Update cloud environment dialog): no repo-level read/write permission toggle found there
Could you help me find where write access for this session/environment is configured, or confirm whether this is expected behavior and how to enable push access?
Session/environment context: Claude Code Remote (Cowork), repos added via “add_repo”, branch claude/skill-manager-mvp-caom6x.
What Should Happen?
Claude should be able to git push and write to the connected GitHub repository (read access works fine, write access fails with a 403 error - see Error Messages/Logs below).
Error Messages/Logs
1. Start a Claude Code Remote (Cowork) session with a GitHub repo added as a source (read+write expected)
2. Ask Claude to commit and push a change to the repo
3. git push fails with: fatal: unable to access '...': The requested URL returned error: 403
4. GitHub API write calls (e.g. push_files via the GitHub MCP tool) fail with: 403 Resource not accessible by integration
5. Read access works fine (git ls-remote, git clone, file reads all succeed)
Steps to Reproduce
git push:
fatal: unable to access 'http://127.0.0.1:41729/git/<owner>/<repo>/': The requested URL returned error: 403
GitHub API (via MCP push_files):
failed to initialize repository: failed to create initial file: PUT https://api.github.com/repos/<owner>/<repo>/contents/README.md: 403 Resource not accessible by integration []
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Claude Code Remote (Web session)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
4 Comments
Same issue here — Claude Code Remote session, repo jorgeagsantoy-svg/index.html (and a brand-new repo app-leads-linkedin created specifically to rule out per-repo permissions). Same 403 "Resource not accessible by integration" via both git push and GitHub MCP tools (push_files, create_or_update_file). Reconnecting the GitHub connector didn't help either.
Same issue here. Confirmed read-only across every write path tested:
Disconnecting and reconnecting the GitHub connector (Settings → Connectors) did not help — same error immediately after reconnecting.
On the GitHub side: nothing shows up under github.com/settings/installations (Installed GitHub Apps) or Authorized OAuth Apps tied to Claude/Anthropic, so there's nothing for the account owner to grant/adjust permissions on.
Repo: public repo on a personal GitHub account.
Hi rodrigo,
thank you for helping me, but until now it did not work, correct?
Anything I can do now?
Sent with Proton Mail secure email.
On Friday, 24 July 2026 at 5:04 PM, rodrigolagnraux-alt @.***> wrote:
Confirming this on another repo — same symptoms, same dead ends. Adding two
data points that weren't in the thread yet:
Environment: Claude Code on the web (cloud/remote session), repo
thothage1/unshakeable-financial-website(public, personal account, notan org). Container version 2.1.238.
Same failure signature:
git push→fatal: unable to access '...': 403push_files/create_branch→ `403 Resource not accessibleby integration`
New finding #1 — the account-level tooling actively contradicts the 403.
This session's own repo-listing tool reports
"can_push": truefor theexact repo the push fails on. So whatever grants that flag isn't the same
credential actually used for the git/API write path.
New finding #2 — checked all three GitHub authorization surfaces, not
just two. In addition to "Installed GitHub Apps" (empty) and "Authorized
OAuth Apps" (a "Claude" entry with only identity-level permissions, no
repo scope), I also checked "Authorized GitHub Apps" — a third,
separate tab under github.com/settings/applications. It does show a
"Claude" entry (developed by anthropics), but its detail page explicitly
says "Claude has not been installed on any accounts you have access to,"
and its description identifies it as the PR/Issues auto-response
integration (Claude Code GitHub Actions), unrelated to the web session
integration. So all three surfaces are dead ends, not just the two
mentioned above.
Also tried revoking the OAuth grant and forcing a fresh reconnect via
claude.ai/customize/connectors?auth_start=github&auth_start_force=1—no new consent screen appeared, and push still failed identically after.
Would be great to get a maintainer read on where write-scope provisioning
for these sessions is actually supposed to happen, since none of the
obvious GitHub-side settings represent it.