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 摘要。