Save on Claude Code Bills by Routing Planning Tokens to Cheaper Models

A Reddit user reports saving about $40 in overage fees on Claude Code last month by splitting token usage across models. The key insight: planning steps (especially in multi-file refactors) can consume up to 80% of the token budget, but most planning doesn't need the most expensive model.
How It Works
They wrote a 30-line wrapper that routes the initial 'figure out what to change' work to Haiku 3.5 — a cheaper model. Only the actual edits and decision-making stay on Opus or Sonnet. The setup took about 2 hours, including figuring out which steps were worth handing off.
Results
Last cycle ended with budget left over for the first time in 4 months. The user avoided the usual 2-day wait for the reset window. Savings: roughly $40 in overage fees.
# Pseudocode for the wrapper logic:
# 1. Send planning prompt to haiku-3.5
# 2. Get back a list of files and changes
# 3. Pass the plan + instruction to opus/sonnet for actual edits
Caveats
Haiku's planning quality is noticeably worse on architecture decisions. For refactor-and-test workflows where Opus picks up the real decisions anyway, it's fine. For greenfield design ('what should this app even be'), the user still lets Opus plan from scratch.
The user notes that this pattern is 'probably obvious to anyone who's looked at the OpenRouter model pricing tables,' but the Claude Code subagent docs are thin on this exact approach.
📖 Read the full source: r/ClaudeAI
👀 See Also

Claude Code Headless Mode with --print Flag
Claude Code can run in headless mode using the --print flag, allowing prompts to be piped in for automated output without interactive sessions. This enables integration into CI/CD pipelines, git hooks, and bash scripts.

Claude Code /insights command provides debugging and autonomous task tips
A Reddit user shares two practical techniques for using Claude Code's /insights command: asking for at least three potential root causes when debugging bugs, and using comprehensive task specifications with --dangerously-skip-permissions for autonomous runs.

How to Stop Hitting Claude Limits: Treat Each Session Like a Token Budget
User shares how they fixed daily Claude limits by stopping message bloat — scope the task, load only relevant context, clear after each session. Includes practical workflow & infographic.
