Claude in Chrome MCP never connects when Claude Desktop also installed (macOS)

Resolved 💬 4 comments Opened Feb 26, 2026 by jsperson Closed Mar 3, 2026

Description

Claude in Chrome extension (v1.0.56) never establishes MCP connection to Claude Code CLI (v2.1.59) on macOS when Claude Desktop app is also installed, even after following all troubleshooting steps.

Environment

  • Claude Code: 2.1.59
  • Chrome extension: 1.0.56
  • macOS: Darwin 25.3.0
  • Node: v22.17.1
  • Chrome: latest stable
  • Claude Desktop: installed (v1.1.4173)

What happens

  1. Extension installed from Chrome Web Store
  2. claude --chrome launched
  3. /chrome shows Enabled and Extension: Installed
  4. MCP tools (tabs_context_mcp, etc.) always return "Browser extension is not connected"
  5. "Reconnect extension" in /chrome spins and opens claude.ai/new but never completes the handshake

Root cause investigation

Two native messaging host configs exist in ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/:

  • com.anthropic.claude_browser_extension.json — originally pointed to /Applications/Claude.app/Contents/Helpers/chrome-native-host (Claude Desktop)
  • com.anthropic.claude_code_browser_extension.json — points to ~/.claude/chrome/chrome-native-host (Claude Code)

Both configs list the same extension ID (fcoeoabgfenejglbffodgkkbkcdhcgfn) in allowed_origins.

Steps taken

  1. Quit Claude Desktop
  2. Updated com.anthropic.claude_browser_extension.json path to point to Claude Code's native host instead of Desktop's
  3. Restarted Chrome multiple times
  4. Verified native host process runs correctly via Claude Code (cli.js --chrome-native-host)
  5. Verified logged into claude.ai with same account as CLI (first-party OAuth)
  6. Killed stale native host processes and restarted everything fresh
  7. Tried /chrome > "Reconnect extension" — spins, opens claude.ai/new, doesn't connect

None of these resolved the issue. The native host launches but the MCP bridge between the CLI session and the extension never completes.

Expected behavior

MCP tools should connect to the Chrome extension when --chrome is passed and the extension is installed and enabled.

Possibly related

  • #20887 (Chrome extension connects to Desktop instead of Code)

View original on GitHub ↗

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