Claude in Chrome: "Invalid token or user mismatch" bridge error on macOS - cannot connect Claude Desktop to Chrome extension

Resolved 💬 3 comments Opened Feb 14, 2026 by jinna-thong Closed Feb 18, 2026

Bug Description

Claude in Chrome browser automation tools fail to connect from Claude Desktop. The WebSocket bridge at bridge.claudeusercontent.com consistently rejects the connection with "Invalid token or user mismatch" error.

Environment

  • OS: macOS (Darwin 25.2.0, Apple Silicon)
  • Claude Desktop: v1.1.3189
  • Claude Code: v2.1.41
  • Chrome Extension (Claude): v1.0.49 (ID: fcoeoabgfenejglbffodgkkbkcdhcgfn)
  • Google Chrome: v144.0.7559.133
  • Plan: Max

Error Log

[Claude in Chrome] ensureConnected called, connected=false, authenticated=false, wsState=3
[Claude in Chrome] Not connecting, starting connection...
[oauth] using cached token for orgId=964bb51a-xxxx
[Claude in Chrome] Connecting to bridge: wss://bridge.claudeusercontent.com/chrome/<channel-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)
[Claude in Chrome] No longer connecting, giving up

Steps to Reproduce

  1. Open Claude Desktop (logged in with Max plan account)
  2. Open Chrome with Claude extension installed (logged into same account)
  3. Start a Claude Code session from Claude Desktop
  4. Use any Claude in Chrome MCP tool (e.g., tabs_context_mcp)
  5. Connection fails with "Invalid token or user mismatch"

Troubleshooting Already Attempted

  • Logged out and back into Claude Desktop (multiple times)
  • Logged out and back into claude.ai in Chrome
  • Cleared Claude in Chrome extension data (Local Extension Settings)
  • Cleared Claude Desktop cache and Local Storage leveldb
  • Cleared claude.ai site data in Chrome
  • Toggled extension off/on in chrome://extensions
  • Created missing com.anthropic.claude_code_browser_extension.json native messaging host file
  • Fully quit and restarted Chrome and Claude Desktop multiple times
  • Verified native messaging host binary exists and runs
  • Verified native host socket is created and listening
  • Confirmed same account on both sides, same org ID
  • Tried switch_browser MCP tool

Analysis

The native messaging host successfully starts, creates a Unix socket, and the Chrome extension connects to it. However, when Claude Desktop's "Claude in Chrome" SDK MCP server connects to the WebSocket bridge, the bridge rejects the OAuth token with code 1008. The bridge channel ID persists across all clearing attempts (synced server-side), and the token mismatch appears to be a server-side authentication issue.

Expected Behavior

Claude Desktop should successfully authenticate with the bridge and connect to the Chrome extension for browser automation.

View original on GitHub ↗

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