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

Lemonade by AMD: Open Source Local LLM Server for GPU and NPU
Lemonade is an open source local AI server that runs text, image, and speech models on GPUs and NPUs. It's OpenAI API compatible, supports multiple models simultaneously, and has a 2MB native C++ backend.

TEMM1E v3.1.0: AI Agent That Self-Fine-Tunes Using User Interactions
TEMM1E v3.1.0 introduces Eigen-Tune, a system that captures LLM interactions as training data, scores quality from user behavior, and fine-tunes local models via LoRA with zero added LLM cost. Tested on Apple M2, it corrected temperature conversions from 72°F = '150°C' to '21.2°C' after 10 conversations.

ApexClaw: Open-Source Telegram AI Agent with 85+ Tools for Web Automation, Voice, and Email
ApexClaw is an open-source Telegram AI agent written in Go that provides 85+ built-in tools including web browsing with headless Chrome, voice note processing, Gmail integration, and shell script execution. It's self-hosted and uses the z.ai engine for reasoning.

Arena AI Model ELO History Tracks LLM Performance Decay Over Time
A live dashboard visualizes ELO ratings of flagship models from major AI labs, revealing gradual performance degradation and sudden jumps at new releases. The tool dynamically plots one curve per lab, tracking the highest-rated model.