{"version":"2.1.299","anchor":"memory-store-write-requires-an-if-version-token-optimisti","canonical_anchor":"memory-store-write-requires-an-if-version-token-optimisti","heading":"Memory and project document writes now need a version check","tier":"notice","area":"Memory","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299\/e\/memory-store-write-requires-an-if-version-token-optimisti","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.299","markdown":"### Memory and project document writes now need a version check\n\nWriting to a memory store or with project_write now needs if_version, and a write is refused if the document changed since it was read\n\n**Unclear.** It is not clear whether these tools are available by default.\n\n**What**\n\nClaude Code can save documents to a memory store, a place where notes are kept between sessions, and Claude can write project documents with the `project_write` tool. A session is one run of Claude Code from start to finish. Writes in both cases now need an `if_version` value:\n\n- For a new document, the value is the word `new`.\n\n- For an existing document, it is the version given when the document was last read.\n\nIf the document has changed since then, the write is refused. Deleting and updating in another store also need this value.\n\n**Why**\n\nClaude now has to read a document before overwriting it. Two writers can no longer quietly overwrite each other's changes: the second write is refused instead.\n\n- Area: Memory\n- Names: `if_version`, `project_write`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 2\/5\n- Scope: individual\n- Heads-up: yes"}