[FEATURE] Expose active task subjects in statusline JSON input

Resolved 💬 4 comments Opened Feb 14, 2026 by Ryosuke1025 Closed Mar 14, 2026

Related Issue

This builds on #16388, which requests adding task/agent tracking data to the statusline JSON. While #16388 focuses on structural metadata (task type, subagent_type, id, count), it does not include the human-readable task description for agents — the short label passed to the Task tool (e.g., "Generating audio", "Building thumbnail").

This issue specifically requests exposing that description field so users can see what each subagent is doing at a glance, not just what type it is.

Note: Lost requirements from duplicate closures

Both #20588 and #24096 explicitly requested the description field in their proposed JSON schemas:

  • #20588: { "description": "Running tests", "agent_type": "build-validator" }
  • #24096: { "description": "Find auth patterns", "agent_type": "Explore" }, { "description": "Run tests", "agent_type": "general-purpose" }

However, both were closed as duplicates of #16388 — which only includes description for shell tasks ("description": "pnpm dev"), not for agents. The description requirement was lost in the deduplication process.

This issue aims to ensure that requirement is not forgotten.

Problem Statement

When running background subagents (via the Task tool with run_in_background), the status line currently shows only an aggregate count like Tasks: 2. There is no way to see which subagents are currently running without scrolling back through the conversation.

Even with #16388 implemented, the proposed JSON only distinguishes agents by subagent_type (e.g., "Explore", "code-reviewer"), not by what task they are working on. For example, two parallel "general-purpose" agents would be indistinguishable:

{ "id": "agent_def456", "type": "agent", "subagent_type": "general-purpose" },
{ "id": "agent_ghi789", "type": "agent", "subagent_type": "general-purpose" }

Proposed Solution

Include the description field (the 3-5 word summary passed to the Task tool) in each task item within the statusline JSON:

{
  "tasks": {
    "count": 2,
    "items": [
      { "id": "agent_abc", "type": "agent", "subagent_type": "general-purpose", "description": "Generating audio" },
      { "id": "agent_def", "type": "agent", "subagent_type": "general-purpose", "description": "Building thumbnail" }
    ]
  }
}

This would allow custom statusline scripts to render something like:

[Generating audio, Building thumbnail]

When no background subagents are running, the array would be empty:

[]

Alternative Solutions

  • Relying on subagent_type alone (#16388): Insufficient when multiple agents of the same type run in parallel — they become indistinguishable.
  • Manually checking with TaskOutput: Works, but interrupts the workflow and is not visible at a glance.
  • External monitoring: Could parse Claude Code's output externally, but this is fragile and unsupported.

Priority

Medium - Would be very helpful

Feature Category

Interactive mode (TUI)

Use Case Example

Example scenario:

  1. I kick off three background subagents in parallel: audio generation, infographic creation, and thumbnail generation — all using subagent_type: "general-purpose"
  2. With only #16388, the statusline JSON would show three identical "general-purpose" entries
  3. With this feature, each entry includes its description, so my statusline can show [Generating audio, Creating infographic, Building thumbnail]
  4. When subagents complete one by one, the display updates to [Creating infographic] and finally []

Additional Context

  • The description parameter is already required when calling the Task tool and is designed as a short (3-5 word) human-readable label — it maps directly to this use case.
  • Several other "expose X in statusline JSON" requests exist (session name #18022, effort level #24758, rate limit #25041, billing usage #24489), showing precedent for expanding the statusline data model.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗