Delegated search
Why Glob and Grep answers arrive flagged as errors, and what actually ran.
A Grep over a large repository can return thousands of lines, and every one of
them lands in the session's context whether it was relevant or not. CULP stops
the parent session running its own search.
What happens instead
The plugin's PreToolUse hook denies the native tool and answers the same
question from a separate, cheap Haiku session. That session runs the search,
ranks and filters what it found, and returns only the matches worth having.
The answer names CULP. It has to: a caller that discovers an unattributed rewrite of its own tool results reads it as prompt injection, which is worse than knowing.
Every delegated answer arrives with an error flag. Blocking the native tool requires a deny decision, and Claude Code marks every deny as an error. The wording therefore says in words that the search ran and that the result below is real.
What it does not do
If the delegated session cannot start, the hook exits without a decision and the
native Glob or Grep runs normally. Search never becomes unavailable because
CULP is having a bad day.
The output budget is enforced in code rather than asked for in a prompt, so a verbose sub-agent cannot spend your context by ignoring an instruction.
What it costs
A separate session, on a smaller model, whose whole job is to read search results so your session does not have to. The comparison that matters is not "free versus not free": it is a few hundred tokens of ranked matches against several thousand lines of raw ones.