Chrome extension bridge connection fails with "Invalid token or user mismatch" despite matching accounts
Description
The Claude in Chrome extension fails to connect to Claude Code (and Claude Desktop) with the error "Invalid token or user mismatch" on the WebSocket bridge. The error persists despite full re-authentication on both sides and a complete extension reinstall.
Environment
- Claude Code version: 2.1.42
- OS: macOS Darwin 25.3.0 (Apple Silicon / Homebrew install)
- Auth method: claude.ai OAuth
- Plan: Max
- Claude Desktop: Also installed; same issue occurs with Desktop
Steps to Reproduce
- Install Claude in Chrome extension
- Log into claude.ai in the same Chrome profile
- Run Claude Code and use
/chrome - Any
mcp__claude-in-chrome__*tool call returns "Browser extension is not connected"
Debug Logs
Claude Code connects to the bridge WebSocket successfully, but the bridge immediately rejects the token:
[INFO] [Claude in Chrome] Connecting to bridge: wss://bridge.claudeusercontent.com/chrome/<session-id>
[INFO] [Claude in Chrome] WebSocket connected, sending connect message
[DEBUG] [Claude in Chrome] Bridge received: {"type":"error","error":"Invalid token or user mismatch"}
[WARN] [Claude in Chrome] Bridge error: Invalid token or user mismatch
[INFO] [Claude in Chrome] Bridge connection closed (code: 1008, duration: 0ms)
This repeats indefinitely with exponential backoff. The session ID remains constant across Claude Code restarts.
Troubleshooting Attempted
- [x] Verified same account (email, org) on claude.ai and Claude Code (
claude auth status) - [x] Verified correct Chrome profile (actively using the profile where extension is installed)
- [x]
claude auth logout+claude auth loginto refresh Claude Code token - [x] Signed out and back into claude.ai in Chrome
- [x] Fully quit and restarted Chrome (Cmd+Q)
- [x] Started a new Claude Code session
- [x] Completely removed and reinstalled the Chrome extension from Chrome Web Store
- [x] Verified native messaging host configs exist and point to valid binaries
- [x] Confirmed the issue also occurs with Claude Desktop (not a Code-vs-Desktop conflict)
Analysis
The bridge server at wss://bridge.claudeusercontent.com is rejecting the OAuth token sent by Claude Code. Since the token was freshly issued (after claude auth logout/login) and the accounts match, this appears to be a server-side token validation issue rather than a local configuration problem.
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗