Remote Control sessions become unresponsive after ~1 hour

Resolved 💬 3 comments Opened Mar 29, 2026 by RobertMurrayWow Closed Apr 1, 2026

Description

Remote Control sessions (claude remote-control --name "R20" --verbose) become unresponsive after approximately 1 hour of use. The session appears connected in the Claude mobile app (blue bubble visible), but sending messages gets no response. The process is still running on the host machine and heartbeats continue in the log.

Environment

  • Claude Code v2.1.86
  • macOS Darwin 24.6.0 (Mac Mini, Apple Silicon)
  • Claude Team plan
  • Running inside tmux for persistence
  • Started with: claude remote-control --name "R20" --verbose

Steps to Reproduce

  1. Start a remote-control session: claude remote-control --name "R20" --verbose
  2. Connect from the Claude iOS app
  3. Work normally for 30-60 minutes
  4. Session becomes unresponsive — messages sent from the app get no response
  5. Waiting 10-30 seconds and retrying does not recover
  6. The process is still running (heartbeats continue in verbose log)
  7. Only fix is killing the process and restarting

Log Evidence

The verbose debug log shows SSE stream errors every hour:

2026-03-28T21:48:11.271Z [ERROR] SSETransport: Stream read error: terminated
2026-03-28T21:48:11.273Z [DEBUG] SSETransport: Stream ended, reconnecting
2026-03-28T21:48:11.274Z [DEBUG] SSETransport: Reconnecting in 776ms (attempt 1, 0s elapsed)
2026-03-28T22:48:12.079Z [ERROR] SSETransport: Stream read error: terminated
2026-03-28T22:48:12.080Z [DEBUG] SSETransport: Stream ended, reconnecting
2026-03-28T23:48:13.286Z [ERROR] SSETransport: Stream read error: terminated
2026-03-28T23:48:13.287Z [DEBUG] SSETransport: Stream ended, reconnecting

Between these errors, heartbeats continue normally every 20 seconds:

2026-03-29T00:25:55.178Z [DEBUG] CCRClient: Heartbeat sent

The reconnect claims to succeed but the app-side connection is dead.

Expected Behavior

Remote Control sessions should remain responsive indefinitely, or automatically recover after SSE stream reconnects so the mobile app can continue sending messages.

Actual Behavior

After an SSE stream error + reconnect cycle, the server-side process appears healthy (heartbeats continue) but the mobile app can no longer communicate with it. The session is effectively dead even though the process is running.

Workaround

Kill and restart the remote-control process. This requires SSH access to the host machine (not possible from the mobile app alone).

Additional Context

This is blocking a use case where a senior developer needs reliable mobile access to Claude Code for after-hours code reviews and incident response. The session needs to stay alive 24/7 on a Mac Mini.

View original on GitHub ↗

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