Task/general-purpose subagent fabricates "verbatim" file quote instead of returning actual file content
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)
- Edit a text file.
- Dispatch a
general-purposeAgent-tool subagent (Haiku model) with a prompt asking it toReadthe file and report specific lines back "verbatim." - 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.