[BUG] Cowork device bridge never completes device handshake after socket opens (regression after update to 2.9939.2)

Status Open
Maintainer reply None cached
Activity 1 comment · opened Sep 25, 2026

Account: personal account (not Enterprise)
Affected device: Claude Desktop (macOS), listed in Settings -> Cowork -> local devices, added Jul 7, 2026

Issue
Since 2026-09-24 20:14 ET, this Mac's Cowork device bridge has failed on every attempt: the app opens a WebSocket to wss://bridge.claudeusercontent.com, gets a clean TLS handshake and HTTP 101 Switching Protocols within 25ms, but the server never replies to the app's connect frame. The app retries every <=30 seconds; every retry times out the same way (58+ timeouts so far). Before 20:14, the connection dropped intermittently with WebSocket code 1006 every 20-60 minutes but self-recovered within seconds each time -- that pattern is normal and not the bug being reported.

Likely trigger
The persistent failure began ~4 minutes after the app auto-updated to build 2.9939.2 at 20:10 ET. Before the update, drops recovered; after it, they don't.

Ruled out on this end

  • Network -- DNS resolves correctly, traffic goes out directly over Wi-Fi (not through Tailscale), and the WebSocket upgrade itself succeeds every time.
  • Sleep/wake -- the Mac has been continuously awake since a 20:36 boot with zero sleep events, and the app holds a no-sleep assertion throughout.
  • Local app state -- restarting the app, restarting the Mac, and a full sign-out/sign-in all failed to change the behavior.

Log excerpt (main.log)

2026-09-24 20:13:35 [remote-tools-device] socket closed: 1006
2026-09-24 20:14:28 [remote-tools-device] pong timeout (1 consecutive) -- resetting
2026-09-24 20:14:46 [remote-tools-device] handshake timeout      <- never recovered
2026-09-24 20:43:46 [remote-tools-device] device_registered (not authenticated) -- resetting to refresh row PK
2026-09-24 20:51:22 [remote-tools-device] connect frame sent: device_id keyed
                     -> handshake timeout (15s), repeats every <=30s
Endpoint: wss://bridge.claudeusercontent.com (160.79.104.10) -- TLS OK, HTTP 101 OK

Interpretation
The server is accepting the socket but not completing the device handshake -- the one non-timeout reply ("device_registered (not authenticated)") suggests this device's server-side record may be stale or mismatched, possibly tied to the 2.9939.2 update. This looks like it needs a server-side reset of this device's registration/credential, not further client-side troubleshooting.

Note on next steps
Holding off on removing this device under Settings -> Cowork -> local devices, since that risks resetting folder permissions on existing Cowork tasks bound to it. Flagging that risk here in case there's a safer server-side fix, or in case removing it won't be necessary once the handshake issue is addressed.

Reference: this same symptom is reproducible from the Cowork (claude.ai) side as well, in a chat/task bound to this same device.

Happy to provide the full main.log or additional timestamps on request.

(Conversation ID 215476094809658 with Fin)

View original on GitHub ↗

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