Chrome integration: MCP server does not connect to browser bridge socket

Resolved 💬 4 comments Opened Mar 11, 2026 by EyanGoldman Closed Apr 8, 2026

Description

claude --chrome starts correctly and the chrome MCP tools appear in the tool list, but mcp__claude-in-chrome__tabs_context_mcp always returns "Browser extension is not connected." The internal MCP server never connects to the bridge socket created by the native host.

Environment

  • Claude Code version: 2.1.72
  • OS: macOS Darwin 25.2.0 (Apple Silicon)
  • Chrome extension: installed, authenticated, browserControlPermissionAccepted: true
  • Node: v22.20.0

Diagnostic Findings

  1. Native messaging workschrome.runtime.sendNativeMessage("com.anthropic.claude_code_browser_extension", {type: "ping"}) returns {type: "pong"} successfully from the extension service worker console.
  1. Native host spawns correctly — When using the com.anthropic.claude_code_browser_extension manifest, the native host runs via Claude Code path:

``
node .../@anthropic-ai/claude-code/cli.js --chrome-native-host
``

  1. Bridge socket is created — The native host creates a Unix socket at /tmp/claude-mcp-browser-bridge-<user>/<pid>.sock
  1. Claude Code never connectslsof -U | grep claude-mcp-browser only shows the native host process listening on the socket. No Claude Code node process connects to it as a client.
  1. Both --chrome and fresh sessions tested — Tried claude --chrome with new sessions (not resumed). Same result.

Additional Context

  • Had to rename com.anthropic.claude_browser_extension.json (Claude Desktop manifest) to .bak because Chrome preferentially spawns Claude Desktop native host instead of Claude Code's. After renaming, the correct native host spawns but the connection still fails.
  • The Chrome extension storage shows valid accessToken, refreshToken, bridgeDeviceId, and chrome_ext_bridge_enabled: true.

Steps to Reproduce

  1. Install Claude browser extension in Chrome
  2. Ensure logged into claude.ai with same account
  3. Run claude --chrome
  4. Call mcp__claude-in-chrome__tabs_context_mcp — always returns "Browser extension is not connected"

Expected Behavior

Claude Code MCP server should connect to the bridge socket and successfully communicate with the Chrome extension.

View original on GitHub ↗

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