Watch the subagents
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
The strip appears as soon as a subagent or a background shell starts.

Tap the summary row (
#subs-toggle) to expand it.
Tap a row to open that subagent's detail.

Tap
‹ All N subagents(‹ All N jobsonce a shell is in the list) to go back to the list.When the last one finishes, the collapsed strip reads
completeand the ring turns into a green tick.
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
- The feed keeps the last 30 activity lines per subagent. Consecutive duplicates collapse, because codex reports every item twice (started, then completed).
- A finished subagent leaves the strip when the turn ends and none are still running. Background agents outlive the turn that launched them and stay.
- A shell row leaves the strip when its command ends. It has no feed of output.
- A subagent left running by a process that went away is marked
failedbefore the next turn starts, so the count cannot drift into "38 subagents · 2 running" with nothing running. - A nested subagent (an agent launched by a subagent) is a line on the parent's feed, not a row of its own.
- A subagent's own text, thinking and token usage never reach the transcript.
- opencode does not report subagents.
- Only claude reports a subagent's model. Its effort is known only for a Fusion
worker and for an agent whose file in
.claude/agentssetseffort; any other row shows the model alone. A codex, cursor, Devin or Muse row keeps the agent's name.
Related
- plan-strip: the strip above the transcript
- read-the-transcript: the
SUBAGENTtool cards - background-and-resumed-subagents: which rows exist and when they close
- switch-tabs: the count a tab wears
- threads-sheet: the same count in the thread list
- icon-legend: the status marks
- the-three-agents: why opencode reports none
- fusion: a Fusion tab's executor runs here as
fusion-worker