When Claude Code hands work to subagents, like an Explore agent mapping a codebase, it can show a row for each one in the agent panel. What that row shows is up to you, with a second script set in subagentStatusLine. Statusline Studio builds it the same way it builds the main line.
Switch to subagent rows
At the top of Statusline Studio, the switch next to the preview has two modes:
- Status line: the bar under your prompt (the
statusLinesetting) - Subagent rows: one row per running subagent (the
subagentStatusLinesetting)
Switch to Subagent rows. The segment list, the templates and the preview change to the subagent set. Your main status line is kept; switch back any time.
Pick the subagent segments
There are 15 segments for subagent rows:
| Segment | What it shows |
|---|---|
| Agent name and agent type | Which agent this is, like Explore |
| Status | Whether it is running, done or failed |
| Description and label | What it was asked to do |
| Task ID (short) | A short id, to tell two agents of the same type apart |
| Model and reasoning effort | Which model it uses, and its effort if set |
| Token count, context used %, context window size | How much it has read so far |
| Running for | How long it has been working |
| Working directory | Where it works, which differs from yours when it runs in its own worktree |
| Custom text / emoji, Fixed gap | Your own text and spacing |
Two hints the editor shows are worth knowing: Model is empty until the task picks a model, and Reasoning effort is empty when the subagent uses the session's effort.
Start from an agent template
Five templates are made for subagent rows:
| Template | The look |
|---|---|
| Agent Rows | Name, state, model, context gauge |
| Agent Compact | One glance: who, how full, how long |
| Agent Detail | A filled status chip plus what it is doing |
| Agent Nerd | Nerd Font icons for every field |
| Agent Columns | Padded so every row lines up |
Rows sit on top of each other, so Columns is often the best line shape here: the names, gauges and times line up across agents. Subagent rows offer Flow and Columns.
Understand what is different
The subagent script gets one JSON object with a tasks array, one entry per subagent, and the terminal width:
{
"tasks": [
{ "id": "t1", "name": "Explore", "agentType": "Explore", "status": "running",
"tokenCount": 42150, "contextWindowSize": 200000, "cwd": "/home/you/Projects/app" }
],
"columns": 80
}It prints one JSON line per row, {"id": ..., "content": ...}, so Claude Code knows which row belongs to which agent. The studio writes all of that; you only design the row.
Install it next to your status line
Copy install command works the same as for the main line, and saves the script as ~/.claude/subagent-statusline.sh (or .py, .js). It adds subagentStatusLine to ~/.claude/settings.json and leaves your statusLine alone, so both work side by side:
{
"statusLine": { "type": "command", "command": "bash ~/.claude/statusline.sh", "padding": 0 },
"subagentStatusLine": { "type": "command", "command": "bash ~/.claude/subagent-statusline.sh" }
}Restart Claude Code and ask it for something that uses a subagent, like exploring a large folder, to see the rows.
The last lesson is about sharing: a link to your design, and one status line for a whole team.