Claude Desktop cannot connect to Cloud WebSocket bridge - Invalid token or user mismatch
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 extension cannot connect to Claude Code/Desktop. The cloud WebSocket bridge (wss://bridge.claudeusercontent.com) consistently rejects connections with "Invalid token or user mismatch" (WebSocket close code 1008).
Every connection attempt fails immediately, and Claude Desktop retries with exponential backoff (observed up to attempt 51+) but never falls back to the local socket, leaving the browser extension non-functional despite all infrastructure being correctly configured.
What Should Happen?
Claude Desktop should either:
- Successfully connect to the cloud WebSocket bridge using the OAuth token from apple_subscription billing accounts, OR
- Fall back to the local Unix socket connection after N failed authentication attempts, OR
- Provide a client-side override configuration to disable the cloud bridge
Error Messages/Logs
[Chrome MCP] Bridge feature flag: chrome_ext_bridge_enabled_desktop=true, IS_NEST_BUILD=false
[Claude in Chrome] Connecting to bridge: wss://bridge.claudeusercontent.com/chrome/<uuid>
[Claude in Chrome] WebSocket connected, sending connect message
[Claude in Chrome] Bridge error: Invalid token or user mismatch
[Claude in Chrome] Bridge connection closed (code: 1008, duration: 0ms)
[Claude in Chrome] Bridge reconnecting in 30000ms (attempt 20)
Chrome native host logs show:
Chrome native host starting (version 0.1.0)
Socket created successfully at: /tmp/claude-mcp-browser-bridge-<user>/<pid>.sock
Socket server listening for connections
# No client ever connects
Chrome disconnected (EOF received)
Steps to Reproduce
- Have Claude Desktop v1.1.3189 installed on macOS
- Have Chrome extension v1.0.47+ installed (ID: fcoeoabgfenejglbffodgkkbkcdhcgfn)
- Sign in with an Apple Subscription billing account
- Open Claude in Chrome browser extension
- Try to use any feature that requires connection to Claude Code/Desktop
- Observe the "Browser extension is not connected" error
- Check ~/Library/Logs/Claude/main.log and see repeated "Bridge error: Invalid token or user mismatch" messages with exponential backoff retries
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
n/a
Claude Code Version
2.1.41 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Root Cause Analysis
chrome_ext_bridge_enabled_desktopis true (server-side GrowthBook flag, not locally overridable), forcing Claude Desktop to use the cloud WebSocket bridge instead of the local Unix socket.
- Claude Desktop connects to
wss://bridge.claudeusercontent.com/chrome/<accountUuid>and sends an OAuth token.
- The bridge rejects every connection with: Bridge error: Invalid token or user mismatch (code 1008).
- Claude Desktop retries with exponential backoff but never falls back to the local socket.
Suspected Root Cause
The OAuth token from apple_subscription billing accounts may not be recognized by the bridge's auth validation. The bridge returns "user mismatch" suggesting the token resolves to a different user identity than expected.
Troubleshooting Attempts (Did NOT Fix)
- Setting tengu_copper_bridge: false in ~/.claude.json (only affects Claude Code CLI, not Desktop)
- Logging out and back into the Chrome extension
- Restarting Chrome and Claude Desktop
- Clearing all Claude Desktop cache/cookies/sessions
- Reinstalling the Chrome extension
- Disabling macOS firewall
- Removing Claude Code CLI native messaging host
- Disabling other MCP servers
Suggested Fixes
- Fix bridge auth for Apple subscription accounts
- Add local socket fallback when bridge auth fails after N attempts
- Provide a client-side override to disable the bridge
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗