VCode home

Watch the subagents

Agents: claude, codex · On: phone, desktop

A strip under the transcript (#subs) that appears when the agent launches subagents. On a wide window it is a header row instead, under that pane's plan strip and at the pane's full width. It says how many there are, subagents and shells apart, and how many are running, and opens into a list of them with what each one is doing. A shell command the agent sent to the background is a row too.

Why you would use it

A parent agent that has handed work to four subagents looks idle. The strip is where the work actually is: which agent is on what, how long it has run, and what it reported last.

How to use it

  1. The strip appears as soon as a subagent or a background shell starts.

    The collapsed strip under the transcript: a spinning ring, 3 SUBAGENTS, and 2 running on the right

  2. Tap the summary row (#subs-toggle) to expand it.

    The strip expanded into three rows, the two running ones first, each named by its model and effort, such as Opus 5.5 High, with a task and either an elapsed time or completed

  3. Tap a row to open that subagent's detail.

    One subagent's detail: the back link, its model and effort, its agent's name and its time, its task, and a DOING NOW feed with a clock time on each line

  4. Tap ‹ All N subagents (‹ All N jobs once a shell is in the list) to go back to the list.

  5. When the last one finishes, the collapsed strip reads complete and the ring turns into a green tick.

    The collapsed strip after every subagent finished: a green tick, 3 SUBAGENTS, and complete on the right

What you see

Collapsed: a mark, the count (#subs-label), and the status (#subs-status): either N running or complete. The count reads N SUBAGENTS, N SHELLS, or both joined with ·, as in 2 SUBAGENTS · 1 SHELL. A kind with none is left out. The mark is a spinning amber ring like a working tab's while any subagent runs. While only shells run it is the blue background mark, the same one a tab shows while a shell it started still runs. Once all are done it is a green tick, or a red cross if one of them failed.

Expanded with more than one, a list. Running ones lead, each group in launch order. Each row is a status mark (an amber dot while it runs, a green check when it completed, a red cross when it failed), the model and effort it runs on, its task (or its latest activity line), and on the right how long it has run (4m) or how it ended (completed, failed). A background shell is a row too, named shell, with its command's description (Background command when it gave none) and elapsed time. A running shell row wears the blue background mark, not the amber dot. With exactly one entry the strip opens straight to its detail, with no list to come back to.

A row reads as its model and effort: Opus 5.5 High for an agent defined on Opus at high, Haiku 5.5 xHigh for a Fusion worker on Haiku at xhigh. With no effort known it is the model alone, Haiku 5.5, and with no model known it is the agent's name, Explore or fusion-worker. On a claude tab the model shows from the launch, and the subagent's first message replaces it with the model it actually runs.

The detail shows the model and effort, the agent's name beside it, and the time, then the task (or No task details were reported.), then its activity feed under DOING NOW while it runs or WHAT IT DID once it is finished, newest line first with a clock time on each. If the subagent was launched with a prompt that differs from its task, that follows under PROMPT.

On a phone, opening this strip folds the plan strip if it is open, and opening the plan strip folds this one, so the two lists never cover each other. On a wide window both can stay open.

On the tab strip and in the thread list, a tab with subagents running wears its count: an idle tab with agents shows a spinning amber arc, a working tab the amber dot inside one, and the label reads idle · 2 agents running.

Limits and known gaps