[CRITICAL BUG] Cowork Mode Sandbox Overlay Silently Deletes All Existing Files in Mounted Directories

Resolved 💬 2 comments Opened Apr 19, 2026 by Fe2-O3 Closed Apr 19, 2026

[CRITICAL BUG] Cowork Mode Sandbox Overlay Silently Deletes All Existing Files in Mounted Directories

Environment

  • Claude Desktop: 1.3109.0
  • macOS: Tahoe 26.3.1 (25D2128)
  • Feature: Cowork Mode (Research Preview)

Summary

When a Cowork mode session writes new files to a user-mounted directory, the sandbox overlay filesystem replaces the entire directory contents instead of merging writes with existing files. All original files in the mounted directory are permanently deleted — not moved to Trash, not recoverable without external backup.

Reproduction Steps

  1. Open Cowork mode in Claude Desktop
  2. Mount a folder from ~/Documents that contains existing files (e.g., .docx, .xlsx, .png, .pdf files across subdirectories)
  3. In the Cowork session, ask Claude to create new files in the mounted folder (Claude uses the Write tool and/or bash with python-docx to generate .docx files)
  4. End the session or check Finder/Terminal during the session
  5. RESULT: ALL original files in every mounted directory are gone. Only the newly created files remain. Originals are not in Trash.

Root Cause

The sandbox overlay filesystem creates a layer on top of the user's real directories. When new files are written to the overlay, the overlay layer replaces the underlying directory contents upon sync-back to the host filesystem, rather than merging with existing files.

Compounding issue: Claude's own Read tool falsely reports that original files still exist (it appears to hit a cached/snapshot layer), while Glob, bash ls, macOS Finder, and macOS Terminal ls all confirm the files are deleted. This makes the bug harder to diagnose during a session — Claude will tell the user "your files are still there" when they are not.

Impact

In my case, the following were permanently deleted from multiple mounted subdirectories:

  • Folders of timestamped screenshots (litigation evidence for active TCPA cases)
  • Excel spreadsheets (.xlsx) with message logs and damages calculations
  • DNC registration confirmation PDFs
  • Demand letters (.docx) already sent to opposing parties
  • Legal analysis documents, case citations, discovery plans, transcripts

Some files were partially recovered from iCloud backup, but local and iCloud copies had diverged due to edits made in a prior Claude session, so recovery was incomplete.

This is a data-loss bug that will affect any Cowork user who mounts a folder containing existing files and then has Claude write new files to that same folder.

Additional Issues

  1. /bug command does not work in Cowork mode — the Fin AI Agent support bot suggested typing /bug in the desktop app to file a bug report, but this is not an available skill/command in Cowork mode. This should either be implemented or the support bot should stop suggesting it.
  1. No destructive action warning — the user had explicitly configured preferences requiring permission before destructive actions. The sandbox overlay deletion bypasses this entirely because it happens at the filesystem level, not through any tool that Claude controls or can gate.
  1. Intercom support conversation ID: 215473981920839 — contains the full initial report with all technical details, filed under account anthropic@russelldegraff.com.

Expected Behavior

Writing new files to a mounted directory should merge with existing directory contents, not replace them. At minimum:

  • The sandbox should preserve all files that existed before the session
  • If replacement is somehow necessary, the user must be warned and existing files should be backed up or moved to Trash
  • Claude's Read and Glob tools should report consistent filesystem state (not one tool saying files exist while another says they don't)

Severity

Critical — silent, permanent, unrecoverable data loss with no warning, no confirmation, no undo, and misleading diagnostic output from Claude's own tools.

View original on GitHub ↗

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