{"version":"2.1.288","anchor":"transcript-rewrites-and-loads-are-serialized-per-file","canonical_anchor":"transcript-rewrites-and-loads-are-serialized-per-file","heading":"Session transcripts are no longer read and rewritten at the same time","tier":"notice","area":"Sessions","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288\/e\/transcript-rewrites-and-loads-are-serialized-per-file","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.288","markdown":"### Session transcripts are no longer read and rewritten at the same time\n\nClaude Code now makes reads and rewrites of a session transcript wait for each other, so compaction and resume can't clash\n\n**What**\n\nA transcript is the file where Claude Code saves a session's conversation. Several things rewrite it: removing messages, compaction (shortening a long conversation into a summary) and moving a session. Each file now has a lock:\n\n- Rewrites wait for any read of the file in progress to finish.\n\n- Reads wait for any rewrite in progress to finish.\n\n- A rewrite that waits too long stops waiting and logs \"Transcript rewrite stopped waiting after\".\n\nCompaction also keeps a record of the messages it removes, and saved transcript entries now carry a `version` field.\n\n**Why**\n\nThis lowers the risk of a damaged or half-written transcript when compaction happens while a session is being resumed.\n\n- Area: Sessions\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}