Claude-in-Chrome: connection fails when Claude Desktop installed despite disabling Desktop's native host (macOS)
Description
claude-in-chrome MCP tools consistently return "Browser extension is not connected" despite all local infrastructure being correctly configured and functional. Claude Desktop is also installed on the system.
Environment
- Claude Code version: 2.1.76
- OS: macOS Darwin 24.5.0 (Apple Silicon)
- Chrome extension ID:
fcoeoabgfenejglbffodgkkbkcdhcgfn - Claude Desktop: installed
What was verified
| Component | Status |
|-----------|--------|
| Chrome extension installed & enabled | ✅ Confirmed in chrome://extensions/ |
| Extension ID matches | ✅ fcoeoabgfenejglbffodgkkbkcdhcgfn |
| Native host binary exists & executable | ✅ ~/.claude/chrome/chrome-native-host |
| Native host process running | ✅ PID 82420 (claude 2.1.76 --chrome-native-host) |
| Unix socket created | ✅ /tmp/claude-mcp-browser-bridge-*/82420.sock |
| hasCompletedClaudeInChromeOnboarding | ✅ true |
| cachedChromeExtensionInstalled | ✅ true |
| Desktop native host disabled | ✅ Renamed to .disabled |
| External Extensions policy | ✅ Not present (no force-install) |
Root cause: tengu_chrome_auto_enable feature flag
The server-side GrowthBook feature flag tengu_chrome_auto_enable is set to false:
{
"cachedGrowthBookFeatures": {
"tengu_chrome_auto_enable": false
},
"claudeInChromeDefaultEnabled": true,
"hasCompletedClaudeInChromeOnboarding": true,
"cachedChromeExtensionInstalled": true
}
Manually setting tengu_chrome_auto_enable: true and claudeInChromeDefaultEnabled: true in ~/.claude.json does not resolve the issue — the flag appears to be enforced server-side regardless of local overrides.
What was tried (none helped)
- ✅ Disabled Claude Desktop's native messaging host (
com.anthropic.claude_browser_extension.json→.disabled) - ✅ Restarted Chrome (multiple times)
- ✅ Restarted Claude Code CLI (multiple times)
- ✅ Ran
/chromereconnect command - ✅ Manually set
tengu_chrome_auto_enable: truein~/.claude.json - ✅ Manually set
claudeInChromeDefaultEnabled: truein~/.claude.json - ✅ Verified same account on both CLI and claude.ai in Chrome
What was NOT tried (and why)
The workaround from #24593 (set Chrome as default browser → /login → re-auth) requires changing the default browser from Safari to Chrome, which is a significant disruption to the user's workflow. This should not be necessary for the feature to work.
Expected behavior
mcp__claude-in-chrome__tabs_context_mcp should connect to the Chrome extension when the native host is running and the socket is available, regardless of whether Claude Desktop is also installed.
Actual behavior
Every call returns: "Browser extension is not connected. Please ensure the Claude browser extension is installed and running..."
Related issues
- #29057 (main tracked issue — still OPEN)
- #24593 (workaround found but requires changing default browser)
- #24539 (Desktop/Code native host conflict)
- #29528 (closed as duplicate of #29057)
- #33483 (Desktop conflict)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗