Comment by mvkel
18 hours ago
Why did this become an issue seemingly overnight when 1M context has been available for a while, and I assume prompt caching behavior hasn't changed?
EDIT: prompt caching behavior -did- change! 1hr -> 5min on March 6th. I'm not sure how starting a fresh session fixes it, as it's just rebuilding everything. Why even make this available?
It feels like the rules changed and the attitude from Anth is "aw I'm sorry you didn't know that you're supposed to do that." The whole point of CC is to let it run unattended; why would you build around the behavior of watching it like a hawk to prevent the cache from expiring?
> 1hr -> 5min on March 6th
This is not accurate. The main agent typically uses a 1h cache (except for API customers, which can enable 1h but it is not on by default because it costs more). Sub-agents typically use a 5m cache.
https://github.com/anthropics/claude-code/issues/46829#issue... - Have you checked with your colleague? (and his AI, of course)
Doesn't what's said at the link approximately agree? The 5m bug was said to be isolated to use of overage (API billing).
Then my original question stands: why did this become an issue seemingly overnight if nothing changed?
So if I run a test suite or compile my rust program in a sub agent I’m going to get cache misses? Boo.
Sub agents don't have much context and don't stay around for long, so misses in that case are trivial.
2 replies →
... so how do API users enable 1hr caching? I haven't found a setting anywhere.
would like to know this too ;D
there is env.ENABLE_PROMPT_CACHING_1H_BEDROCK - but that is - as the name says "when using Bedrock"
for the raw API the docs are also clear -> "ttl": "1h" https://platform.claude.com/docs/en/build-with-claude/prompt...
but how to make claude-code send that when paying by API-key? or when using a custom ANTHROPIC_BASE_URL? (requests will contain cache_control, but no ttl!)