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)

未關閉
#92,571 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
area:chrome area:mcp bug platform:linux
主要語言
Python
星號
145k
分支
23.1k
PR 合併指標
PR 指標待擷取

描述

## 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.

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

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.

由索引模型根據 Issue 內容生成。

評估

領域
api, cli, tooling
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
活躍
描述清晰度
基本清楚
新手友好度
38/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。