anthropics / anthropics/claude-code
Claude in Chrome: site-approval prompt never fires for Claude Code MCP channel — every site permanently blocked (side-panel approvals don't propagate)
- Vorherrschende Sprache
- Python
- Sterne
- 145k
- Forks
- 23.1k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
## Summary
Every `mcp__claude-in-chrome__*` call that touches a page fails with `This site is blocked by your site permissions` for **every** site (including google.com), and no site-approval prompt ever appears — not in the terminal (any permission mode), not in the browser. The extension's settings page shows "Your approved sites: No sites have been approved yet" with no way to add sites manually. Approving a site via the claude.ai **side panel** does not propagate to the Claude Code MCP channel.
## Environment
- Claude Code 2.1.263, Linux (Ubuntu 26.04, kernel 7.0.0-31), Wayland
- Google Chrome 152.0.7977.82
- Claude in Chrome extension v1.0.90 (bug reproduced again after full uninstall + fresh reinstall)
- Extension paired correctly (`chromeExtension.pairedDeviceId` in `~/.claude.json` matches `list_connected_browsers`)
## What we ruled out (all attempted, in order)
1. Chrome-level Site access set to "On all sites" — no change.
2. Extension settings reviewed — "Your approved sites" empty, no add UI.
3. **Native-host conflict found and fixed**: Claude Desktop's `com.anthropic.claude_browser_extension.json` also listed this extension's ID in `allowed_origins`; the extension had bound to the Desktop host with no Desktop app running (hung pipe — side panel *and* MCP both dead, side panel reporting "every browser tool call is failing"). Removed the extension ID from the Desktop manifest; after extension reload it correctly bound to `claude --chrome-native-host`. This fixed the hung-pipe failures but **not** the site-permission block. (Suggestion: the extension should not bind to a native host whose app isn't running, and two Anthropic products claiming the same extension ID deserves a doc note.)
4. `/chrome` → Reconnect extension — connects fine; block persists.
5. Permission modes: bypass/auto, default, manual — no approval prompt fires in any mode; the error returns instantly.
6. Full extension uninstall, Chrome restart (verified real restart, not background-mode), fresh install from claude.ai/chrome — clean install binds to the correct native host immediately, same block.
7. User approved the site in the **side panel** (claude.ai surface, same email) — side panel works, but the MCP channel still returns the same error, so the two surfaces appear to keep separate site-permission stores with no prompt path on the Claude Code side.
## Expected
First state-changing browser action triggers a site-approval prompt (terminal or extension), and approvals are visible/manageable in the extension's "approved sites" list.
## Actual
No prompt ever fires on the Claude Code channel; every site is permanently blocked; the approved-sites list is unpopulatable from the user's side.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Start with the `/chrome` reconnect flow and `list_connected_browsers`, then trace the MCP site's permission check across the Claude Code channel and the browser extension. Use `~/.claude.json` and `com.anthropic.claude_browser_extension.json` to reproduce the pairing and native-host setup. Done means a first state-changing action prompts for approval and an approval appears in the extension's approved-sites list and works through MCP.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Bereich
- api, cli, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100