claude-in-chrome MCP server never connects to native host socket (macOS)
Bug Description
The built-in claude-in-chrome MCP server shows as "connected" in /mcp, but all tool calls return "Browser extension is not connected." The MCP server never connects to the Unix socket created by the native messaging host.
Environment
- Claude Code CLI: 2.1.79
- Claude in Chrome extension: 1.0.62
- Claude Desktop: Installed at
/Applications/Claude.app/(not running) - OS: macOS (Darwin 25.3.0)
- Chrome: Latest
Root Cause Investigation
Native messaging host conflict (partially resolved)
Both Claude Desktop and Claude Code register native messaging hosts for the same Chrome extension ID (fcoeoabgfenejglbffodgkkbkcdhcgfn):
com.anthropic.claude_browser_extension→ Claude Desktop (/Applications/Claude.app/Contents/Helpers/chrome-native-host)com.anthropic.claude_code_browser_extension→ Claude Code (/Users/ryan/.claude/chrome/chrome-native-host)
Chrome uses the Desktop host (com.anthropic.claude_browser_extension), not the Code one. This is the same issue as #20887.
Applied workaround — still doesn't work
Updated Desktop's native messaging manifest to point to Claude Code's binary:
{
"name": "com.anthropic.claude_browser_extension",
"path": "/Users/ryan/.claude/chrome/chrome-native-host",
...
}
After toggling the extension, the native host now runs from Claude Code's binary:
PID 3345: /Users/ryan/.local/share/claude/versions/2.1.79 --chrome-native-host
It creates a socket and listens:
$ ls /tmp/claude-mcp-browser-bridge-ryan/
3345.sock
$ lsof /tmp/claude-mcp-browser-bridge-ryan/3345.sock
COMMAND PID USER FD TYPE NAME
2.1.79 3345 ryan 4u unix /tmp/claude-mcp-browser-bridge-ryan/3345.sock
The actual bug: MCP server never connects to the socket
Claude Code CLI (PID 3645) has multiple unix sockets open but none are connected to the bridge socket. The built-in claude-in-chrome MCP server does not attempt to connect to /tmp/claude-mcp-browser-bridge-ryan/*.sock.
Both the native host and the MCP server appear to be listening rather than one connecting to the other.
Steps to Reproduce
- Have Claude Desktop installed (even if not running)
- Install Claude in Chrome extension (v1.0.62)
- Log into claude.ai in Chrome
- Run
claudeCLI /mcpshowsclaude-in-chrome · ✓ connected- Any
mcp__claude-in-chrome__*tool call returns "Browser extension is not connected"
Additional Context
- Service worker console for the extension shows no errors
- Extension is enabled and active
- Restarting Chrome, toggling extension, and restarting Claude Code CLI all tried
- Related closed issues: #20887, #23434, #20298
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗