[DOCS] Remote Control page does not describe the web/mobile background-task panel status synchronization fixed in v2.1.205
Documentation Type
Missing documentation (feature not documented)
Documentation Location
https://code.claude.com/docs/en/remote-control
Section/Topic
- The "Check connection status" subsection (the paragraph that describes the
/rc activefooter indicator and the "status panel" that opens when the indicator is selected). - The "Connect from another device" subsection, specifically the bullet that introduces the claude.ai/code and Claude app session list and the green status dot.
- The "Limitations" section, which lists which slash commands work from mobile and web but does not describe the background-task panel that v2.1.205 fixed.
- The "Troubleshooting" section, which currently has no entry for the stale "Running" status case.
- The companion page
https://code.claude.com/docs/en/claude-code-on-the-web, whoseMonitor all sessions with /tasks in the Claude Code CLIparagraph also does not mention the web/mobile task panel.
Current Documentation
The Remote Control page describes the connection surface and the session list, but never mentions that the web and mobile clients render a background-task panel for the active session, nor how that panel keeps its status in sync with the local session.
The "Check connection status" subsection (around line 117) only describes a footer indicator in the terminal:
In an interactive terminal session, a/rc activeindicator sits in the footer below the input box while the connection is up, and is hidden if the terminal is too narrow to fit it. The indicator text is a link to the session on claude.ai. Select it with the down arrow key and press Enter, or run/remote-controlagain, to open a status panel with the session URL and a QR code you can use to [connect from another device](#connect-from-another-device).
The "Connect from another device" subsection (around line 123) describes the session list status dot but does not mention a background-task panel:
* Open claude.ai/code or the Claude app and find the session by name in the session list. In the Claude mobile app, tap Code in the navigation to reach the session list. Remote Control sessions show a computer icon with a green status dot when online.
The "Limitations" section (around line 255) lists the slash commands that work from mobile and web, but does not describe the background-task panel, the task status display, or how the panel's status is computed. The only related reference is the "Mobile push notifications" section (around line 217), which describes when Claude decides to send a push but does not describe the in-panel task status.
The "Troubleshooting" section (around line 266) has entries for connection, eligibility, and reconnection errors, but no entry for a stale "Running" status in the web/mobile background-task panel.
The companion claude-code-on-the-web page mentions /tasks for monitoring but does not document a web-side background-task panel either:
Monitor all sessions with /tasks in the Claude Code CLI. When a session completes, you can create a PR from the web interface or [teleport](#from-web-to-terminal) the session to your terminal to continue working.
The Agent SDK TypeScript reference at https://code.claude.com/docs/en/agent-sdk/typescript already documents the membership-change mechanism that v2.1.205 starts using for the web/mobile UI:
Emitted whenever the set of live background tasks changes: a task starts, completes, is killed, or a foreground agent is backgrounded. Thetasksarray is the full live set. Replace any cached set with each payload instead of pairingtask_startedandtask_notificationevents, so the next membership change corrects any event you missed.
What's Wrong or Missing?
A. The web/mobile background-task panel is not described anywhere in the user-facing docs
The v2.1.205 changelog records:
Fixed background tasks in the web and mobile Remote Control panels showing stale "Running" status by forwarding full task state on every membership change
The "panels" in that entry are the background-task views rendered inside the claude.ai/code session page and the Claude mobile app for an active Remote Control session. They are the user-facing surface that shows the same kind of task list that /tasks shows in the local CLI, but updated live as the local session's task set changes. The Remote Control page is the natural place to describe this surface, but it currently does not mention the panel at all, so a user reading the docs has no way to learn:
- That the web and mobile Remote Control clients render a background-task panel for an active session.
- That the panel's status reflects the local session's task set, not just connection state.
- That the panel updates when the local task set changes (a task starts, completes, is killed, or a foreground agent is backgrounded).
The earlier v2.1.196 changelog already established the existence of the panel for the web, desktop, and VS Code task views:
Fixed background tasks in web, desktop, and VS Code task panels getting stuck on "Running" after they finish or after resuming a session
The web panel and the mobile Remote Control panel are part of the same surface, but neither is described in the current Remote Control page. The closest existing reference is the v2.1.162 footer pill ("/rc active") and the v2.1.162 "computer icon with a green status dot" line, both of which document connection state, not task state.
B. The membership-change mechanism that v2.1.205 starts using is not described for the web/mobile UI
The fix replaces an incremental update path that could leave a task showing "Running" after it actually finished, with a "forward full task state on every membership change" path. The Agent SDK reference already documents this pattern for SDK consumers: a task_changed (membership change) payload that carries the full live task set so a consumer can replace any cached set rather than patch it. v2.1.205 applies the same pattern to the web and mobile Remote Control panels, but the user-facing docs never tell a Remote Control user that the panel's status is recomputed against the full live set on every membership change, instead of patched incrementally.
Without that note, a user who saw a stale "Running" row on v2.1.204 or earlier and reads the docs has no way to learn:
- The stale "Running" symptom was the v2.1.204 behavior on a panel that updated incrementally.
- v2.1.205 switched the panel to the same full-set-on-membership-change update the SDK already documents.
- The
Runningrow now reflects the live task set, not a stale cached value.
C. The Troubleshooting section has no entry for the stale "Running" symptom
The Troubleshooting section ends with the "session expired for trusted-device check" entry (line 327) and never lists a symptom for a stale "Running" row in the web or mobile background-task panel. A user on v2.1.204 who saw a Running row that never updated would search the Troubleshooting section for "stale" or "Running" and find no entry. The closest existing entry, "Couldn't reconnect to your Remote Control session" (line 315), is about reconnection, not task-status freshness.
D. The "Limitations" section does not describe the panel's scope
The "Limitations" section is the only place on the page where the mobile and web clients are described from a feature-coverage angle. The slash-command list and the ultraplan-disconnect limitation are there, but the background-task panel is not. A user comparing the local CLI /tasks view to the web/mobile panel has no docs entry to point them at the difference in update mechanism, even though the difference is exactly what v2.1.205 fixed.
Suggested Improvement
Before (remote-control.md "Check connection status" subsection):
In an interactive terminal session, a/rc activeindicator sits in the footer below the input box while the connection is up, and is hidden if the terminal is too narrow to fit it. The indicator text is a link to the session on claude.ai. Select it with the down arrow key and press Enter, or run/remote-controlagain, to open a status panel with the session URL and a QR code you can use to [connect from another device](#connect-from-another-device).
After (add a paragraph under the existing text):
The web and mobile Remote Control clients also render a background-task panel for the active session. The panel mirrors the local session's live task set: a row is shown for every running background task, subagent, monitor, and dynamic workflow, and the row's status reflects the task's actual state. {/ min-version: 2.1.205 /}As of v2.1.205, the panel recomputes its full task set on every membership change (a task starts, completes, is killed, or a foreground agent is backgrounded) instead of patching the previous set incrementally. Before v2.1.205, the panel could leave a row on "Running" after the task had actually finished, because an incremental update could miss the terminal event. On v2.1.205 and later, a row's status always reflects the live task set, so a Running row that never updates no longer occurs.
Before (remote-control.md "Connect from another device" bullet):
* Open claude.ai/code or the Claude app and find the session by name in the session list. In the Claude mobile app, tap Code in the navigation to reach the session list. Remote Control sessions show a computer icon with a green status dot when online.
After (add a sentence about the panel):
Open claude.ai/code or the Claude app and find the session by name in the session list. In the Claude mobile app, tap Code in the navigation to reach the session list. Remote Control sessions show a computer icon with a green status dot when online. {/ min-version: 2.1.205 */}Open the session to see the background-task panel: one row per running background task, subagent, monitor, and dynamic workflow, with a Running row that updates as the local task set changes.
Before (remote-control.md "Limitations" section, before the "Some commands are local-only" bullet):
* Some commands are local-only: commands that open an interactive picker in the terminal, such as/pluginor/resume, work only from the local CLI. The following work from mobile and web:
After (add a new bullet for the panel's update mechanism):
{/ min-version: 2.1.205 */}Background-task panel status is live, not patched: the web and mobile Remote Control clients re-read the full task set on every membership change, so aRunningrow in the background-task panel always reflects the local session's current task set. Before v2.1.205, the panel updated incrementally and could leave a row onRunningafter the task had actually finished. Use/tasksin the local CLI to inspect a stale-looking row directly; the panel will reflect any state change on the next membership change.
Before (remote-control.md "Troubleshooting" section, after the "session expired for trusted-device check" entry):
### "session expired for trusted-device check" Your sign-in is more than 18 hours old. Run /login in Claude Code, or confirm with Face ID, Touch ID, Windows Hello, or a passkey when claude.ai or the mobile app prompts you. See [Trusted Devices](#trusted-devices).
After (add a new entry for the v2.1.205 case):
### A background task's row stays on "Running" in the web or mobile Remote Control panel {/ min-version: 2.1.205 /}On v2.1.205 and later, the web and mobile Remote Control panels re-read the full task set on every membership change, so aRunningrow updates as soon as the local task finishes, fails, or is stopped. If a row onRunningdoes not update, run/tasksin the local CLI to confirm the task's actual state. Before v2.1.205, the panel updated incrementally and could leave a row onRunningafter the task had actually finished; that staleness is the case v2.1.205 fixes.
Before (claude-code-on-the-web.md, around the "Monitor all sessions with /tasks" paragraph):
Monitor all sessions with /tasks in the Claude Code CLI. When a session completes, you can create a PR from the web interface or [teleport](#from-web-to-terminal) the session to your terminal to continue working.
After (add a cross-reference note):
Monitor all sessions with /tasks in the Claude Code CLI. When a session completes, you can create a PR from the web interface or [teleport](#from-web-to-terminal) the session to your terminal to continue working. The same task set is also shown in the background-task panel of a Remote Control session that you are driving from the web or the Claude app; {/ min-version: 2.1.205 /}as of v2.1.205, that panel recomputes its full task set on every membership change instead of patching incrementally.
Impact
Medium - Makes feature difficult to understand
Additional Context
The Agent SDK TypeScript reference at https://code.claude.com/docs/en/agent-sdk/typescript already documents the membership-change / full-task-set pattern that v2.1.205 starts using for the web and mobile Remote Control panels. The user-facing Remote Control page should describe the same pattern from the user's perspective (what the panel shows, when it updates, and why a stale Running row no longer occurs on v2.1.205), with a one-line cross-reference to the SDK reference for SDK consumers who need the message-level contract.
The "Connect from another device" section already names the claude.ai/code and Claude app surfaces, so it is the right place to introduce the background-task panel. The "Check connection status" section is the right place to explain the panel's update mechanism, because the panel updates the same way for the terminal-side /rc active indicator and the web/mobile UI. The "Limitations" section is the right place to record that the panel now reflects the live task set instead of an incremental cache, and the "Troubleshooting" section is the right place for the user-facing symptom entry.
Affected Pages:
| Page | Line(s) | Context |
|------|---------|---------|
| https://code.claude.com/docs/en/remote-control | 117-121, 123-129, 255-264, 266-329 | "Check connection status", "Connect from another device", "Limitations", "Troubleshooting" |
| https://code.claude.com/docs/en/claude-code-on-the-web | 639-640 | /tasks cross-reference paragraph |
Total scope: 2 pages affected