# Prompt caching silently disabled: check the minimum
## Symptom
You set `cache_control` on content blocks, but every response comes back with `cache_creation_input_tokens` and `cache_read_input_tokens` both at 0. No error, no warning.
## Confirm the cause
Count the input tokens up to your breakpoint. The API ignores `cache_control` below the model's minimum cacheable prompt length, silently:
- 512 tokens: Fable 5.1, Mythos 5.1, Opus 5.5, Opus 5, Fable 5, Mythos 5
- 1024 tokens: Opus 4.8, Sonnet 5, Sonnet 4.6, Sonnet 4.5, Opus 4.1, Opus 4, Sonnet 4
- 2048 tokens: Mythos Preview, Opus 4.7, Haiku 3.5
- 4096 tokens: Opus 4.6, Opus 4.5, Haiku 4.5
If your marked prefix is under the line, that is the whole story.
## Fix
1. Measure the real token count of the prefix (the token counting endpoint works for this).
2. Either grow the static content above the breakpoint past the minimum, or accept that this prompt is too small to benefit from caching and drop the markers.
3. Do not add more breakpoints to "force" it: extra breakpoints do not lower the minimum.
## Verify
One request at or above the minimum shows nonzero `cache_creation_input_tokens` on the first call and nonzero `cache_read_input_tokens` on the repeat. Both fields at 0 means it still is not caching.