[BUG] Built-in tools + MCP descriptions load on first message causing 10-20k token overhead

Resolved 💬 7 comments Opened Jul 12, 2025 by byPawel Closed Jul 13, 2025

[BUG] All tool descriptions load on first message causing 10-20k token overhead

Environment

  • Platform (select one):
  • [x] Anthropic API
  • [ ] AWS Bedrock
  • [ ] Google Vertex AI
  • [ ] Other: <!-- specify -->
  • Claude CLI version: 1.0.51
  • Operating System: macOS 14.5
  • Terminal: Warp

Bug Description

Claude Code loads ALL tool descriptions (both built-in and MCP) into context immediately after the first user message, regardless of whether any tools are needed. This causes massive token consumption even for simple queries.

Token Analysis (observed with --verbose):

  • Built-in tools: Approximately 10,000-11,000 tokens (this seems to affect all users)
  • With MCP servers: Additional 4,000-8,000+ tokens
  • Total overhead: 10,000-20,000+ tokens on every conversation start

This means even asking "hello" or "what's 2+2?" triggers loading of:

  • 15 built-in tools (Task, Bash, Grep, Read, Edit, MultiEdit, Write, WebFetch, WebSearch, TodoWrite, NotebookRead, NotebookEdit, LS, Glob, exit_plan_mode)
  • Plus any configured MCP tools
  • All with verbose descriptions

Steps to Reproduce

  1. Launch Claude Code with verbose flag: claude --verbose
  2. Type any simple message: "hello", "what's 2+2?", or "how are you?"
  3. Observe token count jumping from ~0 to:
  • Without MCP: ~11,600 tokens
  • With 4 MCP servers: ~15,000 tokens
  • With 7+ MCP servers: ~20,000+ tokens

Expected Behavior

  • Tool descriptions would ideally load only when needed for the specific task
  • Simple queries like "hello" or "what's 2+2?" would use minimal tokens
  • Token consumption would scale with actual tool usage

Actual Behavior

  • ALL tool descriptions load immediately after first message
  • Every conversation starts with 10,000+ token overhead
  • Simple "hello" costs same tokens as complex tool-using tasks
  • Built-in tools alone consume ~10,600 tokens (before any MCP)

Additional Context

Real Example:

User: "What's 2+2?"
Token consumption:
- Before message: ~1,000 tokens
- After message: ~15,000 tokens (with 4 MCPs)
- Actual response: "4" (~5 tokens)
- Wasted tokens: ~14,000
- Cost overhead: ~$0.21 per simple question

Impact:

  • Based on my testing, every conversation appears to start with ~10,000+ tokens for built-in tools
  • Users with MCP integrations see even higher consumption (15,000-20,000+ tokens)
  • This makes simple queries unexpectedly expensive
  • The token overhead is the same whether asking "hello" or performing complex tasks
  • In my case with multiple MCP servers configured, I had to disable several to reduce token consumption by 30,000-35,000 tokens per conversation start

Current Workarounds I'm Using:

  1. Disabled several MCP servers to reduce token consumption
  2. Batching multiple questions in one session when possible
  3. Using /compact command more frequently

Note:
This behavior appears to be new in v1.0.51. I don't recall seeing this level of token consumption in previous versions.

Related Issues:

  • This seems distinct from #2638 (MCP response truncation)
  • Different from #2320 (token limits with /mcp list)
  • The main observation: all tool descriptions appear to load after the first message

View original on GitHub ↗

This issue has 7 comments on GitHub. Read the full discussion on GitHub ↗