Claude Code repeatedly makes costly mistakes with paid API calls
Resolved 💬 3 comments Opened Apr 10, 2026 by JeongChangsu Closed Apr 14, 2026
Description
When working with paid API services (xAI Grok, etc.), Claude Code repeatedly makes mistakes that waste money, despite explicit agreements with the user about which approach to use.
Examples from a single session
- Ran single API calls instead of batch API - After explicitly agreeing to use batch API (50% cheaper), Claude reflexively executed the single-call script (
batch_ai_matching.py) instead of the batch script (batch_ai_bulk.py), wasting ~$0.10 on 183 unnecessary single API calls.
- Applied DB updates one-by-one instead of bulk - After agreeing to use bulk UPDATE, started a process with individual UPDATE queries (each taking ~50ms over SSH tunnel). Only realized the mistake after user pointed it out, then killed and restarted - wasting ~15 minutes of duplicate API download time.
- Submitted full re-match batch without confirming - Sent 37,026 items to batch API ($19.53) without final user confirmation after rate limit discussion.
Pattern
The user reports this happens ~9 out of 10 times when money is involved. While likely not intentional, the pattern of mistakes clustering around paid operations (vs free local operations) is concerning and frustrating for users.
Expected behavior
- Claude should be extra cautious with operations that cost money
- Should always confirm before executing paid API calls
- Should not fall back to expensive methods when cheaper alternatives were agreed upon
- Should verify the correct script/method before execution
Environment
- Claude Code CLI
- Model: claude-opus-4-6
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗