A $400 AI team that meters at $53,403
Two flat-fee coding subscriptions cost $400/month. The same 30 days of real usage, priced at the metered API list rate, comes to $53,403 — 133× the subscription, an annualized list-price run-rate higher than a senior engineer's fully-loaded cost. Here is that bill rebuilt per model from local CLI logs, and why a fully-autonomous AI team runs on the flat fee, not the metered API — which would flip the arithmetic.
The number the subscription won't show you
I run an AI coding team on two flat-fee subscriptions — Claude Max 20x and ChatGPT Pro, $200 each, $400/month total. Inside the rate limits it feels "unlimited," and that flat fee is the whole reason the team runs the way it does: agents that review each other across vendors, patrols that never sleep, speculative retries that cost nothing to fire. The meter is off, so you stop counting.
Which raises a question neither vendor will answer: if I paid the metered API for exactly this usage instead of the flat fee, what would the bill be? Claude Code's /usage shows a percentage bar — how much of your window is gone — not a token count, not a per-model split. A ChatGPT subscription has no usage panel at all; only metered API accounts get a dashboard. The number does not exist in any UI.
But it does exist on disk. Both CLIs write a full, request-level log of every call, model and token counts included. So I rebuilt the metered bill the vendors won't show — itemized, per model — from those logs. The gap it exposes is the point of this post.
$400 paid, $53,403 on the meter
One 30-day window (2026-06-24 → 07-24), every model priced at its official API list rate:
| Flat fee I actually paid | $400 |
| Same usage at metered API list price | $53,403 |
| Multiple | 133.5× |
That splits into $42,351 on the Codex / ChatGPT side and $11,052 on the Claude side, across 558,466 requests and 76.6 billion tokens. This is a list-price counterfactual, not $53,403 of money saved — §6 spends the honest limits, and they matter. But the raw gap is real: for this usage, the metered API would have charged 133× what the subscription did.
The itemized bill, per model
A single total hides where the money goes, so here is the whole thing broken out — every model, its real token counts by bucket, and the list-price subtotal. Nothing is a mystery figure: each subtotal is just tokens × the published unit price.
Codex CLI (ChatGPT Pro) — $42,351
| Model | Requests | Uncached input | Cached input | Output | List price |
|---|---|---|---|---|---|
gpt-5.6-sol | 388,400 | 1.02B | 51.60B | 115.5M | $34,382 |
| unlabeled → sol/5.5 tier† | 61,486 | 156.5M | 8.15B | 18.1M | $5,401 |
gpt-5.5 | 16,186 | 150.2M | 1.66B | 8.68M | $1,840 |
gpt-5.6-terra | 9,045 | 24.4M | 1.08B | 2.75M | $372 |
gpt-5.6-luna | 11,886 | 51.5M | 1.76B | 3.90M | $251 |
gpt-5.3-codex-spark | 3,091 | 7.50M | 207.4M | 0.96M | $63 |
codex-auto-review | 461 | 4.73M | 34.4M | 0.05M | $42 |
gpt-5.4 | 1 | 23.1K | 1.9K | 0.34K | $0 |
| Total | 490,556 | 1.42B | 64.49B | 150.0M | $42,351 |
† 61,486 requests logged no model name; priced at OpenAI's default sol/5.5 top tier — a ceiling for that slice (§6).
Claude Code (Claude Max) — $11,052
| Model | Requests | Input | Cache read | Cache write | Output | List price |
|---|---|---|---|---|---|---|
| Opus 4.8 | 37,414 | 8.12M | 5.36B | 213.2M | 42.6M | $5,431 |
| Fable 5 | 16,762 | 3.73M | 2.59B | 89.3M | 17.4M | $4,833 |
| Sonnet 5 (intro) | 11,700 | 2.12M | 2.08B | 48.6M | 6.52M | $641 |
| Opus 4.7 | 1,253 | 13.4K | 68.6M | 13.2M | 0.81M | $137 |
| Haiku 4.5 | 732 | 49.9K | 26.4M | 2.35M | 0.27M | $7 |
| Sonnet 4.6 | 49 | 171 | 1.35M | 0.47M | 42.5K | $4 |
| Total | 67,910 | 14.0M | 10.12B | 367.2M | 67.6M | $11,052 |
Every subtotal is mechanical. Take the biggest line, gpt-5.6-sol — tokens × the published $/million:
| Line item | Tokens | $ / 1M | Amount |
|---|---|---|---|
| Uncached input | 1.02B | $5.00 | $5,114.61 |
| Cached input (read) | 51.60B | $0.50 | $25,801.57 |
| Output | 115.5M | $30.00 | $3,466.08 |
| gpt-5.6-sol subtotal | $34,382.26 |
Now group the whole bill by what you're paying for instead of by model, and the shape is stark:
- Cache reads + writes: $40,151 — 75% of the bill.
gpt-5.6-sol's cache reads alone are $25,802, half of everything. - Fresh (uncached) input: $6,880 — 13%.
- Generated output: $6,372 — 12%.
That is the signature of agent work: a large context re-sent every turn, mostly served from cache, with comparatively little new text produced each time. It's also exactly the shape a flat subscription absorbs and a meter punishes — which is §5.
Why the total is trustworthy (three traps)
"Tokens × unit price" is trivial. The rigor is entirely in the aggregation, and a naive sum over the raw logs is confidently wrong in three different directions — each big enough to move the headline. The number above only stands because it survives all three.
- Streaming repeats a request, and the counts grow. Claude Code appends a log line as the response builds, so the same request appears on many lines with
output_tokensclimbing. Sum every line and you multi-count; keep the first and you catch it mid-stream (~28% low on output in a large-session sample). Fix: group byrequestId+message.id, keep the last occurrence. - Forked sessions double-count cumulative totals. Codex logs a running
total_token_usage; a forked session inherits its parent's, so summing session finals counts the shared prefix twice — 71.0B versus the true ~66B, a ~7% overcount. Fix: sum the per-turnlast_token_usagedeltas instead. - Cached input is a subset of input, not an addition. Codex reports
input_tokensas the turn's total andcached_input_tokensas the part served from cache — already inside it. Cache reads bill at roughly a tenth of the input rate, so split them (uncached =input − cached) before pricing, or you overcharge the cached tokens 10×.
Then cross-check: I reconciled the per-turn sum against the session finals and only trusted the number once I understood exactly where the 7% gap came from.
The flat fee is the business model
Annualize the window and the metered equivalent is roughly $641k/year at list price — more, per year, than the fully-loaded cost of a senior engineer in most markets. Read naively, that says "the AI team is more expensive than a person." That is not the lesson — because you would never actually pay it.
The moment the meter turns on, you change how you run: cut concurrency, trim the big context you re-send every turn, kill the speculative retries and the always-on patrols — precisely because each cache read now has a price. The $641k is the cost of this exact operating mode at list price, not a check anyone would write. And that inversion is the real point:
The flat subscription isn't cheaper compute — it's what makes the operating mode viable at all. Always-on, self-reviewing, multi-agent autonomy only pencils out because the marginal token is free at the point of use. Bill the same behavior through the metered API and the arithmetic flips — it costs more than the human it was meant to leverage — so nobody runs autonomy that way. The subscription is the enabling technology, not a discount on it.
So the figure worth watching isn't the $53,403 trophy. It's the 133× gap between what you pay and what the same behavior meters at — because that gap is the entire budget for running agents like a team instead of like API calls.
Honest limits
- A counterfactual, not money saved. "$53,403 of value" is what this usage would list at on the metered API — not a check anyone wrote, and (per §5) not what you'd actually spend, because metered pricing would change how you run.
- The volume needed repeated quota resets. The Codex side didn't fit inside one standard weekly allowance — the weekly limit hit 100% three separate times in the window, cleared by several resets (some manual, some vendor-side). So the headline is "a subscription plus resets," not a single stock plan.
- Mostly a floor, with one ceiling to name. The logs cover only the two CLIs — nothing from the claude.ai web/mobile apps, ChatGPT's web/app, or cloud runs — and those omissions only push the figure up, as do two price caveats: one Claude model was on introductory pricing, and OpenAI's cache-write volume is never populated in the logs (the field exists but is always 0; excluded, bounded under +$1,700). The one caveat that cuts the other way, and the largest single estimate in the bill: ~10% of the total ($5,401, 61,486 requests) comes from sessions with no recorded model, priced at OpenAI's default
sol/5.5top tier — a ceiling for that slice.solis ~90% of the labeled requests, so it's a defensible central guess, but if those sessions were a cheaper model the slice could fall ~$4,300 (~8% of the headline). Net, the exclusions likely still make the total a floor; that one slice is the exception to flag.
Recap
- Ask the question the meter hides. A flat-fee AI subscription shows a percentage bar or nothing; the per-model, per-token usage exists only in the local CLI logs (
~/.claude/projects,~/.codex/sessions). Rebuilding the metered bill is just tokens × list price. - Itemize it, don't total it. One 30-day window: $400 paid, $53,403 metered — 133×. Cache reads and writes are 75% of that, and one model's cache reads are half the bill. The breakdown is the story; the lone total hides it.
- Trust it only after three traps: streaming repeats a request (dedupe, keep the last), forks double-count cumulative totals (sum per-turn deltas), and cached input is a subset of input (split before pricing).
- The flat fee is the enabling technology. At a ~$641k/year metered run-rate, always-on autonomous agents would cost more than a human — so nobody runs them metered. The subscription's flat marginal cost is what makes an AI team economically sane. The number to watch isn't the trophy total; it's the 133× gap that funds running agents like a team.