Claude in Chrome: MCP bridge fails to connect despite correct native messaging setup

Resolved 💬 3 comments Opened Feb 19, 2026 by kriops Closed Feb 23, 2026

Bug Description

The Claude in Chrome MCP server fails to connect to the Chrome extension, despite the extension showing "Connected" in its popup and all native messaging host configuration being correct.

Environment

  • Claude Code version: 2.1.47 (installed via Homebrew cask on macOS)
  • OS: macOS Darwin 25.3.0 (Apple Silicon)
  • Browser: Google Chrome (latest)
  • Extension: Claude in Chrome (installed from Chrome Web Store)

Steps to Reproduce

  1. Install Claude in Chrome extension
  2. Run /chrome in Claude Code session (or claude --chrome)
  3. Extension popup shows "Connected"
  4. Any MCP tool call (e.g. tabs_context_mcp) returns "Browser extension is not connected"

Debugging Details

Native messaging host config exists and is correct

~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json:

{
  "name": "com.anthropic.claude_code_browser_extension",
  "description": "Claude Code Browser Extension Native Host",
  "path": "/Users/<user>/.claude/chrome/chrome-native-host",
  "type": "stdio",
  "allowed_origins": [
    "chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/"
  ]
}

Native host script exists and is executable

~/.claude/chrome/chrome-native-host:

#!/bin/sh
exec "/opt/homebrew/Caskroom/claude-code/2.1.47/claude" --chrome-native-host

Native host runs correctly when invoked manually

[Claude Chrome Native Host] Initializing...
[Claude Chrome Native Host] Creating socket listener: /tmp/claude-mcp-browser-bridge-<user>/<pid>.sock
[Claude Chrome Native Host] Socket server listening for connections
[Claude Chrome Native Host] Socket permissions set to 0600

No native host process running during Chrome session

ps aux | grep claude-in-chrome returns no results, suggesting Chrome is not launching the native host despite the extension showing "Connected".

Socket directory

/tmp/claude-mcp-browser-bridge-<user>/ only contains sockets from manual test runs, not from Chrome-initiated connections.

What was tried

  • Restarting Chrome (full Cmd+Q quit and reopen) multiple times
  • Running /chrome in Claude Code session
  • Running claude --chrome
  • Using switch_browser MCP tool
  • Cleaning up stale sockets
  • Updating Claude Code to latest version
  • Verifying extension is enabled and shows "Connected" in popup
  • Verifying same account is used in both CLI and browser

Expected Behavior

MCP tools should successfully connect to the Chrome extension and return tab context.

Actual Behavior

All MCP tool calls return: "Browser extension is not connected."

The native host process is never spawned by Chrome, suggesting the native messaging handshake between Chrome and the extension isn't triggering the host.

View original on GitHub ↗

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