anthropics / anthropics/claude-ai-mcp
GitHub connector: all reads succeed, all writes fail with "403 Resource not accessible by integration"
- Langage dominant
- Aucune donnée de langage
- Étoiles
- 471
- Forks
- 76
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
### What happened?
The GitHub connector added from the claude.ai Connectors directory authorizes
successfully and all read operations work, but every write operation fails with:
403 Resource not accessible by integration
This is not limited to one API scope. Writes fail identically across unrelated
endpoints, which suggests the integration is granted no write permissions at
all rather than an incorrect subset.
Works:
| Tool | Endpoint | Result |
|---|---|---|
| get_me | GET /user | returns correct account |
| search_repositories | GET /search/repositories | returns the repo |
| get_file_contents | GET /repos/{o}/{r}/contents/{path} | returns file contents |
Fails:
| Tool | Endpoint | Result |
|---|---|---|
| create_or_update_file | PUT /repos/{o}/{r}/contents/{path} | 403 |
| push_files | POST /repos/{o}/{r}/git/trees | 403 |
| issue_write | POST /repos/{o}/{r}/issues | 403 |
Contents and Issues are separate permission scopes on GitHub. Both failing with
the same error points at a missing write grant rather than a misconfigured one.
### What did you expect to happen?
With the connector showing as connected, and the authenticating account owning
the target repository with can_push: true, write operations should succeed —
creating and updating files, and creating issues.
### Steps to reproduce
1. Add the GitHub connector from the claude.ai Connectors directory and
complete the OAuth authorization.
2. Ask Claude to read a file from a repository you own. Succeeds.
3. Ask Claude to create or update any file in that repository.
Fails with 403 Resource not accessible by integration.
4. Ask Claude to create an issue in the same repository. Fails identically.
Reproduced on both the Claude Android app and claude.ai web.
Claude Android app and claude.ai web — same result on both.
Connector: GitHub, from the claude.ai Connectors directory.
Repository: personal, owned by the authenticating account, can_push: true.
**Setup**
- Connector: GitHub, added via claude.ai custom connector
(`https://api.githubcopilot.com/mcp/`)
- Client: Claude mobile (Android) and claude.ai web — same result on both
- Repo: personal, public, owned by the authenticating account
- Account has `can_push: true` on the repo
### Area
MCP Connector (adding/managing servers)
### MCP Server (if applicable)
https://api.githubcopilot.com/mcp/
### Error messages or logs
```shell
403 Resource not accessible by integration []
```
### Additional context
Things tried, none of which changed the result:
1. Disconnect and reconnect the connector.
2. Revoke authorization on GitHub's side (github.com/settings/applications),
then re-authorize fresh.
3. Remove the connector entirely and add it again as a new integration.
4. Set all connector tools to "allow always" in Claude's tool permissions.
Client-side, so not expected to matter — noted for completeness.
5. Created a fine-grained PAT scoped to the single repo with Contents:
Read and write. The connector setup provides no field to supply a token,
so this could not be applied.
Impact: the connector is effectively read-only. Workflows where Claude
maintains files in a repository fall back to manual copy-paste, or to a
self-hosted MCP server calling the GitHub REST API with a PAT directly.
That workaround succeeds, which confirms the token path is fine and the
problem sits in the permissions granted to the integration.
Related: possibly the same root cause as anthropics/claude-code#80874, which
was closed by its own reporter without a fix comment or linked change. That
report was from Claude Code on macOS; this one is from claude.ai connectors
on Android and web, so the failure spans both clients.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Évaluation
Cette issue n'a pas encore été évaluée.