A real subagent invocation in the tracehouse waterfall
This is an excerpt of a public Claude Code transcript from Trace Commons, dated June 12, 2026, rendered with tracehouse’s actual waterfall component. Attribution: Trace Commons, CC BY 4.0. Prompts, code and file paths are omitted; row IDs and labels are shortened. Tool bars use the interval between a call and its paired result.
The main agent uses claude-sonnet-4-6. Its Explore result reports 22 tool calls (11 reads and 11 searches) and 28,878 ms elapsed time. The observed parent call-to-result interval is 28.912 seconds. The later Read belongs to the main agent, not the subagent. Open the public trace excerpt and readable timeline.
Main agent → subagent → tool calls
Claude Code subagents work in their own context. The parent invokes a named task and receives a result; the child can perform its own tool work. The official subagent documentation describes the agent lifecycle and child transcripts under ~/.claude/projects/{project}/{sessionId}/subagents/agent-{agentId}.jsonl.
tracehouse’s hosted waterfall and transcript views use recorded parent-span links. Agent and legacy Task invocations are recognized as subagent calls. Available descendants can be expanded or collapsed. The local session viewer also labels Agent and Task invocations.
Visibility limit: this source contains the returned subagent summary and aggregate tool counts, not the 22 individual child calls. The example therefore does not fabricate those rows. A missing child record cannot be reconstructed from its parent’s summary, and transcript formats may differ between Claude Code versions. Do not assume that files from separate agents will automatically merge into a complete cross-agent tree.
Debug errors and timing
- Find the delegation. Inspect the Agent or Task input and the parent’s surrounding messages to establish what was requested.
- Read the result. Separate the child’s reported completion from explicit tool errors. In this excerpt, the child reports completed; no explicit error flag is present in the two visible results. That does not establish an error count for the hidden child calls.
- Check available child records. If they are missing, locate the child transcript before attributing a failure to a particular command.
- Measure the right interval. Call-to-result time may include waiting, execution and delivery. Do not add overlapping subagent durations to obtain wall-clock session time.
- Inspect what the parent did next. A child result matters only in the context of the parent’s follow-up and the actual verification output.
Monitor multiple Claude Code agents
For independent sessions, use automatic session monitoring and retain the session, project and time context for each run. Separate sessions are not necessarily subagents of one root. Review them individually before comparing outcomes.
Use the existing trace comparison workflow to compare attempts with similar tasks and inputs. Check which tools changed, where recorded errors appeared and whether elapsed time increased. Compare cost and token usage only where the underlying usage fields exist; do not infer a per-subagent bill from the number of calls.
For native telemetry routed into your own tracing backend, read the Claude Code OpenTelemetry guide. For locating saved parent and child files, use the session history guide.