Expose active skills and running subagents in statusline JSON data
Resolved 💬 3 comments Opened Apr 14, 2026 by michtio Closed Apr 14, 2026
Problem
The statusline API currently exposes agent.name for the primary agent of a session, but does not surface:
- Active skill — when a skill is invoked via the Skill tool, there's no field in the statusline JSON indicating which skill is running
- Running subagents — when subagents are spawned via the Agent tool (e.g.
subagent_type: "Explore", custom agents), there's no visibility into which ones are active, their names, or their status
This limits what custom statuslines can display. The only agent-related field available is agent.name, which only reflects the primary session agent (set via --agent flag), not dynamically spawned subagents.
Proposed solution
Add two new fields to the statusline JSON payload:
{
"active_skill": {
"name": "craft-site"
},
"subagents": [
{ "name": "craft-planner", "status": "running" },
{ "name": "Explore", "status": "running" }
]
}
active_skill— present only when a skill is currently loaded/executing,nullor absent otherwisesubagents— array of currently running subagents with their name/type and status (running, completed, etc.)
Use case
Custom statuslines that show real-time session state. For example, displaying which skill is guiding the current response, or showing that background agents are working — so users know what's happening without reading the full output stream.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗