Remote-control: web client never delivers work to bridge after service restart

Resolved 💬 2 comments Opened Apr 10, 2026 by Chiscocr Closed May 22, 2026

Bug Description

After restarting claude remote-control service, the bridge registers a new environment_id with the Anthropic API and polls for work successfully, but sessions created from claude.ai/code never deliver work to the bridge. The web UI shows status messages like "Deciphering...", "Accomplishing...", "Whirring..." indefinitely but the bridge receives 0 work items (100+ consecutive empty polls).

Environment

  • OS: Ubuntu 24.04 (VPS, Hostinger)
  • Claude Code version: 2.1.98
  • Client: Claude desktop app for Windows v1.1617.0 + claude.ai/code web
  • Service: systemd unit running claude remote-control --permission-mode dontAsk --verbose

Steps to Reproduce

  1. Run claude remote-control via systemd — registers successfully, gets environment_id
  2. Open claude.ai/code in browser
  3. Select the remote environment (srv1355788 openclaw-d3wh)
  4. Send a message (e.g., "Hola")
  5. Web shows "Deciphering..." / "Accomplishing..." indefinitely
  6. Bridge debug log shows only empty polls: GET .../work/poll -> 200 (no work, N consecutive empty polls)

Expected Behavior

Work from the web session should be delivered to the bridge via the poll endpoint.

Actual Behavior

  • Bridge registers and polls correctly (HTTP 200)
  • Web creates session and shows spinner states
  • Work never arrives at the bridge — 100+ consecutive empty polls
  • This happens consistently across multiple fresh environments after restart
  • Opening claude.ai/code?environment=<new_env_id> directly does not help
  • Tested in incognito mode — same result

Debug Log Evidence

[bridge:init] Registered, server environmentId=env_01RLxtwGPSYiHhqVww5vHknk
[bridge:init] Created initial session session_01KM2Tpwd4n9Tuoe3H3j8N6N
[bridge:work] Starting poll loop spawnMode=same-dir maxSessions=32
[bridge:api] GET .../work/poll -> 200 (no work, 1 consecutive empty polls)
# ... 10+ minutes later ...
[bridge:api] GET .../work/poll -> 200 (no work, 100 consecutive empty polls)

Additional Context

  • Each service restart generates a new environment_id (expected behavior)
  • The web client appears to cache/reference stale environment IDs
  • API connectivity from VPS to api.anthropic.com confirmed working
  • Cleaning /root/.claude/remote/ and recreating settings.json did not help
  • Sessions appear in the web sidebar but never complete

Workaround

Using Claude Code via terminal or Telegram (Claude Channels plugin) works correctly. Only the claude.ai/coderemote-control bridge is affected.

View original on GitHub ↗

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