{"version":"2.1.304","anchor":"request-digest-hashes-incrementally-with-a-per-message-memo","canonical_anchor":"request-digest-hashes-incrementally-with-a-per-message-memo","heading":"Request fingerprints are computed piece by piece and cached per message","tier":"internal","area":"Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/request-digest-hashes-incrementally-with-a-per-message-memo","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304","markdown":"### Request fingerprints are computed piece by piece and cached per message\n\nClaude Code now builds each request's fingerprint gradually and reuses each message's fingerprint, instead of re-encoding every message whole each time\n\n**What**\n\nClaude Code computes a fingerprint (a short code that identifies the exact content) of each request it records for replay. Previously it turned every message into one long piece of text and fingerprinted that in one go. It now feeds the content in a bit at a time and remembers the fingerprint of each message, so a message that has already been processed is not processed again.\n\nIf a message somehow gets missed, Claude Code reports an error and does not record that request for replay.\n\n**Why**\n\nThis mainly saves time and memory in long sessions, where the same earlier messages would otherwise be processed again on every request. It has no visible effect on how you use Claude Code.\n\n- Area: Sessions\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}