Skip to content

Subagent transcripts are inlined verbatim and uncapped into the parent session export #3944

Description

@kapral18

Describe the feature or problem you'd like to solve

When a session uses subagents, the parent's exported transcript inlines the complete transcript of every subagent verbatim, with no summarization and no size bound. Each subagent's full tool-call output is embedded into the parent, and a subagent that runs more than once (e.g. a retried phase) has its full transcript embedded again on each run.

Concretely, a single exported session from a multi-lane review flow came out to ~3.2 MB / ~58k lines: roughly 66% of it was inlined subagent transcripts, and a phase that ran three times added another ~30% because each run's full transcript was inlined again. There's currently no way to make the export summarize or externalize subagent transcripts — the parent always embeds the full child log.

Proposed solution

Add a way to keep the parent export bounded when subagents are involved. Any one of these would help:

  • Summarize each subagent in the parent export (final message + tool-call count + key results) instead of inlining its full log.
  • Externalize each subagent transcript to its own artifact and reference it from the parent, so full detail is preserved but not inlined.
  • A flag/setting to choose inline vs. summarized vs. externalized export.

Full detail stays recoverable; the parent transcript stops growing unbounded with each subagent and each retry.

Example prompts or workflows

  • A multi-subagent run (e.g. several parallel analysis/review lanes): today the parent inlines every lane's entire transcript; a summary plus per-lane artifacts would keep the parent readable.
  • Re-running an expensive sub-step several times in one session: today each run's full transcript is re-inlined, multiplying size; a summarized/externalized export records each run compactly.
  • Long sessions in general: a bounded parent transcript stays reviewable, where a fully-inlined one becomes unmanageable.

Additional context

  • Affected version: copilot 1.0.65 (Homebrew cask).
  • The behavior appears to come from the export renderer that joins each subagent's timeline entries and embeds the full tool-call output for every entry, with no truncation or summarization branch in that path.
  • OS: macOS (ARM).

Metadata

Metadata

Labels

area:agentsSub-agents, fleet, autopilot, plan mode, background agents, and custom agentsarea:sessionsSession management, resume, history, session picker, and session state
No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions