claude-code - 💡(How to fix) Fix [BUG] Remote Control: iOS client stuck on "reconnecting" — messages from phone never reach CLI session [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#60518Fetched 2026-05-20 03:56:31
View on GitHub
Comments
0
Participants
1
Timeline
6
Reactions
0
Author
Participants
Timeline (top)
labeled ×5closed ×1

Error Message

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

Code Example

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
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • 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

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Remote Control: iOS client stuck on "reconnecting" — messages from phone never reach CLI session [1 participants]