Claude in Chrome MCP bridge not connecting when Claude.app is also installed
Bug Description
When both Claude.app (desktop) and Claude Code CLI are installed, the Chrome extension's MCP bridge never connects to Claude Code. The extension exclusively connects to com.anthropic.claude_browser_extension (Claude.app's native host) and never spawns com.anthropic.claude_code_browser_extension (Claude Code's native host), leaving the Unix socket unresolved.
Environment
- OS: macOS 15 (Darwin 25.1.0), Apple Silicon
- Claude Code version: 2.1.19
- Claude.app version: 1.1.673
- Chrome extension ID:
fcoeoabgfenejglbffodgkkbkcdhcgfn
Steps to Reproduce
- Have both Claude.app and Claude Code CLI installed
- Run
claude --chromein terminal - Open Chrome — the Claude side panel opens
- Call
tabs_context_mcp→ returns "Browser extension is not connected"
Diagnosis
Two native messaging host manifests exist in ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/:
com.anthropic.claude_browser_extension.json→/Applications/Claude.app/Contents/Helpers/chrome-native-hostcom.anthropic.claude_code_browser_extension.json→~/.claude/chrome/chrome-native-host(wrapper → v2.1.19--chrome-native-host)
Both allow the same extension ID (fcoeoabgfenejglbffodgkkbkcdhcgfn).
Observed behavior:
- Chrome only spawns
com.anthropic.claude_browser_extension(Claude.app host, PID visible inps) com.anthropic.claude_code_browser_extensionis NEVER spawned- The MCP bridge socket (
/var/folders/.../claude-mcp-browser-bridge-<user>) is never created - Debug logs show repeated
ENOENTerrors trying to connect to the missing socket
Verified:
- The Claude Code native host wrapper works when run manually — it creates the socket and listens
- Killing the Claude.app native host does NOT cause Chrome to spawn the Claude Code one
- Disabling
com.anthropic.claude_browser_extension.jsondoes NOT trigger Chrome to use the Code one either - The extension appears to only call
connectNative("com.anthropic.claude_browser_extension")
Expected Behavior
The Chrome extension should connect to com.anthropic.claude_code_browser_extension when claude --chrome is running, creating the Unix socket bridge that allows Claude Code to control the browser.
Relevant Debug Log
[Claude in Chrome] Attempting to connect to: /var/folders/.../claude-mcp-browser-bridge-maximeleboeuf
[Claude in Chrome] Socket not found, will be created by server
[Claude in Chrome] Socket error: Error: connect ENOENT /var/folders/.../claude-mcp-browser-bridge-maximeleboeuf
[Claude in Chrome] Initial socket connection failed: Connection attempt timed out after 5000msThis issue has 3 comments on GitHub. Read the full discussion on GitHub ↗