Claude Code CLI cannot connect to Claude-in-Chrome extension on Windows — native host returns unparseable browser list ("JSON Parse error: Unexpected identifier 'Browser'")
Environment
- OS: Windows 11 Home 10.0.26200 (native, not WSL)
- Claude Code: 2.1.179
- Claude extension: 1.0.77 (Chrome Web Store, ID
fcoeoabgfenejglbffodgkkbkcdhcgfn) - Browser: Google Chrome 149.0.0.0 (single profile, Default)
- Plan: direct Anthropic (Max)
Summary
mcp__claude-in-chrome__* tools always return "Browser extension is not connected", despite a fully correct, verified configuration. The extension itself is healthy — its side-panel agent (Sonnet 4.6) opens and works normally — so the fault is isolated to the Claude Code ↔ extension native-messaging bridge.
Key symptom
/chrome reports: Status: Enabled, Extension: Installed, Browser: Browser 1, Enabled by default: Yes.
- Selecting "Select browser…" →
Couldn't list connected browsers: JSON Parse error: Unexpected identifier "Browser" - "Reconnect extension" → no visible effect
- Any
tabs_context_mcpcall → "not connected"
The literal browser name "Browser 1" plus a JSON parse error on the browser-list response suggests the native host is emitting a non-JSON / wrong-format payload that the CLI can't parse.
Verified correct (ruled out)
- Claude Code 2.1.179 (≥ 2.0.73) and extension 1.0.77 (≥ 1.0.36)
- Native host registered for both Chrome and Edge:
HKCU\Software\Google\Chrome\NativeMessagingHosts\com.anthropic.claude_code_browser_extension
→ C:\Users\dan\AppData\Roaming\Claude Code\ChromeNativeHost\com.anthropic.claude_code_browser_extension.json
- Manifest valid;
path→C:\Users\dan\.claude\chrome\chrome-native-host.bat(exists) which launches the currentclaude.exe(--chrome-native-host) allowed_origins=chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/— matches the installed extension exactly- Extension signed into the same Anthropic account as the CLI
- Chrome confirmed running throughout
Steps taken (no effect)
- Full Chrome restart (all processes ended, reopened)
/exit, ended all staleclaude.exein Task Manager (verified down to a singleclaude.exe), thenclaude --continue --chrome/chrome → Reconnect extension
After a pristine restart (1 claude.exe, Chrome running, all config correct) the failure persists identically — ruling out stale-process / named-pipe conflicts.
Repro
- Install extension 1.0.77, sign in, confirm
Enabled by default: Yes. claude --chrome(CC 2.1.179, Windows native, Chrome 149)./chrome → Select browser…→ JSON parse error; any browser tool → "not connected".
Expected
Native host returns a valid JSON browser list; CLI connects.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗