Skip to content

TaskOutput returns full JSONL transcript instead of agent's final response #20531

Description

@miguel-iex

Summary

When using TaskOutput to retrieve results from background agents (run_in_background=true), the tool returns the entire agent conversation transcript as a serialized JSONL string instead of just the agent's final response text.

Reproduction

  1. Spawn a background agent:
Task(
    subagent_type="general-purpose",
    prompt="Do something and return a summary",
    run_in_background=True
)
  1. Retrieve results:
TaskOutput(task_id="<agent_id>", block=True)
  1. The returned task.output field contains the full JSONL conversation history (~200-500KB) instead of the agent's final text response (~500 bytes).

Expected Behavior

TaskOutput should return only the agent's final assistant message text, e.g.:

Output: outputs/my-file.md
Summary:
- Finding 1
- Finding 2
Confidence: 0.92

Actual Behavior

TaskOutput returns a serialized JSONL string containing all messages from the agent's sidechain conversation:

{"parentUuid":null,"isSidechain":true,"type":"user","message":{...}}
{"type":"assistant","message":{...}}
{"type":"user","toolUseResult":{...}}
... (40+ messages, 200-500KB total)

Impact

  • Context bloat: Each background agent result consumes 200-500KB instead of ~500 bytes
  • Transcript size: A session with 2 background agents had a 2.1MB transcript instead of ~200KB
  • Token waste: Unnecessary context consumption affects cost and may cause truncation

Evidence

From session a97c8078-bf8e-4c09-b1e2-bda06542e91f:

  • Line 107: 457KB TaskOutput result (should be ~500 bytes)
  • Line 111: 514KB TaskOutput result (should be ~500 bytes)
  • Both contained 42 JSONL messages each

Environment

  • Claude Code version: 2.1.19
  • OS: macOS (Darwin 24.6.0)

Workaround

The orchestrator can work around this by having agents write to output files and reading those files directly, ignoring the bloated task.output field.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions