Chrome MCP: Extension connects to Claude Desktop instead of Claude Code when both are installed
Resolved 💬 6 comments Opened Jan 26, 2026 by patrickzaw Closed Mar 2, 2026
Bug Description
When both Claude Desktop and Claude Code are installed, the Chrome browser extension connects to Claude Desktop's native messaging host instead of Claude Code's, causing the MCP browser tools to fail with "Browser extension is not connected" errors.
Root Cause
Both apps register native messaging hosts with the same extension ID in their allowed_origins:
- Desktop:
com.anthropic.claude_browser_extension→/Applications/Claude.app/Contents/Helpers/chrome-native-host - Code:
com.anthropic.claude_code_browser_extension→/Users/<user>/.claude/chrome/chrome-native-host
The Chrome extension appears to request com.anthropic.claude_browser_extension (Desktop's name), so it always connects to the Desktop app even when using Claude Code CLI.
Reproduction Steps
- Have both Claude Desktop app and Claude Code CLI installed
- Run Claude Code and use any
mcp__claude-in-chrome__*tool - Error: "Browser extension is not connected"
- Check processes:
ps aux | grep chrome-native-host - Observe Desktop's native host is running, not Code's
Workaround
Update the Desktop manifest to point to Claude Code's native host:
# Backup original
cp ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json \
~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json.bak
# Update path to Claude Code
cat > ~/Library/Application\ Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json << 'MANIFEST'
{
"name": "com.anthropic.claude_browser_extension",
"description": "Claude Browser Extension Native Host",
"path": "/Users/<USERNAME>/.claude/chrome/chrome-native-host",
"type": "stdio",
"allowed_origins": [
"chrome-extension://dihbgbndebgnbjfmelmegjepbnkhlgni/",
"chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/",
"chrome-extension://dngcpimnedloihjnnfngkgjoidhnaolf/"
]
}
MANIFEST
# Kill existing Desktop native host process
pkill -f "/Applications/Claude.app/Contents/Helpers/chrome-native-host"
# Restart Chrome
Suggested Fix
The Chrome extension should:
- Detect which Claude product is actively requesting the connection (Desktop vs Code)
- Connect to the appropriate native messaging host
- Or use a single shared native host that routes to the active product
Environment
- macOS Darwin 25.2.0
- Claude Code version: 2.1.19
- Chrome with Claude browser extension installed
- Claude Desktop also installed
This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗