Decision tool

Claude Max
savings calculator

Claude Max gives unlimited usage for a flat monthly rate. This calculator shows what the same usage would cost at API rates — and how much you save.

Configure your usage

Adjust the sliders to match how you use Claude. Estimates assume prompt caching is active (which Claude Code uses automatically).

3
1 (casual) 10 (heavy) 20 (all-day)
100K tokens
10K (quick chat) 100K (coding session) 500K (long project)
70%
0% (no cache) 70% (typical Claude Code) 95% (large codebase)

Claude Code caches CLAUDE.md, MCP schemas, and system prompts automatically. Higher cache rate = cheaper API costs.

API cost
$0
per month at API rates
Max plan
$100
flat monthly rate
Unlimited sessions · No per-token billing
Savings
$0
per month with Max
Your usage

Adjust the sliders to see your estimate.

API cost vs Max plan 0%
$0 API cost $100 (Max)
Break-even
Cost per session
Sessions/month
Tokens/month

Track it live in your terminal

Terminal setup guide →

Add this snippet to your Claude Code statusline command to see the estimated API cost update in real time as you work — so you know exactly what you're saving each session.

# In your statusline command (receives JSON via stdin):
input=$(cat)
model_id=$(echo "$input" | jq -r '.model.id // empty')
total_input=$(echo "$input" | jq -r '.context_window.total_input_tokens // 0')
total_output=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
cache_write=$(echo "$input" | jq -r '.context_window.current_usage.cache_creation_input_tokens // 0')
cache_read=$(echo "$input"  | jq -r '.context_window.current_usage.cache_read_input_tokens // 0')

# Pricing lookup (per million tokens: input / output / cache-write / cache-read)
case "$model_id" in
  *fable-5*)                                 ip=10; op=50; cwp="12.50"; crp="1.0" ;;
  *opus-5*|*opus-4-8*|*opus-4-7*|*opus-4-6*) ip=5; op=25; cwp="6.25"; crp="0.5" ;;
  *sonnet-5*|*sonnet-4-6*)                   ip=3; op=15; cwp="3.75"; crp="0.3" ;;
  *haiku-4-5*)                               ip=1; op=5;  cwp="1.25"; crp="0.1" ;;
  *)                                         ip=3; op=15; cwp="3.75"; crp="0.3" ;;
esac

cost=$(awk "BEGIN {printf \"%.2f\", ($total_input*$ip + $total_output*$op + \
  $cache_write*$cwp + $cache_read*$crp)/1000000}")
echo "~\$$cost"

Paste this into your ~/.claude/statusline-command.sh. Claude Code pipes JSON with cumulative token counts to the statusline command on every render.