# What a prompt cache miss costs you > A prompt cache miss bills your repeated tokens at full rate, and on some providers a cache write costs more than input. The math, and the fix. URL: https://getculpa.com/prompt-cache-miss-cost Last reviewed: 2026-08-01 ## Answer A prompt cache miss bills your repeated prompt at the full input rate instead of the cached rate, which on some models is ten times more. Culpa, a local-first LLM cost, margin, and forecast ledger, meters cached, uncached and cache-write tokens separately per call, so a cache that stopped working shows up the day it breaks. ## Why this happens Caching matches on prefixes, so it works only when the repeated block sits at the very start of the prompt and stays byte-identical. Three things break that. A timestamp or a user name injected before the system prompt. A deploy that edits the cached block and invalidates every prefix at once. And an expiry window shorter than your traffic gap, so the cache is rebuilt more often than it's read. ## What this usually looks like - Your cached-token share sits near zero even though the same system prompt goes out on every call. - Cache hits collapse immediately after every deploy and recover slowly, or never. - Spend rose slightly after you switched caching on, which is the signature of writes outnumbering reads. - Hit rate is fine during busy hours and terrible overnight, because the cache expires between calls. ## Common mistakes - Putting anything variable before the stable block. Why it hurts: A prefix match fails at the first differing token, so one leading timestamp makes the entire prompt uncacheable. Do instead: Order the prompt stable first and variable last. That single reordering is usually the whole fix. - Treating the hit rate as the only number that matters. Why it hurts: On Anthropic models a cache write bills above the input rate, so a high write rate loses money at any hit rate. Do instead: Track writes against reads. A five-minute cache pays off on the first read, so a write never read is the only losing case. - Editing the cached system prompt as part of routine tuning. Why it hurts: Every edit invalidates the prefix for all traffic at once, so the saving resets on each deploy. Do instead: Freeze the cached block and put anything you tune often after it, where changes are free. ## Self-check - Divide cached input tokens by total input tokens. That percentage is your hit rate. - Compare the first 200 characters of your prompt across ten consecutive calls. Any difference explains a zero hit rate. - Count cache writes against cache reads for the same window. More writes than reads means the cache is a cost. - Plot hit rate against your deploy timestamps. Cliffs at deploys mean the cached block is being edited. - Check your quietest hour. If hits vanish there, your traffic gap exceeds the cache window. ## A 4,000-token system prompt, cached and missed (illustrative) Claude Haiku 4.5 at real rates from the price book: $0.001 per 1k input, $0.0001 per 1k cached read, and a five-minute cache write derived at 1.25 times input, so $0.00125 per 1k. One million calls a month. Cache hit, per call: 4 x $0.0001 = $0.0004 Cache miss, per call: 4 x $0.001 = $0.004, which is 10x the hit One million calls all hitting = $400, all missing = $4,000 A cache rebuilt on every call: 4 x $0.00125 = $0.005, so $5,000, worse than never caching Moving from a 0% to an 80% hit rate on that volume = $4,000 down to $1,120 The gap between a working cache and a broken one is $3,600 a month at this volume. A cache rebuilt every call is worse than no cache at all, by a quarter. ## Cost figures Every figure carries its confidence and its source. No figure on this site is provider-reported. - 10x — cost of a cache miss against a cache hit on Claude Haiku 4.5 [calculated] Source: $0.001 input rate divided by the $0.0001 cached rate, both per 1k tokens from the Claude Haiku 4.5 price book row, effective 2026-07-02. - $400 to $4,000 — modelled monthly cost of a 4,000-token system prompt at one million calls, fully cached versus fully missed [estimated] Source: Endpoints from the teardown arithmetic at real Claude Haiku 4.5 rates. A range because it brackets the two extremes of hit rate. ## FAQ Q: Why is my prompt cache hit rate zero? A: Almost always something variable sits before the stable block. A timestamp, a user identifier or a randomised instruction at the front breaks the prefix match, and everything after it becomes uncacheable no matter how repetitive it's. Q: Can prompt caching cost more than it saves? A: Yes, on providers that bill cache writes. In this price book only Anthropic models carry a cache-write rate, at 1.25 times input for the five-minute window and 2 times for the one-hour window. Write more often than you read and you lose money. Q: Does caching help with output tokens? A: No. Caching applies to input only. If your bill is dominated by long completions, caching is the wrong lever entirely and shortening the output is where the money is. ## Sources - Anthropic pricing: https://platform.claude.com/docs/en/docs/about-claude/pricing Run the free Cost Leak Scan: https://app.getculpa.com/scan?source=pseo&slug=prompt-cache-miss-cost&cluster=problem Machine-readable index of every guide: https://getculpa.com/api/pages Human-readable index of every guide: https://getculpa.com/guides Site overview: https://app.getculpa.com/llms.txt Privacy: Culpa runs on your infrastructure. Your prompts and responses never leave it. Culpa counts calls to run your plan, and it fails open, so if it ever breaks your app keeps running.