// OpenAI · a hit usage: { prompt_tokens: 20000, prompt_tokens_details: { cached_tokens: 19840 } } // Claude · a hit usage: { cache_read_input_tokens: 19840, cache_creation_input_tokens: 0, input_tokens: 160 // tail after breakpoint }
cached_tokens or cache_read_input_tokens greater than zero. That count is the prefix that skipped prefill.
cache_creation_input_tokens or cache_write_tokens greater than zero. You paid a small premium to store the prefix.
Both read fields are zero. Either the prefix changed, it was too short, the TTL expired, or this was the first write.