[FEATURE] Expose agentType per task in the subagentStatusLine payload

Status Open
Reported on v2.1.214
Maintainer reply None cached
Activity 0 comments · opened Jul 24, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Every row in the agent panel reaches subagentStatusLine as type: "local_agent", so a custom command can't tell what kind of agent it's rendering. A fork, which inherits the parent's entire conversation, looks identical to a fresh code-reviewer or Explore agent.

name doesn't fill the gap either, since it's whatever the caller passed to the Task tool. Two rows named after their task can be a fork and a fresh agent and still render the same.

When several agents are running at once, that leaves no way to see which ones inherited context and which started clean.

Proposed Solution

Add agentType to each entry in the tasks array, carrying the same value already stored in the subagent's meta.json:

{
  "id": "a1b2c3d4e5f60718",
  "type": "local_agent",
  "name": "ship-audit",
  "model": "claude-opus-5",
  "effort": "high",
  "agentType": "fork"
}

So fork for forked agents, otherwise the agent type as dispatched (code-reviewer, Explore, general-purpose). That's enough to style or filter rows by kind.

Alternative Solutions

None that work today. type is the same on every panel row, and name is caller-supplied so it can't be relied on to encode the kind. #71292 notes agentType is already persisted in agent-<id>.meta.json, but a status line command has no access to it at render time.

Priority

Low - Nice to have

Feature Category

Configuration and settings

Use Case Example

  1. A session dispatches a mix of agents: a couple of forks for context-heavy audits, plus fresh Explore and test agents.
  2. A custom subagentStatusLine renders a row per agent with model, effort, and context usage.
  3. With agentType, the forks could carry a marker, so it's obvious which rows inherited the parent's context and which started clean.

Additional Context

This is the same shape as the two fields that already landed in this payload: model (#73654) and reasoning effort (2.1.214, requested in #77484). Both were per-task additions, so this would follow the same path.

Related: #71292 (row labels, notes agentType in meta.json) and #80560 (the panel only covers Task subagents).

View original on GitHub ↗