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-qualityreview and ageneral-purposeresearcher look identical until you do. - Correlating transcript rows with
--output-format stream-jsonevents requires matching on description text, because the TUI doesn't expose thesubagent_typethat 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_typeon 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.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗