Unclear Whether the cache is active by default is not stated.
What
Before each request, Claude Code tidies up the conversation into a standard form, called normalization. The prompt cache lets the service reuse the start of a conversation it has already seen, which only works if that start stays exactly the same. A new cache keeps that start stable:
- Messages already sent are kept as stable objects, so identical copies are reused.
- Checkpoints of the normalization pass are saved and later requests resume from them instead of starting over.
CLAUDE_CODE_NORMALIZE_PREFIX_CACHEset to false turns it off and set to true turns it on. There is also a kill switch.- Without the variable, the server value
tengu_wise_salamanderdecides. It is used only if it is a number greater than 0 and at most 1, and the built-in fallback is 0, which leaves the feature off when neither supplies a value. Nothing has been read about this switch. - With
CLAUDE_CODE_NORMALIZE_PREFIX_CACHE_VERIFYset, a resumed pass is compared with a full pass. If they differ, the full pass is sent and every later request in that process is normalized in full. Whether this check runs depends on a self-check share value, not a plain switch.
Why
Where it is active, this could change how often the prompt cache is reused and so how many tokens requests cost. The verify mode falls back to the full pass if the shortcut ever gives a different result.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
Whether the cache is active by default is not stated.