[BUG] Claude-in-Chrome MCP fails to connect in Claude Desktop (Cowork/Dispatch) without CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Claude-in-Chrome MCP completely fails to connect when running inside Claude Desktop (Cowork/Dispatch mode). The tabs_context_mcp call always returns "Claude in Chrome is not connected" error.
The Chrome extension is installed, logged in, and functioning (confirmed via options page and approved sites). The Control Chrome MCP works fine in the same session. Only the Claude-in-Chrome MCP connection fails.
Setting the environment variable CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 before launching Claude Code CLI resolves the issue for CLI sessions. However, Claude Desktop (Cowork mode) does not pass this environment variable to its internal Claude Code process, making it impossible to use Claude-in-Chrome in Cowork/Dispatch mode.
What Should Happen?
Claude-in-Chrome MCP should connect successfully in Claude Desktop (Cowork/Dispatch) sessions without requiring any special environment variables. The nonessential network traffic should not interfere with the MCP WebSocket connection to the Chrome extension.
Error Messages/Logs
⚠️ **Claude in Chrome is not connected**
The Chrome extension isn't reachable. A dialog has been shown so the user can reconnect.
You can retry the browser tool once the user has reconnected. If it keeps failing, use alternative approaches (web search, ask the user to do it manually).
Steps to Reproduce
- Install Claude-in-Chrome extension in Chrome browser
- Log in and configure the extension (confirm it works in options page)
- Open Claude Desktop app and start a Cowork or Dispatch session
- Try to use Claude-in-Chrome MCP tools (e.g.,
tabs_context_mcp) - Observe: connection always fails with "Claude in Chrome is not connected"
- Note: Control Chrome MCP works fine in the same session (can open URLs, list tabs, execute JS)
Workaround (only works for Claude Code CLI, NOT Claude Desktop):
- Set
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1environment variable - Launch Claude Code CLI
- Claude-in-Chrome MCP now connects successfully
Does NOT work for Claude Desktop:
- Setting the env var in ~/.zshrc and relaunching Claude Desktop does not resolve the issue
- Claude Desktop's internal process does not seem to inherit or respect this environment variable
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
N/A - never worked in Claude Desktop Cowork mode
Claude Code Version
Claude Desktop (Cowork mode) - version unknown
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Environment:
- OS: macOS Darwin 25.3.0
- Chrome extension: Claude-in-Chrome (installed and functioning)
- Session type: Claude Desktop Cowork/Dispatch mode
- Control Chrome MCP: works fine in the same session
Root Cause Hypothesis:
Claude Code's default nonessential network traffic (telemetry, update checks, etc.) appears to interfere with the Chrome extension's WebSocket connection on localhost. Setting CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 resolves this for CLI sessions but Claude Desktop does not pass this env var to its internal process.
Suggested Fix:
Either:
- Fix the underlying conflict so Claude-in-Chrome works without the env var, or
- Allow Claude Desktop to pass
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1to its internal Claude Code process (e.g., via Desktop app settings), or - Set this flag by default when Claude-in-Chrome MCP is detected
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗