claude-in-chrome extension fails to connect (tabs_context_mcp: "Browser extension is not connected") after reinstall + full Chrome restart
Summary
The claude-in-chrome browser extension will not connect to my Claude Code CLI session. Every call to the browser tools returns:
> Browser extension is not connected. Please ensure the Claude browser extension is installed and running (https://claude.ai/chrome), and that you are logged into claude.ai with the same account as Claude
Code.
## Environment
- Claude Code version: 2.1.217
- macOS: 26.5.1 (Build 25F80)
- Chrome: 150.0.7871.129
- Extension: "Claude" (claude-in-chrome), installed from https://claude.ai/chrome
## Steps taken (none resolved the issue)
- Confirmed the Claude Code CLI login account and the claude.ai account logged into the Chrome extension are the same.
- Toggled the extension off/on from chrome://extensions.
- Uninstalled and reinstalled the extension from https://claude.ai/chrome.
- Confirmed via the extension's toolbar popup that "전체 액세스" (full site access) is granted and the extension toggle in chrome://extensions is ON.
- Re-ran
/loginin Claude Code CLI (logged out/in successfully) — no change.
Despite all of the above, tabs_context_mcp (and any other claude-in-chrome tool) still returns the "not connected" error consistently.
## Additional context
- I use two separate Claude Code accounts and switch between them when one runs out of usage. This connection issue appeared during one such session, though the extension and CLI accounts were confirmed to
match.
- Local dev server (localhost:3000, CRA app) is running fine and reachable via curl — unrelated to this issue but noting for context since I was trying to use claude-in-chrome to inspect it visually.
## Expected behavior
tabs_context_mcp (or any claude-in-chrome tool) should successfully connect to the browser session once the extension is installed, enabled, and logged into the same account as the CLI.
Showing cached comments. Read the full discussion on GitHub ↗
4 Comments
Hitting the same thing on macOS — adding details in case it helps narrow it down:
Pattern: intermittent, not permanent. It was working fine a few days ago, then broke again with no clear trigger (no CLI update, no extension update that I initiated).
Environment: macOS, Chrome (was 150.0.7871.129, auto-updated to 150.0.7871.182 mid-troubleshooting — no change in behavior either version).
Things tried, none fixed it:
chrome-native-hostprocesses (found 3 running, spawned by Chrome, parented to/Applications/Claude.app/Contents/Helpers/chrome-native-host— the Desktop-app-oriented native host, not the CLI's own copy at~/.claude/chrome/chrome-native-host)Claude.app, not the CLI's manifest at~/.claude/chrome/chrome-native-host/chromein the CLI showsStatus: Enabled,Extension: Installed,Browser: TSR Chrome(a named Chrome profile), but sits indefinitely on "Looking for connected browsers…"Happy to grab any logs that would help — just let me know what to pull.
Hitting the same issue. Adding a data point since the timing seems relevant: this started the same day I switched Anthropic accounts (Pro on a personal email → Team on a work email). Like the OP, confirmed CLI and browser were on the matching (new) account throughout.
Additional steps tried beyond what's listed above, none resolved it:
Consistent "Browser extension is not connected" through all of it. The account-switch correlation between both reports makes me suspect some pairing/session state isn't being cleanly invalidated when the underlying account changes — possibly something not purely local to the browser, since a full reinstall didn't clear it either.
Follow-up with a concrete lead, from checking native messaging manifests directly (macOS):
Both native-messaging host manifests register the same extension ID as an allowed origin:
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_browser_extension.json(host namecom.anthropic.claude_browser_extension, path/Applications/Claude.app/Contents/Helpers/chrome-native-host) — dated Jan 27.../com.anthropic.claude_code_browser_extension.json(host namecom.anthropic.claude_code_browser_extension, path~/.claude/chrome/chrome-native-host) — dated Jul 21Both list
chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/as an allowed origin.ps auxshowed the running native host process was spawned from the Desktop app's path (/Applications/Claude.app/Contents/Helpers/chrome-native-host), same as @CR88 found — but since the same extension ID is valid for both host names, this looks less like an "orphaned process" issue and more like the extension itself callingchrome.runtime.connectNative(...)with the wrong host name (com.anthropic.claude_browser_extensioninstead ofcom.anthropic.claude_code_browser_extension), so Chrome dutifully launches the Desktop app's host instead of the CLI's.I killed the stray process and retried
tabs_context_mcp— it did not respawn any native host process at all, and the connection still failed silently (matching @CR88's observation of zero log output in the extension's service worker / offscreen document consoles — the connection attempt doesn't appear to reach the extension's handshake logic).Environment: macOS 15.7.4, Chrome 150.0.7871.187, same account-switch trigger as my prior comment (Pro personal → Team work email).
If it's useful, happy to try clearing whatever local extension state maps "current session" to a host name — didn't want to guess and make the account-switch state worse without a pointer to where that's stored.
Same issue here. Extension installed and shows active in the toolbar (Chrome, Windows). Restarted Chrome fully to complete a pending update, confirmed it's enabled in chrome://extensions, reopened the target tab — but the session keeps reporting "Browser extension is not connected" on every attempt.