[BUG] Remote Control: iOS client stuck on "reconnecting" — messages from phone never reach CLI session

Resolved 💬 2 comments Opened May 19, 2026 by rafaelglg Closed May 19, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

The iOS Claude app cannot complete the live channel to a Claude Code Remote Control session, even though the session is created successfully on the CLI side and is
listed as "connected" in the iOS app. Tapping into the session and sending a message leaves the iOS UI hanging on "Remote Control connecting…" / "reconnecting"
indefinitely, and the message is never delivered to the CLI. The CLI debug log confirms its side of the bridge is healthy — the SSE transport reports
state=connected, heartbeats flow normally to the Anthropic relay — but the CLI never receives any inbound events from the iOS client. The same failure reproduces in
iOS Safari via the claude.ai/code/session_<id> fallback URL and reproduces on both WiFi and cellular, which rules out the local network, the macOS side, and the iOS
app binary itself, and suggests the issue is on the Anthropic relay's worker channel for this account or in the per-session SSE/WebSocket handshake from the iOS/web
client to the worker endpoint. Reinstalling the iOS app, switching networks, disabling IP tracking, and using the web fallback all fail to resolve it.

What Should Happen?

When I run /remote-control in the CLI and open the resulting session from the Claude iOS app (same Pro account), the iOS client should establish the live channel to the CLI session and any message I send from the phone should arrive in the CLI session in real time, just as messages typed directly into the terminal do.

The session status shown on the iOS app should accurately reflect the channel state — if it shows "connected" in the session list, tapping in should not hang on "Remote Control connecting…" / "reconnecting" indefinitely.

Error Messages/Logs

2026-05-19T11:05:40.008Z [DEBUG] [remote-bridge] Created session cse_01HMKsFGocABzUtA5oVPsqUQ
  2026-05-19T11:05:40.206Z [DEBUG] [remote-bridge] Fetched bridge credentials (expires_in=14400s)
  2026-05-19T11:05:40.209Z [DEBUG] [remote-bridge] v2 session URL: https://api.anthropic.com/v1/code/sessions/cse_01HMKsFGocABzUtA5oVPsqUQ
  2026-05-19T11:05:40.210Z [DEBUG] SSETransport: SSE URL = https://api.anthropic.com/v1/code/sessions/cse_01HMKsFGocABzUtA5oVPsqUQ/worker/events/stream
  2026-05-19T11:05:40.211Z [DEBUG] [remote-bridge] v2 transport created (epoch=1)
  2026-05-19T11:05:40.478Z [DEBUG] [remote-bridge] v2 transport connected
  2026-05-19T11:05:40.479Z [DEBUG] [bridge:repl] handleStateChange state=connected detail="undefined"
  2026-05-19T11:06:01.967Z [DEBUG] CCRClient: Heartbeat sent
  2026-05-19T11:06:22.766Z [DEBUG] CCRClient: Heartbeat sent
  ... (heartbeats continue every ~20s, no inbound events from iOS client) ...
  2026-05-19T11:20:10.711Z [ERROR] SSETransport: Connection error: The operation timed out.
  2026-05-19T11:20:18.571Z [DEBUG] CCRClient: Heartbeat sent
  ... (heartbeats resume after reconnect, still no inbound events) ...

  On the iOS app, the UI displays "Remote Control connecting…" / "reconnecting" indefinitely. No explicit error string is shown to the user in the iOS app.

  Session ID: cse_01HMKsFGocABzUtA5oVPsqUQ

Steps to Reproduce

  1. Open a terminal on macOS (Tahoe 25.4.0) and run claude --debug (Claude Code CLI v2.1.144, native installer, Pro plan).
  2. Inside the new Claude Code session, run the slash command /remote-control.
  3. The CLI confirms the session is active and shows a fallback URL such as https://claude.ai/code/session_<id>.
  4. On an iPhone signed in to the same Anthropic Pro account, open the official Claude iOS app (latest version — also reproduced after a clean uninstall + reinstall).
  5. In the app, navigate to the list of active Claude Code sessions. The session created in step 2 appears and is shown as "connected".
  6. Tap the session to open it. Type any message (e.g. hola) and tap send.
  7. Observe the iOS app: it stays on "Remote Control connecting…" / "reconnecting" indefinitely.
  8. Observe the CLI: the message never appears in the terminal session. The debug log shows the CLI transport remains connected and continues sending heartbeats, but

receives zero inbound events from the iOS client.

Additional reproduction notes (the bug reproduces under all of these conditions):

  • Tested on home WiFi and on cellular 5G.
  • Tested in the iOS Claude app and in iOS Safari at the claude.ai/code/session_<id> web URL.
  • Tested after uninstalling and reinstalling the iOS app.
  • Tested with "Limit IP Address Tracking" disabled on iPhone WiFi.
  • Same Anthropic Pro account on both ends (verified via /status).

No additional code or repository setup is required to reproduce — the bug is in the Remote Control bridge, not in the user project.

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.144 (Claude Code)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

iPhone 16 pro max, iOS 26.5

Full log:

09fa0019-a5e6-4a02-8317-7d32d5e64fe0.txt

View original on GitHub ↗

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