claude-code - 💡(How to fix) Fix [claude-in-chrome] MCP server connects (20 tools) but every tool call returns "Browser extension is not connected"

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…

The built-in claude-in-chrome MCP server reports ✔ connected · 20 tools in /mcp, but every tool call (e.g. mcp__claude-in-chrome__tabs_context_mcp) returns:

Browser extension is not connected. Please ensure the Claude browser extension is installed and running, and that you are logged into claude.ai with the same account as Claude Code.

All visible pieces of the chain are healthy. The failure happens in an internal handshake layer between the native host and the Chrome extension that does not emit log entries even with --debug enabled.

Error Message

chrome://extensions/?id=fcoeoabgfenejglbffodgkkbkcdhcgfn → Inspect service worker → Console shows no errors related to native messaging. The error log lists only: mcp__claude-in-chrome__tabs_context_mcp returns tab info instead of the "not connected" error.

Root Cause

The built-in claude-in-chrome MCP server reports ✔ connected · 20 tools in /mcp, but every tool call (e.g. mcp__claude-in-chrome__tabs_context_mcp) returns:

Browser extension is not connected. Please ensure the Claude browser extension is installed and running, and that you are logged into claude.ai with the same account as Claude Code.

All visible pieces of the chain are healthy. The failure happens in an internal handshake layer between the native host and the Chrome extension that does not emit log entries even with --debug enabled.

Fix Action

Workaround

None found.

RAW_BUFFERClick to expand / collapse

Summary

The built-in claude-in-chrome MCP server reports ✔ connected · 20 tools in /mcp, but every tool call (e.g. mcp__claude-in-chrome__tabs_context_mcp) returns:

Browser extension is not connected. Please ensure the Claude browser extension is installed and running, and that you are logged into claude.ai with the same account as Claude Code.

All visible pieces of the chain are healthy. The failure happens in an internal handshake layer between the native host and the Chrome extension that does not emit log entries even with --debug enabled.

Environment

ComponentValue
OSWindows 11 Home 10.0.26200
ShellPowerShell 5.1
Claude Code2.1.139
Claude for Chrome extensionv1.0.70 (fcoeoabgfenejglbffodgkkbkcdhcgfn)
Chrome profileDefault (Google account A), claude.ai logged in as account B
claude.ai accountsame email as Claude Code — chat in the side panel works fine

State at the time of failure

  • Native host process running: claude.exe --chrome-native-host
  • Named pipe present: \\.\pipe\claude-mcp-browser-bridge-<user>
  • Native messaging manifest at %APPDATA%\Claude Code\ChromeNativeHost\com.anthropic.claude_code_browser_extension.json with correct path, type: "stdio", and allowed_origins matching the extension ID
  • Registry key HKCU:\Software\Google\Chrome\NativeMessagingHosts\com.anthropic.claude_code_browser_extension points to the manifest
  • Only one Claude Code session running; Claude Desktop closed
  • Extension permissions: "On all sites"
  • claude.ai/settings/account confirms the same account as Claude Code; chat through the extension's side panel works normally

Steps that did NOT fix it

  1. Killed orphan native-host processes
  2. Cleared the named pipe (it gets recreated on next MCP call, then silently drops)
  3. Disable/enable extension toggle in chrome://extensions/
  4. Full Chrome close (verified 0 Chrome processes) and reopen
  5. Multiple /mcp reconnect runs (always reports Reconnected to claude-in-chrome.)
  6. Logout / login on claude.ai
  7. Uninstall + reinstall the extension from the Chrome Web Store (extension ID came back the same, so the existing native messaging manifest remained valid)
  8. Disabled an unrelated extension (Cookie Guardian) that was clearing claude.ai cookies on tab close

Debug-log observations

Running a non-interactive sub-session with claude -p --debug-file <path> --debug "..." captures startup logs. The logs show MCP servers from .claude.json (playwright, claude.ai Google Drive) starting up, but the built-in claude-in-chrome server never appears in any "Starting connection" or "Connection established" log line, suggesting its initialization path is embedded and emits nothing under --debug.

No log entries match any of: chrome, native, extension, bridge, browser, pipe, disconnect around the failing call.

Extension service worker

chrome://extensions/?id=fcoeoabgfenejglbffodgkkbkcdhcgfn → Inspect service worker → Console shows no errors related to native messaging. The error log lists only:

  • CSP inline-script violations from the sidepanel HTML (apparently intentional)
  • Datadog Browser SDK loaded twice
  • Segment/Amplitude script blocked by CSP
  • Unchecked runtime.lastError: Debugger is not attached to the tab with id: <id>.

The asset list includes a PairingPrompt-*.js, suggesting a pairing UI exists, but it never surfaces — the side panel only shows the normal chat.

Expected behavior

mcp__claude-in-chrome__tabs_context_mcp returns tab info instead of the "not connected" error.

Workaround

None found.

Suggestions for the team

  • Either expose what claude-in-chrome's "is extension connected" check actually verifies, or emit a [DEBUG] log line when the check fails with the specific reason (no extension hello received, account mismatch, pipe write timed out, etc.).
  • If pairing requires a UI confirmation (PairingPrompt-*.js), surface a way to retrigger it when state is stuck.

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…

FAQ

Expected behavior

mcp__claude-in-chrome__tabs_context_mcp returns tab info instead of the "not connected" error.

Still need to ship something?

×6

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

Back to top recommendations

TRENDING