{"version":"2.1.319","anchor":"normalize-prefix-cache-with-optional-self-check-against-a-fu","canonical_anchor":"prefix-cache-normalization-gated-by-claude-code-normalize-pr","heading":"Message normalization cache aims to keep the prompt cache stable","tier":"soon","area":"Elsewhere","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319\/e\/normalize-prefix-cache-with-optional-self-check-against-a-fu","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.319","markdown":"### Message normalization cache aims to keep the prompt cache stable\n\nA new cache reuses earlier message normalization to keep the prompt cache prefix stable, controlled by CLAUDE_CODE_NORMALIZE_PREFIX_CACHE and a self-check\n\n**Unclear.** Whether the cache is active by default is not stated.\n\n**What**\n\nBefore 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:\n\n- Messages already sent are kept as stable objects, so identical copies are reused.\n\n- Checkpoints of the normalization pass are saved and later requests resume from them instead of starting over.\n\n- `CLAUDE_CODE_NORMALIZE_PREFIX_CACHE` set to false turns it off and set to true turns it on. There is also a kill switch.\n\n- Without the variable, the server value `tengu_wise_salamander` decides. 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.\n\n- With `CLAUDE_CODE_NORMALIZE_PREFIX_CACHE_VERIFY` set, 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.\n\n**Why**\n\nWhere 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.\n\n- Area: Elsewhere\n- Tier: Nothing to try yet\n- Useful: 3\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}