Claude in Chrome MCP never connects despite native host running correctly

Resolved 💬 3 comments Opened Mar 2, 2026 by trygvea Closed Mar 6, 2026

Environment:

  • Claude Code: 2.1.63
  • Claude in Chrome extension: 1.0.56
  • Chrome: 145.0.7632.117
  • macOS Darwin 24.1.0
  • 3 Chrome profiles, extension installed in Default profile only

Problem:
mcp__claude-in-chrome__tabs_context_mcp always returns "Browser extension is not connected" even though the native messaging host is running and its Unix socket is reachable.

Root cause investigation:

  1. Initially, Chrome was routing native messaging to /Applications/Claude.app/Contents/Helpers/chrome-native-host (Claude desktop app) instead of Claude Code's handler, because both com.anthropic.claude_browser_extension.json and

com.anthropic.claude_code_browser_extension.json in ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/ list the same extension ID (fcoeoabgfenejglbffodgkkbkcdhcgfn).

  1. After renaming the desktop app's config to .bak and restarting Chrome, the native host correctly runs as: /Users/<user>/.local/share/claude/versions/2.1.63 --chrome-native-host
  2. The socket at /tmp/claude-mcp-browser-bridge-<user>/<pid>.sock exists and is connectable (verified with Python socket.connect()).
  3. The Claude tab group appears in Chrome, confirming the extension is communicating with the native host.
  4. Despite all of this, the MCP server inside Claude Code never establishes a connection. Restarting Chrome, the extension, and Claude Code (in various combinations) does not help.

Steps to reproduce:

  1. Have both Claude desktop app and Claude Code installed (both register native messaging hosts for the same extension ID)
  2. Remove/rename the desktop app's native messaging host config
  3. Restart Chrome so the Claude Code native host is used
  4. Start Claude Code and call any claude-in-chrome tool

Expected: MCP connects to the running native host via the Unix socket
Actual: Always returns "Browser extension is not connected"

View original on GitHub ↗

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