Claude in Chrome: MCP server shows connected but extension reports 'not connected'
Environment
- Claude Code: 2.1.71
- macOS: Darwin 25.3.0 (Apple Silicon)
- Chrome extension: Claude in Chrome (Beta) 1.0.59, ID
fcoeoabgfenejglbffodgkkbkcdhcgfn - Claude.app: installed (has its own native messaging host)
- Auth: Claude Enterprise Account (Beyond Identity org)
Problem
mcp__claude-in-chrome__tabs_context_mcp always returns "Browser extension is not connected" despite:
/configshowingclaude-in-chrome ✓(green checkmark)- Chrome extension installed and enabled
- Logged into claude.ai in Chrome with the same account as Claude Code
- Native host process running and sockets created
Root cause investigation
Two native messaging host manifests exist for the same Chrome extension ID:
| Manifest | Binary | Source |
|----------|--------|--------|
| com.anthropic.claude_browser_extension.json | /Applications/Claude.app/Contents/Helpers/chrome-native-host | Claude desktop app |
| com.anthropic.claude_code_browser_extension.json | ~/.ccs/instances/work/chrome/chrome-native-host | Claude Code CLI |
Both register allowed_origins for extension ID fcoeoabgfenejglbffodgkkbkcdhcgfn.
What we tried
- With Claude.app running: Chrome spawns the Claude.app native host. Sockets created at
/tmp/claude-mcp-browser-bridge-nmelo/<pid>.sock. MCP still reports not connected.
- With Claude.app quit + Chrome restarted: Chrome spawns the Claude Code native host (
~/.local/share/claude/versions/2.1.71 --chrome-native-host). Sockets created. MCP still reports not connected.
- Direct socket test: Connected to the socket with socat and Python. Socket accepts connections but returns no data in response to JSON-RPC messages.
- Verified: Extension enabled, logged into claude.ai, correct account,
createIfEmpty: trueparameter used.
Native host log (from ~/Library/Logs/Claude/chrome-native-host.log)
[2026-03-08 18:00:08 INFO chrome-native-host] Chrome native host starting (version 0.1.0)
[2026-03-08 18:00:08 INFO chrome-native-host] Creating socket listener: /tmp/claude-mcp-browser-bridge-nmelo/77368.sock
[2026-03-08 18:00:08 INFO chrome-native-host] Socket created successfully at: /tmp/claude-mcp-browser-bridge-nmelo/77368.sock
[2026-03-08 18:00:08 INFO chrome-native-host] Entering main message loop
[2026-03-08 18:00:08 INFO chrome-native-host] Socket server listening for connections
No errors, no "connection accepted" messages, just perpetually listening.
Expected behavior
tabs_context_mcp should return tab information when the extension is installed, enabled, and the user is logged into claude.ai.
Suspected issue
The MCP client inside Claude Code may not be finding or connecting to the correct socket in /tmp/claude-mcp-browser-bridge-nmelo/. Alternatively, the presence of both native messaging host manifests (Claude.app and Claude Code) may cause a conflict even when only one is active.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗