Edit/Write now catch files changed on a different machine since Claude last read them remotely, and say which machine
What
When a file was read through a remote call (for example during a remote session), the Write and Edit tools now record a readBaseline — a size-and-hash snapshot of the file taken at read time — along with servedOn, the hostname the file was actually read from.
Before writing, the tools re-read a bounded portion of the file and compare it against that baseline. If it no longer matches, Claude Code now throws a specific error naming the host: "File has been modified on {host} since this session read it. Read it again there..." instead of the old generic staleness message.
Why
This prevents Claude from overwriting changes that happened on a different machine than the one it's currently checking, and tells you exactly where to go re-read the file instead of leaving you with a vague warning.
Whether the tengu_edit_tool_stale_read, tengu_edit_tool_not_read_hypothetical, and tengu_write_tool_not_read_hypothetical gates are enabled…