Chrome extension bridge "Invalid token or user mismatch" despite matching account/org (Team account)
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_TOKENis NOT set - Verified native messaging host is configured correctly and process is running (spawned by Chrome)
- Verified
chrome_ext_bridge_enabled: truein extension storage - Verified
user:mcp_serversscope 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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗