subagentStatusLine never receives in_process_teammate tasks despite documented coverage of all agent-panel rows
Version: v2.1.233 (macOS / darwin)
Summary
The statusline docs describe subagentStatusLine as rendering "a custom row body for each subagent shown in the agent panel," and the input payload's per-task type field implies coverage across agent types. In practice, only local_agent tasks are ever passed to the script. Rows for named in-process teammates (spawned via the Agent tool with a name) render through fixed built-in UI and never appear in the script's tasks[] — so their model, effort, and context usage cannot be displayed, while background agents' can.
Repro
- Configure
subagentStatusLine(type: "command") with a script that tees its stdin JSON to a file and emits valid{"id":..., "content":...}rows. - Spawn a named in-process teammate via the Agent tool (e.g. with
model: "sonnet"); keep its row visible in the agent panel for its full lifetime (~30s). - Also run any background /
local_agenttask for comparison.
Observed: across 12 consecutive script invocations captured while the teammate's row was on screen, tasks[] contained only local_agent entries (with model correctly populated, e.g. "claude-sonnet-5"); zero in_process_teammate entries. The teammate's row renders in a plainer fixed format (name, description, elapsed, tokens) with no model.
Expected: every row visible in the agent panel — including in_process_teammate — is passed to subagentStatusLine with its model / effort / token fields, per the documented contract.
Impact
Users who spawn teammates with per-agent model overrides (e.g. builders on Sonnet, reviewers on Opus, orchestration on another model) have no UI surface showing which model each teammate actually runs on. The only workaround is embedding the model in the agent's name.
Related (secondary)
Cross-session peer listings (/list-agents, v2.1.224+) show name / status / cwd / location but also omit the peer session's model — the same visibility gap one tier up.
Docs referenced
- https://code.claude.com/docs/en/statusline (subagent status lines)
- https://code.claude.com/docs/en/cross-session-messaging
- https://code.claude.com/docs/en/changelog (v2.1.233 — "custom agent rows can render model and effort")