--chrome flag registers deferred tools but never connects to native host socket
Resolved 💬 3 comments Opened Apr 9, 2026 by cgdmrt Closed Apr 13, 2026
Summary
- Claude Code starts with
--chrome, deferredmcp__claude-in-chrome__*tools appear in the session, but calling any of them returns "Browser extension is not connected" - The native host process is running and the Unix socket is active, but Claude Code never opens a connection to it
Environment
- Claude Code v2.1.97
- macOS Darwin 25.5.0 (Apple Silicon)
- Chrome with Claude extension v1.0.66 installed and enabled
chrome: truein~/.claude/settings.json
Diagnosis
- Native messaging host config at
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.jsonis correctly configured - Chrome spawns the native host (
~/.local/share/claude/versions/2.1.97 --chrome-native-host), which creates a socket at/tmp/claude-mcp-browser-bridge-<user>/<pid>.sock - Chrome is piped to the native host (confirmed via
lsof) - The socket accepts connections (confirmed manually via Python)
lsof -p <claude-pid>shows Claude Code has zero connections to the bridge socket- Restarting Chrome and Claude Code multiple times did not resolve the issue
Additional context
- A second native messaging host manifest from the Claude desktop app (
com.anthropic.claude_browser_extension.json) was initially intercepting the extension connection. Renaming it so only the CLI manifest remained did not fix the issue — the CLI native host ran correctly but Claude Code still didn't connect to the socket.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗