Subagents run in their own context and hand back one final summary. The main agent never sees the steps, only the report. So all the doubt the subagent had along the way, “couldn’t find where this is called,” “assumed this config is the live one,” “didn’t check the second implementation,” gets dropped when it writes the summary. The summary reads confident because summaries do. Then the main agent acts on it as fact. I watched a refactor go wrong because an explore subagent reported “this function is only used in two places.” It had searched one directory. What I add to every subagent definition now: End every report with a section called “Not verified”. List every claim in your report that you inferred rather than confirmed, and for each one, say what you would need to check to confirm it. If everything was verified, write “Not verified: none” and list the commands or files that verified it. And for anything that locates code: For every location you report, give the file path and line number. Do not report a location you did not open. And one line in CLAUDE.md for the main agent: Before acting on a subagent’s report, read its “Not verified” section. Do not treat anything listed there as fact. Check it yourself or ask me. The “Not verified: none” part does more than it looks like. Being made to list what verified everything makes it notice when nothing did, and the section stops being empty. What else gets lost between the subagent and the main agent for you? submitted by /u/Ok_Negotiation_2587
Originally posted by u/Ok_Negotiation_2587 on r/ClaudeCode
