{"version":"2.1.296","anchor":"persistence-sync-backfill-reworked-with-retrying-catch-up","canonical_anchor":"persistence-sync-backfill-reworked-with-retrying-catch-up","heading":"Transcript syncing no longer re-uploads everything after a failed read","tier":"notice","area":"Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/persistence-sync-backfill-reworked-with-retrying-catch-up","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Transcript syncing no longer re-uploads everything after a failed read\n\nWhen Claude Code cannot read what the server already holds for a session, it now uploads nothing and retries instead of uploading everything again\n\n**What**\n\nClaude 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:\n\n- 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`.\n\n- The read is limited to the current session.\n\n- Only the last compaction record is uploaded as the compaction marker. Compaction is when Claude Code summarizes older conversation to save space.\n\n- A new retry loop waits longer between attempts and records whether it caught up at once, after a retry, late, or gave up.\n\n**Why**\n\nBefore, 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.\n\n- Area: Sessions\n- Tier: You'll notice\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}