claude-in-chrome: Browser extension not connected — MCP server never connects to native host socket (Linux)
Resolved 💬 3 comments Opened Mar 20, 2026 by GiuseppeIuculano Closed Mar 23, 2026
Bug description
mcp__claude-in-chrome__tabs_context_mcp always returns "Browser extension is not connected", even though the native messaging host is working correctly.
Environment
- Claude Code: 2.1.80
- OS: Ubuntu Linux 6.17.0-19-generic x86_64
- Chrome: 146.0.7680.153
- Extension ID:
fcoeoabgfenejglbffodgkkbkcdhcgfn
Diagnostic findings
- Native host manifest is correctly installed at
~/.config/google-chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json, pointing to the correct binary.
- Native host responds to ping — from the extension's Service Worker console:
``js``
chrome.runtime.sendNativeMessage('com.anthropic.claude_code_browser_extension', {type: 'ping'}, r => console.log(r))
// → {type: "pong", timestamp: 1773996381942}
connectNative()works — creates a Unix socket in/tmp/claude-mcp-browser-bridge-<user>/:
```
srw------- 1 user user 0 ... 21257.sock
LISTEN
The socket is in state (confirmed via lsof`).
- No client connects to the socket —
lsofshows the native host process listening but no Claude Code process ever connects.ss -xp | grep claude-mcpreturns empty.
- Extension ID matches the
allowed_originsin the native host manifest.
- The extension worked in previous sessions (confirmed via session metadata in
~/.claude/usage-data/).
Steps to reproduce
- Install Claude Code 2.1.80 on Linux
- Install the Chrome extension
- Start
claudein a terminal - Call
mcp__claude-in-chrome__tabs_context_mcp→ always returns "not connected"
Expected behavior
Claude Code's MCP server should discover and connect to the Unix socket created by the native host, enabling browser automation.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗