Remote control drops randomly on active session — both devices awake and connected
Bug
Remote control from the Claude iOS app to Claude Code on Mac disconnects randomly during active sessions. Both devices are awake, on the same network, and actively in use. The app shows "reconnecting" status and sometimes fails to recover without manually disconnecting and reconnecting.
Environment
- Mac: macOS Darwin 25.3.0 (ARM64), Mac is active (not sleeping), screen on
- iPhone: Claude iOS app, latest version, phone is active in hand
- Network: Both on same WiFi, stable connection
- Session: Long-running conversation (several hours, multiple tool calls)
- Permission mode: bypassPermissions (no prompts blocking)
Steps to Reproduce
- Start a Claude Code session on Mac
- Connect via remote control from Claude iOS app
- Interact normally for 30-60+ minutes
- At some random point, the app shows "reconnecting" even though:
- Mac is awake and active
- Phone is in hand, screen on
- WiFi is stable
- No permission prompts pending
Expected Behavior
Remote control should maintain a stable connection as long as both devices are active and on the network.
Actual Behavior
Connection drops randomly. Sometimes reconnects after a few seconds, sometimes gets stuck in "reconnecting" loop. Workaround is to disconnect remote control entirely and reconnect, which sometimes interrupts the running session.
Impact
This is especially disruptive for:
- Overnight autonomous work (user monitors from phone, drops kill the workflow)
- Long coding sessions where context continuity matters
- Any scenario where the user is away from the Mac and relying on mobile for visibility
Possibly Related
- Issue #36554 (context compaction drops image media_type) — a corrupted API payload can also cause reconnection failures, but the random drops described here happen even without image-related errors
Workaround
Run Claude Code inside tmux so the session survives disconnects, then use claude --continue to resume after a drop.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗