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

  1. Use the Write tool to create a new .md file in ~/.claude/projects/-/memory/
  2. Tool returns "File created successfully at: <path>"
  3. Run ls -la <path> via Bash tool — file does not exist
  4. find across the entire ~/.claude directory 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.md and working-style.md (Write tool, same directory, minutes apart) did not persist
  • The Edit tool also exhibits this: reported "updated successfully" on lessons-learned.md but the file's mtime remained unchanged and content was not modified
  • Writing the same content via Bash (cat >> or echo >) 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 (find confirmed 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

  1. Verify every Write/Edit tool call with ls -la <path> via the Bash tool immediately after
  2. 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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗