Learning

I Asked Claude How Much My Usage Would Cost on API. The Answer Was $8,400.

I use Claude Code with Opus every day - marathon sessions, 100+ MCP tools, semantic memory, the whole stack. So I asked it to calculate what that would actually cost on the API. Then I asked what it would cost without my optimization system. The numbers were wild.

April 6, 202610 min166 views
#claude-code#ai#personal

I use Claude Code every day. Marathon sessions, 100+ MCP tools connected, a semantic memory system with 660+ memories, custom skills, a compiled wiki - the whole stack. All running on Opus 4.6 through the $200/month Max plan.

The other day I got curious. What would all of this actually cost if I was paying per token through the API instead of a flat subscription? So I asked Claude to do the math. Then I asked what it would cost if I hadn't spent months optimizing my setup. The numbers were genuinely surprising.

This isn't a pricing guide. It's a field report from someone running a heavily customized Claude Code setup, with real usage data, real token calculations, and a real answer to the question: is the subscription worth it?

How Claude Code actually eats tokens

This is the part nobody tells you.

Every time you send a message in Claude Code, it doesn't just send your message to the API. It sends everything. The system prompt, all your tool definitions, your CLAUDE.md file, your memory files, and the full conversation history. All of it. Every single time.

And one message isn't one API call. Claude Code is agentic - it reads files, searches code, edits things, runs commands. Each of those is a separate API call that resends the entire context. One message from you can trigger 3 to 12 API calls behind the scenes.

A 15-message session? That's roughly 200,000 input tokens.

The context grows like a snowball. Your first message might send 40,000 tokens. By message 10, it's 80,000. By message 20, you're at 120,000+ before auto-compaction kicks in to summarize and compress.

And here's where it gets interesting: the more you customize Claude Code, the bigger the "tax" on every call. More MCP tools means more tool definitions sent every time. A bigger CLAUDE.md means more context. More memory files, more loaded. My setup with 100+ tools adds roughly 30,000 tokens of tool definitions alone to every single API call.

On the subscription, that's irrelevant - flat rate. On the API, every token costs money.

Opus 4.6 API pricing

Before the math, the prices. Per million tokens:

Opus 4.6

Input

$5.00

Output

$25.00

Cache Write

$6.25

Cache Read

$0.50

Output tokens are the expensive part - 5x the input price. And Opus thinks deeply. Extended thinking tokens count as output. Every time Claude reasons through a complex problem, those thinking tokens burn at $25 per million.

Claude Code uses prompt caching automatically, which helps. The system prompt and tool definitions get cached, so repeat calls only pay 10% of the input price for that portion. But your conversation history? That grows fresh every turn and pays full price.

The three scenarios

I calculated costs for three types of users, all running Opus 4.6. The numbers include prompt caching.

The Casual Dev1-2 short sessions a day, 10 messages each, minimal tools. About 30 sessions a month.

Each session costs roughly $5 on the API. Monthly total: about $153. At this level, the $200 Max plan actually costs more than API - but it also gives you Claude.ai, Research mode, Projects, and everything else. API gives you only the terminal.

The Daily Builder4-6 sessions a day, 20 messages each, a moderate set of 20-30 tools. About 110 sessions a month.

Each session costs roughly $13 on the API. Monthly total: about $1,419. The Max plan saves $1,219 per month. That's 7.1x the value - you're paying $200 for $1,419 worth of Opus compute.

The Power Userthis is my actual usage. 2-3 marathon sessions per day, 23+ messages each, 100+ MCP tools, heavy memory system. About 78 sessions per month with 1,800+ messages and 1,000+ tool calls.

Each session costs roughly $37 on the API. Monthly total: about $2,900. The Max plan saves $2,700 per month. That's 14.6x the value.

But that's my optimized usage. The real story is what happens without optimization.

What my optimization stack actually saves

Back in March, I measured the token impact of my memory system. The results were pretty clear:

Without the system: 102,000 tokens loaded per turn. Every memory, every case, every pattern, dumped inline into the context.

With the system: 5,300 tokens per turn. A small index file points to 660 memories in Supabase, and Claude searches on demand. Only what's relevant gets loaded.

That's a 95% reduction in memory tokens per turn. But the token savings are just one part.

Here's what the full optimization stack looks like:

CLAUDE.md (optimized from 335 to 114 lines) - Claude already knows my tone, my projects, my preferences, my workflow habits. Zero warm-up. No "actually, I prefer lowercase" or "wrong project" or "no em dashes." Without it? My own usage data shows 52 misunderstood requests and 51 wrong-approach instances in a single month, and that's with the optimization in place. Without it, those numbers would roughly double. More misunderstandings = more messages = more tokens.

Semantic memory (660 memories in Supabase, searched on demand) - instead of loading everything, Claude pulls only what it needs. The difference: 5,300 vs 102,000 tokens per turn.

19 custom skills (/support, /tweet, /linkedin, /content-plan, /wrapup...) - workflows that would take 5-10 messages of back-and-forth now happen in one command. Fewer sessions needed overall.

Compiled wiki (19 topics of synthesized knowledge) - instead of searching raw memories and reading old cases from scratch, Claude checks a pre-compiled guide first. Fewer tool calls, fewer dead ends.

The multipliers stack:

Messages per session

Optimized

23

Unoptimized

~37

Multiplier

1.6x

Sessions per month

Optimized

78

Unoptimized

~110

Multiplier

1.4x

API calls per message

Optimized

~5.7

Unoptimized

~7.5

Multiplier

1.3x

Combined

Optimized

Unoptimized

Multiplier

2.9x

The $8,400 number

When you multiply it all out - more messages, more sessions, more API calls per message, heavier token loads - the unoptimized cost lands at roughly $8,400 per month on the Opus API.

That's what it would cost to do the same work I do, at the same intensity, with the same model, but without the system I built to make it efficient.

The full picture:

$8,400what it would cost without optimization on Opus API

Minus $5,500 saved by the optimization stack (CLAUDE.md + memory + skills + wiki)

$2,900what it costs optimized on Opus API

Minus $2,700 saved by the Max plan flat rate

$200what I actually pay

Two layers of savings. One I built. One I subscribe to. Together: 97.6% savings. 42x value. About 2.4 cents on the dollar.

When the API makes more sense

The subscription isn't always the winner. There are real cases where API is better:

Automated agents. If you run background agents - cron jobs, check-ins, automated workflows - those need API keys. Subscriptions only work for interactive sessions. I run an automated agent using Haiku for 6 daily check-ins. Cost: about $3.60 per month. Incredibly cheap.

Very light usage. Under 15 medium sessions per month on Opus? API is cheaper. But you also lose Claude.ai, Research mode, and everything else the subscription includes.

Teams with mixed usage. Five developers at $200 each is $1,000/month flat. If three are light users, the API lets you pay only for what each person actually uses.

No rate limits. The Max plan has a 5-hour rolling window with caps. Heavy Opus users have reported being throttled after as little as 19 minutes in some cases. On API, you pay more but you never stop working.

The hybrid approach

The optimal setup for someone like me is both:

Max plan ($200/month) for daily interactive Opus sessions. API with Haiku ($1/$5 per million tokens) for automated agents. API with Sonnet ($3/$15) for CI/CD integrations and background tasks.

Total: about $205-220 per month for everything. Getting $8,400+ worth of compute.

The part that matters more than the money

The math is dramatic, but the real insight isn't about pricing. It's this: the optimization stack doesn't just save tokens. It makes Claude Code actually useful from message one.

Without CLAUDE.md, every session starts cold. Claude doesn't know your preferences, your projects, your voice, your patterns. You spend half the session getting it up to speed. With it, you're productive immediately.

Without semantic memory, you re-explain context every time. The same workaround you solved last week? You're solving it again from scratch. With memory, Claude remembers and builds on what came before.

Without skills, every workflow is manual. Drafting a tweet, running a security audit, syncing to Linear - each one is a multi-step conversation. With skills, it's one command.

The financial savings are real. But the time savings - going from "let me explain everything again" to "you already know, let's go" - that's the part that actually changes how you work.

The $200 plan is an incredible deal. Building the system that makes $8,400 worth of work fit inside it? That's the part nobody talks about.

Enjoyed this?

Carol Ships: building, shipping, figuring it out.

Have another workaround to share?

Start the thread below!

Comments

No comments yet. Be the first to share your thoughts!