Claude Code Lazy-Loads Tool Schemas via ToolSearch to Save Tokens

A Reddit analysis of Claude Code's system prompt reveals that tools are lazy-loaded to reduce token consumption. Instead of sending every tool's full schema with every request, Claude Code sends a list of tool names in a <system-reminder> tag and instructs the model to call ToolSearch first to load the schema for each tool.
How It Works
The system prompt includes an instruction like this:
<system-reminder> The following deferred tools are now available via ToolSearch. Their schemas are NOT loaded — calling them directly will fail with InputValidationError. Use ToolSearch with query "select:<name>[,<name>...]" to load tool schemas before calling them:AskUserQuestion CronCreate CronDelete CronList EnterPlanMode EnterWorktree ExitPlanMode ExitWorktree Monitor NotebookEdit PushNotification RemoteTrigger TaskOutput TaskStop TodoWrite WebFetch WebSearch
[+ ~130 MCP tools (Slack, Notion, Gmail...)] </system-reminder>
The <system-reminder> is injected only in the first user message of the conversation. A similar block lists skills with single-line descriptions.
Token Impact
According to the post, the system instructions plus reminders alone consumed 38k tokens on a simple "hi" test message. Loading every tool's full schema upfront would drastically increase that burn — hence the lazy-loading approach.
Practical Implications
If you're building on Claude Code or similar agent-based systems, this pattern is worth adopting:
- Defer schemas for rarely-used tools until needed.
- Use a
ToolSearch-like command to explicitly request schemas. - Keep reminders within the first message to avoid repeating context.
This also means that if you're writing custom tools for Claude Code, you must ensure the model can discover them via ToolSearch — otherwise they'll be invisible or cause validation errors.
📖 Read the full source: r/ClaudeAI
👀 See Also

Exasol Releases MCP Server for Database Context in AI Agent Workflows
Exasol has released an MCP Server that enables databases to provide context to AI agents about available data, business rules, and safe interaction methods. The server is read-only by default, supports high-concurrency workflows, and can be deployed on-prem, in cloud, or hybrid environments.

LamBench: A Lambda Calculus Benchmark Suite for AI Coding Agents
LamBench is a benchmark suite evaluating AI agents on lambda calculus tasks, measuring intelligence, speed, and elegance. The v1 release includes problems and a matrix of scores.

Buyer Eval: Claude skill for B2B vendor evaluation using AI agent conversations
A Claude skill that evaluates B2B software vendors by researching your company, asking domain-specific questions, and directly interrogating vendor AI agents through the Salespeak Frontdoor API. It cross-references claims against independent sources and produces evidence-based scorecards with transparent verification levels.

ClamBot: AI Agent Runs LLM-Generated Code in WASM Sandbox for Security
ClamBot is an AI agent framework that executes all LLM-generated code in a WebAssembly sandbox using QuickJS in Wasmtime, eliminating the need for exec() or subprocess calls. It includes an approval gate for tool calls, persistent script caching as 'clams', and supports multiple LLM providers.