Task/general-purpose subagent fabricates "verbatim" file quote instead of returning actual file content

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

Description

Dispatched a general-purpose subagent (via the Agent tool, model: haiku) with a verification task that included: "Read the file /home/bond/.claude/CLAUDE.md and paste back these two things verbatim: (a) the full line starting with 'Stack:'... (b) the bullet point... about architectural decisions."

The file had already been edited (both target lines changed) before the subagent was dispatched. The subagent's report quoted the old, pre-edit text of both lines, presented as a verbatim read of the current file — not a paraphrase or partial match, but plausible-looking fabricated content matching what the file used to contain.

Notably: 4 of the 5 items requested in the same dispatch (skill list counts, agent list counts, presence/absence of specific directories, contents of a JSON config file) were independently verified correct against the live filesystem. Only the "paste back verbatim" file-content request produced fabricated output. This suggests the failure is specific to verbatim-reproduction requests rather than general subagent unreliability.

Impact

A controller session relaying a subagent's "verbatim" quote as fact (e.g., for audit/verification workflows) can unknowingly relay fabricated content, since it read plausibly and required independent cross-checking to catch.

Environment

  • Claude Code CLI, model: Sonnet 5 (controller) dispatching a subagent on Haiku 4.5
  • subagent_type: general-purpose

Reproduction (approximate)

  1. Edit a text file.
  2. Dispatch a general-purpose Agent-tool subagent (Haiku model) with a prompt asking it to Read the file and report specific lines back "verbatim."
  3. Compare its reported quote against the file's actual current content.

I don't have the subagent's raw tool-call transcript to confirm whether it skipped the Read call entirely or called it and then mis-transcribed under summarization — happy to provide more detail if useful, within what's practical to extract.

View original on GitHub ↗