Request fingerprints are computed piece by piece and cached per message
Claude Code now builds each request's fingerprint gradually and reuses each message's fingerprint, instead of re-encoding every message whole each time
Under the hoodTier: how much it should matter to you
1Useful: my rating, 1 to 5
1Signal: worth watching, 1 to 5
SessionsArea: what it touches
Internal ChangesKind: in v2.1.304,
Internal ChangesSection of the release
What
Claude 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.
If a message somehow gets missed, Claude Code reports an error and does not record that request for replay.
Why
This 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.