[Bug] Browser extension connects to Claude.app native host instead of Claude Code
Resolved 💬 2 comments Opened Jan 25, 2026 by HerbCaudill Closed Mar 1, 2026
When both Claude Code and the Claude desktop app are installed, the Chrome extension connects to the Claude.app native host instead of the Claude Code one, breaking Claude Code's browser automation.
Root cause
- Claude.app installs com.anthropic.claude_browser_extension.json
- Claude Code installs com.anthropic.claude_code_browser_extension.json
- Both allow the same extension ID (fcoeoabgfenejglbffodgkkbkcdhcgfn)
- Chrome appears to pick claude_browser_extension (alphabetically first?)
- Claude Code's MCP expects to connect via the socket created by its native host, but the extension connects to Claude.app's host instead
Symptoms
- tabs_context_mcp returns "Browser extension is not connected"
- Extension errors show "Could not establish connection. Receiving end does not exist."
- Native host process shows Claude.app path, not Claude Code path
Workaround
Remove ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json
Expected
Both should coexist, or the extension should connect to whichever Claude instance is active/requesting.
Environment
macOS, Chrome, Claude Code 2.1.19, Claude.app installed
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗