Notchmeter

How much is your prompt cache actually costing you?

Prompt caching is why a long Claude Code session costs a fraction of what its token count suggests. It is also where some of the day's most expensive turns hide: a cache miss writes back what the cache already held, at a write rate, instead of reading it at a tenth of the input price or less.

  • Published
  • Tested on Notchmeter 0.9.24
  • Rates from Anthropic's pricing page, 2026-09-24

The short answer

A cache read costs a tenth of the input rate on most models (a twentieth on Opus 5.5, a fortieth on Fable 5.1 and Mythos 5.1). A cache write costs 1.25 times it on the 5-minute tier and twice it on the 1-hour tier. So on a model that reads at a tenth, a miss costs 12.5 to 20 times what the hit would have: rewriting 310,000 tokens on Opus 5 is about $3.10 on the 1-hour tier, where reading them would have been $0.16. Claude Code reports its own misses in the status line (since 2.1.251) and their causes (since 2.1.260). Notchmeter prices those rewrites and names the cause. It never infers a miss from a transcript, where a miss and the first turn of a session look exactly alike.

What each part of the cache costs

Anthropic prices the cache as multiples of a model's base input rate, and they stack with the other modifiers, US-only residency included.

Dollars per million tokens, from Anthropic's pricing page on 2026-09-24
PartMultiplierOpus 5Sonnet 5Haiku 4.5
Input (no cache)1 ×5.002.001.00
Cache read0.1 ×0.500.200.10
5-minute cache write1.25 ×6.252.501.25
1-hour cache write2 ×10.004.002.00

Opus 5.5 reads from the cache at 0.05 × ($0.20 a million), and Fable 5.1 and Mythos 5.1 at 0.025 ×, not 0.1 ×, which makes a miss on those models even more lopsided.

The same 310,000 cached tokens, read as a hit or rewritten after a miss
ModelHit (read)Miss, 5-minute tierMiss, 1-hour tier
Opus 5$0.16$1.94$3.10
Sonnet 5$0.06$0.78$1.24

What counts as a miss

Claude Code's own definition, which Notchmeter takes as given: a request that re-processed content the cache already held, more than 5% and at least 2,000 tokens of what could have been read from it, with no compaction or tool-result clearing to explain it. A rebuild after a compaction is expected and counted separately, not as a miss. Claude Code does not count subagent requests.

The transcripts cannot answer this question, and Notchmeter does not pretend they can. A transcript records that a cache write happened and never why. A large write with no read is also exactly what the first turn of every session, and every /clear, looks like, so any tool that counts "misses" from transcripts is counting session starts too.

The four causes, and what to do about each

Cause Claude Code reportsShown asWhat it means
tools_changedtools changedThe tool definitions changed mid-session, and Claude Code lists the tools added and removed. Notchmeter adds the one thing to do about it: Your MCP server list is changing mid-session. A server that connects, drops or reconnects mid-session changes the tool list.
system_prompt_changedsystem prompt changedSomething that goes into the system prompt changed mid-session. Claude Code reports by how many characters; it does not say what, and neither does Notchmeter.
ttl_expired_5m5-minute cache expiredMore than five minutes passed between requests while the cache was on the 5-minute tier. Coming back from a break costs a rewrite.
likely_server_sidelikely server-sideNothing on your side explains it. There is nothing to change.

Where Notchmeter shows it

Notchmeter prices each session's rewritten tokens once, at that session's model's cache-write rate for the tier the cache is on, and prints no dollar figure for a model its table does not know.

  • The Cost card adds up the Claude sessions heard from today: Prompt cache: 4 misses today · 310K tokens (~$1.94) rewritten · cause: tools changed.
  • An advice line appears at three misses in the current 5-hour block, or 200,000 rewritten tokens: Your prompt cache missed 4 times — 310K tokens (~$1.94) rewritten. Cause: tools changed. Your MCP server list is changing mid-session.
  • A notification, When the prompt cache keeps missing, carries that line at most once a day.
  • Claude Code's own status bar shows the session's miss share, cache 14% miss, in orange from one miss in ten and red from one in four, where the bar allows colour.
  • notchmeter --json and the MCP tool carry the same figures as a promptCache object.

The quieter cost: the tier shift

Anthropic's Agent SDK documentation explains why the tier moves under you: "On a Claude subscription within your plan's included usage, you get the 1-hour TTL on your own turns, and on some of the helper requests Claude Code makes beside them … and Claude Code drops those turns to the 5-minute TTL once you're drawing on usage credits." On the 5-minute tier every pause longer than five minutes is a rewrite.

The transcripts record which tier each write used, so Notchmeter compares today's share of cache writes on the 1-hour tier with your last 30 days. When today is at least 25 points lower, with at least 100,000 cache-write tokens to judge by, the Cost card notes it and the advice says so: Cache writes today are 12% 1-hour against a 30-day norm of 64%: the 5-minute tier re-caches more often and costs more quota per turn. It is an observation of the tier, not of your credits; the transcripts do not say why the tier changed. With the Cost card's details on, the token line also shows how much of the range came from cache reads (4.2M tokens · 71% cache reads).

What you need

  • For misses and their causes: Notchmeter's status line in Claude Code (Install status line… on Claude Code's page in Settings, which keeps a status line you already had by chaining it), and Claude Code 2.1.251 or later; 2.1.260 or later for the cause.
  • For the tier shift and the cache-read share: nothing. Both come from the transcripts already on your Mac.

On a subscription, every dollar here is the API-equivalent value, not a charge (see the cost guide). The rewrite still spends your window, which is the cost you actually feel.

Sources

  • docs/accuracy.md, The prompt cache and The cache tier shift: the rules, pinned by PromptCacheTests and StatuslineTests.
  • Anthropic, Status line: the prompt_cache object and its fields.
  • Anthropic, Pricing, prompt-caching multipliers, read 2026-09-01, and the per-model rates, read 2026-09-24.
  • Anthropic, Track cost and usage, on the 1-hour and 5-minute tiers, read 2026-09-01.

Find the expensive misses

Free, MIT licensed, and it never signs in anywhere.