anthropics / anthropics/claude-ai-mcp

GitHub connector: all reads succeed, all writes fail with "403 Resource not accessible by integration"

Ouverte
#822 5 commentaires 2 réactions 0 personnes assignées Voir sur GitHub
bug
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.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.