Claude in Chrome: Bridge permanently fails with 'Invalid token or user mismatch' (code 1008)

Resolved 💬 4 comments Opened Mar 13, 2026 by pornprasert27 Closed Apr 14, 2026

What's Wrong?

Claude Desktop (v1.1.6452) cannot connect to Claude Chrome Extension (v1.0.59) via the WebSocket bridge.

The bridge server at wss://bridge.claudeusercontent.com consistently returns "Invalid token or user mismatch" (WebSocket close code 1008) on every connection attempt.

This persists even after:

  • Signing out and back in on BOTH Claude Desktop and Chrome Extension
  • Clearing OAuth token cache from config.json
  • Clearing cookies, session storage, and network state
  • Re-authorizing the Chrome Extension via OAuth flow
  • Restarting both applications multiple times
  • Both sides confirmed logged in with the same email account

Expected Behavior

Claude Desktop should successfully connect to the Chrome Extension via the bridge and establish a working MCP connection.

Error Logs

From ~/Library/Logs/Claude/main.log:

[Claude in Chrome] ensureConnected called, connected=false, authenticated=false, wsState=3
[oauth] using cached token for orgId=<redacted>
[Claude in Chrome] Connecting to bridge: wss://bridge.claudeusercontent.com/chrome/<account-id>
[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)

This repeats every ~30 seconds until Claude Desktop gives up entirely.

Steps to Reproduce

  1. Sign in to Claude Desktop (Max plan)
  2. Install Claude Chrome Extension (v1.0.59) and authorize via OAuth
  3. Confirm both logged in with the same email
  4. Observe bridge fails with "Invalid token or user mismatch" (code 1008)
  5. No client-side remediation resolves the issue

Environment

  • macOS 15.3.1 (Apple M2)
  • Claude Desktop 1.1.6452
  • Chrome 145.0.7632.160
  • Claude Chrome Extension 1.0.59 (ID: fcoeoabgfenejglbffodgkkbkcdhcgfn)
  • Plan: Max

Root Cause Hypothesis

Claude Desktop and Chrome Extension use different OAuth clients. The bridge server appears unable to correlate their tokens to the same user account. The native messaging host path (Unix socket) works fine but Claude Desktop only uses the WebSocket bridge path, which keeps failing. This appears to be a server-side issue.

View original on GitHub ↗

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