Chrome extension bridge "Invalid token or user mismatch" despite matching account/org (Team account)

Resolved 💬 1 comment Opened Mar 6, 2026 by kenigteh Closed Mar 6, 2026

Description

Chrome extension bridge rejects connection with "Invalid token or user mismatch" (WebSocket close code 1008), even though both tokens (Claude Code and Chrome extension) resolve to the same account and organization via /api/oauth/profile.

Environment

  • Claude Code: v2.1.58
  • Chrome Extension: v1.0.57
  • OS: Ubuntu 24.04, Linux 6.8.0-59-generic
  • Chrome: 145.0.7632.159
  • Account type: Team (claude_team)
  • Auth method: claude.ai OAuth

Diagnosis

Called /api/oauth/profile with both tokens:

| Field | Claude Code token | Extension token |
|---|---|---|
| account.uuid | 53500149-xxxx | 53500149-xxxx (same) |
| organization.uuid | cefd86ae-xxxx | cefd86ae-xxxx (same) |
| organization.name | Five Sigma | Five Sigma |
| organization.type | claude_team | claude_team |
| application.name | Claude Code | Claude for Chrome |
| application.uuid | 9d1c250a-... | dae2cad8-... |

Account UUID, org UUID, email — all identical on both sides.

Debug logs

[Claude in Chrome] ensureConnected called, connected=false, authenticated=false, wsState=3
[Claude in Chrome] Fetching user ID for bridge connection
[Claude in Chrome] Fetching OAuth token for bridge connection
[Claude in Chrome] Connecting to bridge: wss://bridge.claudeusercontent.com/chrome/53500149-61e6-4524-b41a-3a27a5e9aec4
[Claude in Chrome] WebSocket connected, sending connect message
[Claude in Chrome] Bridge received: {"type":"error","error":"Invalid token or user mismatch"}
[Claude in Chrome] Bridge connection closed (code: 1008, duration: 0ms)

This repeats indefinitely with exponential backoff.

What I've tried

  • claude auth logout + claude auth login (token refreshed, same result)
  • Restarted Chrome completely
  • Verified extension is enabled in only one Chrome profile
  • Verified Claude Desktop is NOT running
  • Verified CLAUDE_CODE_OAUTH_TOKEN is NOT set
  • Verified native messaging host is configured correctly and process is running (spawned by Chrome)
  • Verified chrome_ext_bridge_enabled: true in extension storage
  • Verified user:mcp_servers scope is present in OAuth token

Suspected cause

The bridge WebSocket server rejects the connection despite both tokens belonging to the same user/org. Possibly related to application UUID mismatch between "Claude Code" and "Claude for Chrome", or stale server-side bridge channel state.

Possibly related to #25736, #12740.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗