What
The project_write tool lets Claude write project documents. A version is a value that identifies one state of a document.
- Writing over an existing document no longer reads it back and compares its text. Claude Code looks up the version from what the session has already seen and refuses the write if the
if_versiongiven does not match. This is behind two switches,tengu_lovely_rainandtengu_lucky_nebula. - New failure codes:
project_doc_stale,if_version_not_heldandif_version_not_served. - Reading a file from
local_pathnow uses a size limit taken from a setting instead of a fixed cap. If refused, Claude is told to read the whole file again first, or pass its text as content. - The Write tool checks for start-only files before writing.
- A
.xlsxentry was added to the list of file types.
Why
Writes are guarded by version numbers rather than a text read-back, so a document changed by someone else is caught. The size of local files project_write will read is no longer fixed.