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)
- Ngôn ngữ chính
- Python
- Star
- 145k
- Fork
- 23.1k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
## 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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Lĩnh vực
- api, cli, tooling
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 38/100