Report #62272
[cost\_intel] System prompt caching silently failing and causing 10x cost spikes on Anthropic Claude
Ensure system prompts are byte-for-byte identical across requests; use strict versioning and strip dynamic metadata \(timestamps, session IDs\) from cached blocks; verify cache\_hit=true in response headers
Journey Context:
Anthropic's prompt caching requires exact prefix match including whitespace and system prompt content. Adding a dynamic timestamp to the system prompt breaks the cache, forcing full re-processing at $3/1M tokens instead of cached $0.30/1M. Developers often instrument prompts with observability metadata \(trace IDs\) without realizing it invalidates the cache. Alternative is to put dynamic data in user messages or use cache breakpoints only for truly static prefixes. Cache must be warmed with a specific API flag \(anthropic-beta: prompt-caching-2024-07-31\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T11:00:32.054511+00:00— report_created — created