claude-code - 💡(How to fix) Fix claude-in-chrome: CLI never connects to native-host bridge socket (extension + native host both healthy)

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

On macOS, Claude Code's claude-in-chrome browser tools always return "Browser extension is not connected" even though every layer of the bridge is verifiably healthy. The in-process "Claude in Chrome" MCP server never connects to the native-host bridge socket — confirmed by direct socket monitoring.

Root Cause

On macOS, Claude Code's claude-in-chrome browser tools always return "Browser extension is not connected" even though every layer of the bridge is verifiably healthy. The in-process "Claude in Chrome" MCP server never connects to the native-host bridge socket — confirmed by direct socket monitoring.

RAW_BUFFERClick to expand / collapse

Summary

On macOS, Claude Code's claude-in-chrome browser tools always return "Browser extension is not connected" even though every layer of the bridge is verifiably healthy. The in-process "Claude in Chrome" MCP server never connects to the native-host bridge socket — confirmed by direct socket monitoring.

Environment

  • macOS 15 (Darwin 25.4.0), arm64
  • Claude Code 2.1.145 (CLI, launched from a standalone terminal — Ghostty)
  • Google Chrome 148.0.7778.178
  • Claude browser extension fcoeoabgfenejglbffodgkkbkcdhcgfn v1.0.72 (installed, enabled, logged into claude.ai with the same account as Claude Code)
  • Claude desktop app also installed (its native-messaging manifest was disabled during debugging — see below)

What is healthy (verified)

  • Extension installed, enabled, no disable_reasons, service worker running.
  • Extension service worker DevTools console shows no errors.
  • Extension spawns Claude Code's native host: claude --chrome-native-host (via ~/.claude/chrome/chrome-native-hostcom.anthropic.claude_code_browser_extension).
  • Native host process is alive, has live stdio pipes to Chrome, and is listening on its unix socket: /tmp/claude-mcp-browser-bridge-<user>/<pid>.sock.
  • Native host, all running claude sessions, and the host wrapper all use the same binary (~/.local/share/claude/versions/2.1.145) — no version mismatch.

The bug

No claude session — including a fresh one started with claude --chrome — ever connects to the native host's bridge socket.

lsof on the native-host PID, sampled at ~22 ms resolution for 80 samples while calling list_connected_browsers and tabs_context_mcp, shows the socket FD count never rises above 1 (the listener). The in-process MCP server returns "extension is not connected" without ever opening the socket. Tool calls return in a suspiciously constant ~407 ms.

The per-project MCP debug log (mcp-logs-claude-in-chrome) shows the stdio MCP server connecting fine and tools "completed successfully", but never logs anything about the native-host/bridge layer.

Steps already tried (none fixed it)

  • Restarted Chrome.
  • Restarted the Claude Code session; also started a fresh claude --chrome session.
  • /chrome (multiple times) and /mcp reconnect.
  • Quit the Claude desktop app and disabled its native-messaging manifest (com.anthropic.claude_browser_extension.json) so the extension would bind to Claude Code's host instead of the desktop app's — this part worked (the extension now spawns claude --chrome-native-host), but the bridge still never connects.
  • Reloaded the extension service worker.

Expected vs actual

  • Expected: the in-process MCP server discovers and connects to the native host's listening socket, so list_connected_browsers returns the connected browser(s).
  • Actual: the MCP server never connects to the socket and always reports the extension as not connected.

Notes

  • Historical native-host logs on this machine going back to April never show a client connecting to the bridge socket — claude-in-chrome may have never successfully connected here.
  • Related: #20887, #24539 (extension favoring the desktop app), but this issue persists after that conflict is removed.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix claude-in-chrome: CLI never connects to native-host bridge socket (extension + native host both healthy)