claude-in-chrome extension defaults to Desktop app's native host, never connects to Claude Code CLI

Open 💬 0 comments Opened Jul 15, 2026 by universalbrothers777

Environment: macOS, Google Chrome 150.0.7871.115, Claude Code CLI (--chrome flag), Claude Desktop app also installed

Issue:
The claude-in-chrome browser extension (fcoeoabgfenejglbffodgkkbkcdhcgfn) will not connect to an active Claude Code CLI session. tabs_context_mcp consistently returns "Browser extension is not connected" regardless of troubleshooting steps taken.

Root cause identified:
There are two native messaging host manifests registered for the same extension ID:

  • com.anthropic.claude_browser_extension.json → path: /Applications/Claude.app/Contents/Helpers/chrome-native-host (Desktop app)
  • com.anthropic.claude_code_browser_extension.json → path: ~/.claude/chrome/chrome-native-host (Claude Code CLI)

Every time the extension attempts to connect, Chrome spawns the Desktop app's native host binary (/Applications/Claude.app/Contents/Helpers/chrome-native-host), NOT the Claude Code CLI one — even when the Claude Desktop app is fully quit (verified via ps aux, no Claude.app process running). This happens repeatedly and reproducibly.

Steps to reproduce:

  1. Have both Claude Desktop app and Claude Code CLI (with --chrome) installed
  2. Fully quit Claude Desktop app (verified no process running)
  3. Attempt to use any claude-in-chrome tool (e.g. tabs_context_mcp) from Claude Code CLI
  4. Observe: still "not connected"
  5. Check ps aux | grep chrome-native-host — shows /Applications/Claude.app/Contents/Helpers/chrome-native-host was spawned, not the Claude Code CLI one

Attempted fixes that did NOT resolve it:

  • Toggling extension off/on in chrome://extensions
  • Fully restarting Chrome
  • Fully quitting Claude Desktop app
  • Killing the stray native host process manually (kill -9)
  • Fully uninstalling and reinstalling the Claude extension from claude.ai/chrome

Expected behavior:
When Claude Code CLI is the active session requesting the browser connection, the extension should connect via the claude_code_browser_extension native host, not default to the Desktop app's host — especially when the Desktop app isn't even running.

Impact:
Blocks any workflow using claude-in-chrome tools while Claude Desktop is also installed on the same machine, even if it's not currently open.

View original on GitHub ↗