What
A hard link is a second name on disk for the same file, so changing the file under one name changes it under every name. When Claude Code cannot save a file the usual safe way, it falls back to rewriting the file in place. Before this release that fallback wrote the file whatever its number of names. Now:
- The in-place fallbacks (in both the normal and background file writers, and in the other in-place writers) check how many names the file has.
- If it has more than one, the write is refused with an
EMLINKerror and a newHardLinkWriteRefusedError. The message begins "Could not rewrite ... in place: this file has other names on disk (it is hard-linked", explains that changing it would alter the file under every name, and asks you to remove the extra links. - The general switch for this check is always off in this build. The only place it is live is one write that passes
refuseHardLinkedInPlaceexplicitly.
Why
Where it applies, an edit can no longer quietly change the other copies of a hard-linked file. Everywhere else, in-place writes behave as before for now.
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
Which of Claude Code's file-editing actions uses the path where the refusal is active is not settled.