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
- Run
claude remote-controlvia systemd — registers successfully, getsenvironment_id - Open
claude.ai/codein browser - Select the remote environment (
srv1355788 openclaw-d3wh) - Send a message (e.g., "Hola")
- Web shows "Deciphering..." / "Accomplishing..." indefinitely
- 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.comconfirmed working - Cleaning
/root/.claude/remote/and recreatingsettings.jsondid 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/code ↔ remote-control bridge is affected.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗