Bug report: mass local file wipe via Undo Create Diff on restart

Describe the Bug

When: Friday, Jul 31, 2026 at 6:49:45 PM (local), immediately after Cursor restarted.

What happened: Dozens/hundreds of project files under Salvage /backend and web were blanked (empty / ~2-byte files). This was not an agent chat command, Explorer delete, or OneDrive purge.

Evidence from local Cursor data:

New session log folder: AppData\Roaming\Cursor\logs\20260731T184936 (started 6:49:36)
At 6:49:43: composer state migration ran (composer-header-table migrate … blob=66 table=324 extra=258)
At 6:49:45: ~980 local-history snapshots written in a few seconds — all sourced as Undo Create Diff
~308 of those snapshots were empty/near-empty (the wipe)
First agent turn in the open chat started later at 6:51:46 — after the wipe
No agent Write with empty contents appears in agent transcripts for this event
Extension host went UNRESPONSIVE shortly after (consistent with a large bad bulk write)
Conclusion: Looks like a Cursor startup / composer-diff undo bug (or unintended bulk undo of AI diffs) that blanked many workspace files on restart. Please investigate Undo Create Diff during composer migration / session restore.

Steps to Reproduce

This seemed to happen on start up.

Expected Behavior

deleted several important files, not alot was working properly

Operating System

Windows 10/11

Version Information

3.14.7 (user setup)

For AI issues: which model did you use?

was on start up, no commands were being run

Additional Information

I was able to recover everything as far as I can tell using backups and the days chat, but it is still very alarming issue

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, sorry for the scare, and glad you got everything back. To be clear, this wasn’t your setup or an agent command; what you’re describing isn’t intended behavior, and it’s an issue we’re tracking.

To avoid a repeat:

  1. Before quitting or updating Cursor, clear any pending agent edits from inside Cursor (Keep All / Undo All in the review panel) - discarding via git alone doesn’t clear them.
  2. Don’t force-quit Cursor (e.g. Task Manager) while the “Saving…” notifications are running at startup — let them finish.
  3. files.autoSave / files.hotExit won’t prevent this, so don’t rely on them.

Frequent git commits are your best safety net going forward. No ETA to share yet, but I’ll post back here if there’s an update - reply here if it recurs.