Remote Control: stale environment stays green/online in mobile app after server exits; sessions hang at "Allocating sandbox"

Status Open
Reported on v2.1.226
Maintainer reply None cached
Activity 0 comments · opened Aug 9, 2026

Summary

A Remote Control environment created by claude remote-control remains listed in the Claude mobile app (Code tab) with a green/online status dot indefinitely after the server process has exited — surviving terminal close, disableRemoteControl: true, and even a full machine reboot. The mobile app lets the user create new sessions against this dead environment; those sessions hang forever at "Allocating sandbox" instead of failing or being rejected.

Steps to reproduce

  1. On macOS, run claude remote-control from a trusted project directory (first-time CLI user; authenticated via claude.ai during this flow). The environment registers and connects.
  2. Close the terminal (server process exits).
  3. Set "disableRemoteControl": true in ~/.claude/settings.json and turn off "Enable Remote Control for all sessions".
  4. Reboot the machine.
  5. Open the Claude mobile app → Code tab.

Expected

The machine/environment should show as offline (or disappear), and creating a session against it should fail fast with a clear "no server is listening" error.

Actual

  • The environment still shows with a green/online dot days later with no server process running.
  • Selecting it offers the directory picker and allows creating a new session.
  • The session record syncs and appears in the Claude Desktop app's sidebar (with the prompt visible), but nothing ever runs: mobile shows "Allocating sandbox" indefinitely, desktop shows "running" with a spinner forever.
  • There is no documented way to deregister/remove the stale environment, and disableRemoteControl: true does not remove it from the mobile list.

Additional observations

When a new claude remote-control server was later started in the same directory to debug, it immediately attempted to reclaim the queued/stuck sessions and logged repeated failures before serving a fresh session:

Error: CCR v2 worker registration failed for session cse_01AVCcHXjVg5xss7jQPPtsWi: Request failed with status code 404
Error: CCR v2 worker registration failed for session cse_01UZ18pScE6zo4DzjumGYxCE: Request failed with status code 404
Error: CCR v2 worker registration failed for session cse_01HhEv1pWpZ84rjAUi4mqWWc: Request failed with status code 404
Error: CCR v2 worker registration failed for session cse_01GZQXVi3623dtn24vdJtWJu: Request failed with status code 404
Session started: "Session cse_01HVCYQZJVTv4T2PE8fxc6Yp"

Environment ID: env_015F4bhEDB2NzR9UdNTYAWVt

This UX is confusing in combination with the Claude Desktop app: because the desktop app displays the synced (but dead) session records in its sidebar, it looks like the desktop app is hosting phone-initiated sessions and failing, when in fact nothing is listening at all.

Suggested fixes

  • Reflect actual liveness in the mobile app's status dot (registration ≠ listening).
  • Fail session creation fast when no worker is connected to the environment, with an actionable message ("Start claude remote-control on <machine> to use this environment").
  • Provide a way to deregister/remove a stale environment (CLI subcommand and/or claude.ai settings).
  • Consider having disableRemoteControl: true also deregister the machine's environments.

Environment

  • Claude Code: 2.1.226 (native install); server originally started on 2.1.222-era install, retested on 2.1.226
  • OS: macOS (Darwin 25.5.0), Apple Silicon
  • Plan: claude.ai subscription (not API key)
  • Claude Desktop app 1.26832.0 also installed and running on the same machine

View original on GitHub ↗