Subagent final report can come back as a bare pointer with no body — result is unrecoverable

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 22, 2026

Description

When a subagent finishes, its final report is meant to be returned to the agent that spawned it. On more than one occasion the returned content was a bare pointer — text to the effect of "report delivered above" — with no report anywhere in the conversation.

The work was done and the tokens were spent; only the delivery failed. There is no way to fetch the result afterwards, so the only recovery is to re-run the whole subagent and pay for it twice.

Why this is worse than it sounds

The failure is silent and terminal:

  • the spawning agent has no way to distinguish "the subagent produced nothing useful" from "the subagent produced a report that was dropped in transit"
  • there is no retrieval path. The completed agent's output is not addressable after the fact
  • the cost is already sunk. A long research subagent can burn a large amount of tokens before the delivery step, and all of it is lost

In one observed case a research subagent ran for roughly 12 minutes and ~190k tokens. Losing that to a delivery failure rather than to a bad result is a materially different kind of loss.

Expected

Two independent fixes, either of which would remove the class:

  1. Return the report body itself rather than a reference to it. The reference indirection is what breaks; the body cannot go missing if it is the payload.
  2. Failing that, make a completed subagent's output retrievable after the fact — by agent id, from the parent. That would at least turn a terminal loss into a recoverable one.

The second is valuable even if the first lands, because it also covers the case where a parent's context was compacted between the spawn and the read.

Environment

  • Claude Code, macOS (Darwin 25.5.0)
  • Observed with general-purpose subagents spawned from an interactive session

View original on GitHub ↗