claude-in-chrome: extension connects in Claude Desktop but not terminal CLI — same Chrome, same extension
Bug description
The claude-in-chrome browser extension works correctly when invoked from the Claude macOS desktop app (both Cowork mode and Claude Code mode), but consistently fails with "Browser extension is not connected" when invoked from Claude Code in terminal — same Chrome instance, same extension, same account.
Environment
- macOS (Darwin 25.4.0)
- Claude Code CLI (terminal)
- Claude Desktop app (macOS) — works fine
- Chrome with claude-in-chrome extension installed and showing connected
Steps to reproduce
- Have both Claude Desktop app and Claude Code CLI installed
- Install claude-in-chrome extension, log into claude.ai
- From Claude Desktop app (Cowork or Claude Code): use any
mcp__claude-in-chrome__*tool → works - From terminal Claude Code: use any
mcp__claude-in-chrome__*tool → fails with "Browser extension is not connected"
Expected behavior
Terminal Claude Code should be able to connect to the chrome extension the same way the desktop app does.
Actual behavior
Every MCP tool call from terminal CC 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.
Analysis
This appears to be the native messaging host conflict documented across multiple issues (#20298, #24593, #21371, #31971, #36471, #41013, #31897). Both Claude Desktop and terminal CC register native messaging host configs claiming the same extension ID. Desktop's registration wins, so Chrome routes the extension connection to Desktop's socket — terminal CC never sees it.
The fact that it works perfectly in Desktop (both Cowork and Claude Code modes) but never in terminal CC, with zero config changes in between, confirms the host registration conflict is the root cause.
Impact
Users who primarily work in terminal Claude Code have no access to browser automation via claude-in-chrome. The workaround of disabling Desktop's native host breaks Desktop's browser tools. There's no way to use both simultaneously or even switch cleanly between them.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗