More than 4 cache breakpoints in one request
The error
A request declaring several cache breakpoints — marking more than one distinct point in the prompt as independently cacheable — gets rejected once the count of breakpoints crosses a fixed ceiling. This tends to show up as a request grows more complex over time, not on day one: a prompt that started with one or two natural cache boundaries picks up more as it's extended, and the count quietly climbs past the limit without anyone deciding that on purpose.
Why there's a ceiling at all
Each breakpoint is a separate point the caching system has to track independently, and an unbounded number of them per request would undermine the point of the mechanism rather than extend it — caching exists to make a stable, reused prefix cheap to re-read, not to let every section of an arbitrarily complex prompt be cached and priced independently of every other section. A small fixed ceiling keeps the feature aimed at its actual use case: a handful of genuinely distinct, independently-stable segments, not a breakpoint sprinkled after every paragraph.
How this creeps up on a long-lived prompt
The typical path here is incremental. A system prompt starts with a clean split — static instructions, then dynamic context — and that's one sensible breakpoint. Over months, a team adds a shared examples block, then a per-tenant configuration section, then a tool-result cache, each addition reasonably wanting its own breakpoint since it changes on a different cadence than the rest. None of those additions individually looks unreasonable; the ceiling is what eventually catches the accumulation.
The fix
Consolidate breakpoints around your actual reuse patterns rather than one per logical section — group content that tends to change together under a single breakpoint even if it's conceptually several different things, and reserve separate breakpoints for content that genuinely varies on independent timelines. See a working prompt-caching implementation guide for how to structure a request around a small number of well-chosen breakpoints rather than one per section as a prompt grows.
Verified 2026-08-08 against ClaudeHow facts module (src/data/facts/) — see /about/#accuracy.