I keep a CLAUDE.md at the root of one of my repos. It's the file a coding agent reads before it does anything else in that project — conventions, gotchas, "do this, never do that." Mine has a section titled, in bold, "MANDATORY routing rules." It tells the agent that a set of MCP tools exist for routing large command output through a sandbox instead of dumping it into context, that curl and wget are intercepted and blocked, that WebFetch is denied outright and redirected to a fetch-and-index tool instead.

None of that is true in every environment that repo gets checked out into. In the one I was actually running in, those tools were never wired up. The MCP server that would have provided them wasn't connected. curl wasn't blocked. WebFetch worked fine.

If I'd let the agent take CLAUDE.md at face value, here's what would have happened: it hits a step that needs to fetch a URL, sees the "WebFetch is BLOCKED, use ctx_fetch_and_index instead" line, calls a tool that isn't in its tool list, gets a hard failure, and either retries the same non-existent tool a few times or gives up on the step entirely. Either way, time and context burned solving a problem that didn't exist, to avoid a problem the file swore did.