
关于
诊断和修复 Claude in Chrome MCP 扩展连接问题。当 mcp__claude-in-chrome__* 工具失败或返回错误时使用。
name: claude-in-chrome-troubleshooting description: 诊断和修复 Claude in Chrome MCP 扩展连接问题。当 mcp__claude-in-chrome__* 工具失败、返回"Browser extension is not connected"或行为异常时使用。 risk: critical source: community
Claude in Chrome MCP 故障排除
当 Claude in Chrome MCP 工具无法连接或工作不稳定时使用此技能。
何时使用
mcp__claude-in-chrome__*工具失败并提示 "Browser extension is not connected"- 浏览器自动化工作不稳定或超时
- 更新 Claude Code 或 Claude.app 之后
- 在 Claude Code CLI 和 Claude.app (Cowork) 之间切换时
- 原生宿主进程正在运行但 MCP 工具仍然失败
何时不使用
- Linux 或 Windows 用户 - 此技能仅涵盖 macOS 特定路径和工具(
~/Library/Application Support/、osascript) - 与 Claude 扩展无关的一般 Chrome 自动化问题
- Claude.app 桌面问题(非浏览器相关)
- 网络连接问题
- Chrome 扩展安装问题(请使用 Chrome Web Store 支持)
Claude.app 与 Claude Code 冲突(主要问题)
背景: 当 Claude.app 添加 Cowork 支持(从桌面应用进行浏览器自动化)时,引入了一个与 Claude Code CLI 冲突的竞争性原生消息宿主。
两个原生宿主,两种 Socket 格式
| 组件 | 原生宿主二进制文件 | Socket 位置 |
|-----------|-------------------|-----------------|
| Claude.app (Cowork) | /Applications/Claude.app/Contents/Helpers/chrome-native-host | /tmp/claude-mcp-browser-bridge-$USER/<PID>.sock |
| Claude Code CLI | ~/.local/share/claude/versions/<version> --chrome-native-host | $TMPDIR/claude-mcp-browser-bridge-$USER(单文件) |
冲突原因
-
两者都在 Chrome 中注册原生消息配置:
com.anthropic.claude_browser_extension.json→ Claude.app 助手com.anthropic.claude_code_browser_extension.json→ Claude Code 包装器
-
Chrome 扩展按名称请求原生宿主
-
如果激活了错误的配置,就会运行错误的二进制文件
-
错误的二进制文件会在 MCP 客户端不期望的格式/位置创建 socket
-
结果:即使一切看起来正在运行,仍显示 "Browser extension is not connected"
修复方法:禁用 Claude.app 的原生宿主
如果你使用 Claude Code CLI 进行浏览器自动化(非 Cowork):
# 禁用 Claude.app 原生消息配置
mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json \
~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json.disabled
# 确保 Claude Code 配置存在并指向包装器
cat ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json
如果你使用 Cowork (Claude.app) 进行浏览器自动化:
# 禁用 Claude Code 原生消息配置
mv ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json \
~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json.disabled
两者不能同时使用。 选择一个并禁用另一个。
切换脚本
添加到 ~/.zshrc 或直接运行:
chrome-mcp-toggle() {
local CONFIG_DIR=~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts
local CLAUDE_APP="$CONFIG_DIR/com.anthropic.claude_browser_extension.json"
local CLAUDE_CODE="$CONFIG_DIR/com.anthropic.claude_code_browser_extension.json"
if [[ -f "$CLAUDE_APP" && ! -f "$CLAUDE_APP.disabled" ]]; then
# 当前使用 Claude.app,切换到 Claude Code
mv "$CLAUDE_APP" "$CLAUDE_APP.disabled"
[[ -f "$CLAUDE_CODE.disabled" ]] && mv "$CLAUDE_CODE.disabled" "$CLAUDE_CODE"
echo "已切换到 Claude Code CLI"
echo "重启 Chrome 和 Claude Code 以生效"
elif [[ -f "$CLAUDE_CODE" && ! -f "$CLAUDE_CODE.disabled" ]]; then
# 当前使用 Claude Code,切换到 Claude.app
mv "$CLAUDE_CODE" "$CLAUDE_CODE.disabled"
[[ -f "$CLAUDE_APP.disabled" ]] && mv "$CLAUDE_APP.disabled" "$CLAUDE_APP"
echo "已切换到 Claude.app (Cowork)"
echo "重启 Chrome 以生效"
else
echo "当前状态不明确。检查配置:"
ls -la "$CONFIG_DIR"/com.anthropic*.json* 2>/dev/null
fi
}
用法:运行 chrome-mcp-toggle 然后重启 Chrome(如果切换到 CLI 还需重启 Claude Code)。
快速诊断
# 1. 哪个原生宿主二进制文件正在运行?
ps aux | grep chrome-native-host | grep -v grep
# Claude.app: /Applications/Claude.app/Contents/Helpers/chrome-native-host
# Claude Code: ~/.local/share/claude/versions/X.X.X --chrome-native-host
# 2. Socket 在哪里?
# Claude Code(TMPDIR 中的单文件):
ls -la "$(getconf DARWIN_USER_TEMP_DIR)/claude-mcp-browser-bri