Desktop app Write/Edit tools report success but files don't persist to disk
Resolved 💬 3 comments Opened Mar 28, 2026 by j2e7 Closed May 27, 2026
Bug Summary
The Claude Desktop app's Write and Edit tools intermittently report success ("File created successfully", "updated successfully") when the file does not actually persist to the filesystem. This causes silent data loss.
Environment
- App: Claude Desktop (GUI), not CLI
- OS: macOS Sequoia, Apple Silicon (M4 iMac, M1 Ultra Mac Studio)
- Version: Claude Desktop latest as of 28 Mar 2026
Reproduction
- Use the Write tool to create a new
.mdfile in~/.claude/projects/-/memory/ - Tool returns
"File created successfully at: <path>" - Run
ls -la <path>via Bash tool — file does not exist findacross the entire~/.claudedirectory returns nothing
Observed Behaviour
- Same session, same directory, same tool — some writes persist, others don't
- Example from today:
MEMORY.md(Write tool) persisted.validated-patterns.mdandworking-style.md(Write tool, same directory, minutes apart) did not persist - The Edit tool also exhibits this: reported "updated successfully" on
lessons-learned.mdbut the file's mtime remained unchanged and content was not modified - Writing the same content via Bash (
cat >>orecho >) always persists reliably - On retry (calling Write tool again for the same file in the same session), the write succeeds and persists
- This has occurred across at least 2 separate sessions
Impact
This is a data loss bug. In our case:
- A previous session's end-of-session save reported creating 16 files. All 16 were phantoms — none existed on disk. The session's rsync then faithfully transferred nothing
- The user lost an entire session's worth of saved configuration, memory updates, and system changes
- In today's session, 2 out of 3 Write tool calls to the same directory failed silently
Investigation
We systematically ruled out all other causes:
- Filesystem sync daemon — uses
rsync --update(no--delete), cannot delete files. Additionally, all 3 machine daemons were confirmed dead (stale lockfiles) during the period — nothing was syncing anywhere - Scheduled tasks — none write to or delete from the affected directory. All ran hours before the vanishing
- Other processes — no other process touches
~/.claude/projects/-/memory/ - Path issues — files were not written to a different path (
findconfirmed across all of~/.claude/) - Permissions — directory is writable (other files in the same directory were created successfully by the same tool in the same session)
Workaround
- Verify every Write/Edit tool call with
ls -la <path>via the Bash tool immediately after - For critical writes, use Bash (
cat > file <<'EOF') instead of the Write tool
Expected Behaviour
When the Write tool returns "File created successfully", the file should exist on disk and be readable by subsequent tool calls.
🤖 Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗