Label Agent tool calls with the dispatched agent's name

Resolved 💬 1 comment Opened Apr 20, 2026 by J-Melon Closed May 26, 2026

Scenario

When a session dispatches multiple agents in parallel (review swarms, research fan-out, or skill-orchestrated sub-tasks), every tool-call row in the transcript starts with the same literal Agent(...) prefix. Concrete failure modes:

  • Telling which agent is which means reading the parenthesised description on every row, both while watching a session run and when auditing a long one afterwards. A code-quality review and a general-purpose researcher look identical until you do.
  • Correlating transcript rows with --output-format stream-json events requires matching on description text, because the TUI doesn't expose the subagent_type that the JSON emits.

Proposal

In the interactive TUI transcript, render Agent tool calls using the subagent_type argument that is already present on every call:

code-quality(Review GDScript diff)
Explore(Find hyprlock submit path)
general-purpose(Check Linear for stale tickets)

(Built-in agent casing as currently rendered; the field is subagent_type on the Agent tool input.)

Scope: interactive terminal transcript only. No schema change required, since --output-format json / stream-json already carries subagent_type in the tool input.

Related

  • #39147
  • open, asks for subagent_type on the Claude App remote-control view. Same data, different surface.
  • #43553
  • stream-json subagent events.
  • #14859
  • agent hierarchy in hook events.
  • #46253
  • subagent observability gap.
  • #16529
  • closed via autoclose; about user-prompt attribution from inside an agent.
  • #26151
  • closed stale; hook-based rendering override, an alternative the maintainer might prefer.

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗