--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, deferred mcp__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: true in ~/.claude/settings.json

Diagnosis

  • Native messaging host config at ~/Library/Application Support/Google/Chrome/NativeMessagingHosts/com.anthropic.claude_code_browser_extension.json is 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.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗