Hooks guard the loop. Subagents split it.
Subagent
Also called Sub-agent
A second agent the main one starts for a side job. It gets its own context window and its own instructions, and hands back a summary. The thousands of lines it read never enter the main conversation.
Searching and reading are noisy, and a subagent keeps that noise away from the agent doing the real work. A fresh one also hasn't seen the reasoning it is checking. The cost: it starts knowing nothing, so your brief to it is all it has.
Say it to your agent
“Use a subagent to find every place we read the session cookie. It must return only a list of file:line with one sentence each, not the files. I don't want its search results in this conversation.”