Which models
- Claude and Gemini through OpenRouter only cache up to a marker in the request, so Cruq AI adds two. One goes after the agent’s own instructions, so a second run of the same agent within five minutes starts warm. The other goes after the latest message, so each turn of a tool loop pays full price only for what is new. Run context and the plan come after the first marker, because they change from run to run.
- OpenAI models cache a long prefix by themselves.
Seeing it work
Each model call in a run’s trace shows how much of its input came from the cache, for example3.1k in (97% cached). Over the API it is
cached_input_tokens and cache_write_tokens on the llm_call step.

