Claude-in-Chrome: Browser extension not connected despite correct setup

Resolved 💬 3 comments Opened Feb 28, 2026 by mdietrich Closed Mar 3, 2026

Description

The claude-in-chrome MCP tools consistently return "Browser extension is not connected" despite all infrastructure being correctly configured and functional.

Environment

  • Claude Code version: 2.1.63
  • macOS Darwin 25.2.0 (Apple Silicon)
  • Chrome with Claude extension installed (fcoeoabgfenejglbffodgkkbkcdhcgfn)
  • Claude Desktop app also installed (1.1.3963)

Root Cause Analysis

After extensive debugging, the server-side feature flag tengu_chrome_auto_enable is set to false in cachedGrowthBookFeatures. Even when manually overriding it to true in ~/.claude.json, it gets reverted to false on every Claude Code startup by the server.

Other local config values suggest chrome should be enabled:

  • hasCompletedClaudeInChromeOnboarding: true
  • cachedChromeExtensionInstalled: true
  • claudeInChromeDefaultEnabled: true

What was verified

  1. Chrome extension installed and enabled in chrome://extensions/
  2. Native Messaging Host config correctly points to Claude Code's binary (~/.claude/chrome/chrome-native-host)
  3. Native host process starts successfully (claude 2.1.63 --chrome-native-host) when extension is loaded
  4. Unix socket created at /tmp/claude-mcp-browser-bridge-mdietrich/<PID>.sock
  5. Socket is connectable (verified with manual Python test)
  6. Chrome was fully restarted multiple times
  7. Extension was reloaded multiple times
  8. All other Claude Code sessions were terminated (was running 12 sessions)
  9. A stale claude --chrome process (v2.1.50) was killed
  10. Claude Desktop was quit (it was intercepting the native host connection via com.anthropic.claude_browser_extension config pointing to /Applications/Claude.app/Contents/Helpers/chrome-native-host)

Additional issue found

When both Claude Desktop and Claude Code are installed, the Chrome extension connects to Claude Desktop's native messaging host (com.anthropic.claude_browser_extension) instead of Claude Code's (com.anthropic.claude_code_browser_extension), because both configs allow the same extension ID. The Claude Desktop native host binary runs but creates a socket that Claude Code doesn't connect to. This required manually changing the path in com.anthropic.claude_browser_extension.json to point to Claude Code's wrapper script.

Workaround

The chrome-devtools MCP server works correctly as an alternative for browser automation.

Expected behavior

mcp__claude-in-chrome__tabs_context_mcp should successfully connect to the Chrome browser extension when the native host is running and the socket is available.

Actual behavior

Every call returns: "Browser extension is not connected. Please ensure the Claude browser extension is installed and running..."

The tengu_chrome_auto_enable feature flag appears to prevent the connection from being established, and it cannot be overridden locally.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗