Claude in Chrome never connects: `JSON Parse error: Unexpected identifier "Browser"` from /chrome despite verified native-host + extension setup (macOS)
Summary
The Claude-in-Chrome integration never connects to the Claude Code CLI. /chrome reports Status: Enabled, Extension: Installed but immediately errors with Couldn't list connected browsers: JSON Parse error: Unexpected identifier "Browser", and every mcp__claude-in-chrome__* call returns Browser extension is not connected. The setup is fully verified correct and the documented restart fix does not help.
Environment
- Claude Code: 2.1.215
- OS: macOS 26.5.2 (build 25F84), Apple Silicon (arm64)
- Browser: Google Chrome (current); Claude extension installed + enabled + site access
- Account: direct Anthropic Max plan; logged into claude.ai in Chrome with the same account
- Extension ID: fcoeoabgfenejglbffodgkkbkcdhcgfn (matches native-host allowed_origins)
Symptom
/chrome output:
Status: Enabled
Extension: Installed
Couldn't list connected browsers: JSON Parse error: Unexpected identifier "Browser"
Any browser tool call:
Browser extension is not connected. Please ensure the Claude browser extension is installed and running...
The parse-error token ("Browser") is the first word of "Browser extension is not connected", suggesting the plain-text not-connected error is being fed to a JSON parser in the "list connected browsers" code path.
Verified correct (not a user setup problem)
- Native messaging host manifest present & valid:
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json
-> "path": ~/.claude/chrome/chrome-native-host,
"allowed_origins": ["chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/"]
- Wrapper ~/.claude/chrome/chrome-native-host present, executable (0755),
execs: ~/.local/share/claude/versions/2.1.215 --chrome-native-host
- That versioned binary exists, executable, Mach-O 64-bit arm64
- Extension installed, enabled, site access granted; claude.ai logged in (same account)
Tried (did NOT fix)
- chrome://extensions -> toggle Claude extension OFF/ON -> /chrome -> "Reconnect extension". Still parse error.
- Full clean restart: quit Chrome (Cmd-Q), exited Claude Code, relaunched
claude --chrome, resumed the session, reopened Chrome, ran /chrome. Same parse error.
Expected
/chrome connects; mcp__claude-in-chrome__tabs_context_mcp returns a tab group.
Actual
Never connects; JSON Parse error: Unexpected identifier "Browser" persists across the full documented claude --chrome restart.