What
Claude Code can keep a copy of a session's transcript, the record of the conversation, on the server. To fill in missing parts, it first reads what the server already has. That step changed:
- A failed read is no longer treated as an empty server. Nothing is uploaded, including the transcripts of subagents (helper agents Claude Code starts), and the log shows
[persistence-sync] Main server read failed: nothing uploaded, subagents included. - The read is limited to the current session.
- Only the last compaction record is uploaded as the compaction marker. Compaction is when Claude Code summarizes older conversation to save space.
- A new retry loop waits longer between attempts and records whether it caught up at once, after a retry, late, or gave up.
Why
Before, a failed read made the whole transcript look missing, so everything was uploaded again, which could leave duplicate or lost entries. Claude Code now holds back and retries instead.