Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Where does the bug appear
Cursor IDE — Agent Review / session restore on startup
Describe the Bug
On Windows, leftover Agent Review snapshots are restored when opening a workspace. While restoring the buffer, EOL normalization writes the file back to disk (typically CRLF ↔ LF), even if the user did not edit or save, and even when auto-save is off.
This is a regression. Cursor staff marked the same class of bug fixed around 2026-05:
Related:
Once a file is in this state, every subsequent Cursor launch rewrites its line endings again. Manual unix2dos / files.eol / .editorconfig do not stop the loop. The loop only stops after opening the file and clicking Keep All (or Discard) in Agent Review, which clears the stale snapshot.
Deleting %APPDATA%\Cursor\User\workspaceStorage has been reported as insufficient for this path.
Steps to Reproduce
- On Windows, let Agent edit a tracked source file (inline Review / unaccepted Keep All).
- Convert or restore the file on disk to the repo’s original EOL (e.g. CRLF) and confirm
git statusis clean, without clicking Keep All / Discard in Review. - Fully quit Cursor.
- Reopen the same workspace (no user edits, no save).
- Observe: the previously Agent-touched file is rewritten on disk;
git diffshows only EOL changes.
Expected Behavior
Opening a workspace must not rewrite files on disk. Session restore must not apply a stale Review snapshot when disk content already differs only by (or already matches) the intended EOL. If contents are unchanged except cached EOL, do not write.
Actual Behavior
Startup restores the cached Agent Review buffer (often LF), EOL normalization runs, file is written to disk. Git shows EOL-only dirty files. Repeats on every launch until Keep All / Discard.
Version Information
- Cursor: 3.17.8 (user setup) — latest stable as of 2026-08-22
- OS: Windows_NT x64 10.0.17763 (Windows Server 2019 / LTSC)
- Workspace: large C firmware SDK
.gitattributes:* -text(Git does not normalize EOL; EOL-only writes show up as real diffs)- No project
.editorconfig - User
settings.jsondoes not setfiles.eol
Settings that do NOT fix it (per prior reports + this workspace)
files.eol,.editorconfig- converting with unix2dos then restarting
cursor.chat.saveUnconfirmedCodeChanges: false(prior report)
Workaround
Open Agent Review → Keep All (or Discard) on affected files → revert EOL-only diffs in Git → quit and reopen. Do not use Undo All (rolls back real disk content).
Request ID
<paste after: chat ... → Copy Request ID>
Additional notes for triage
Cache appears to live in workspace state.vscdb Review/inline-diff overlay, independent of Git. Staff previously said rewrite-on-startup when contents are unchanged should be fixed after 3.15.6; 3.17.8 still rewrites when the restore buffer’s EOL differs from disk.
Steps to Reproduce
- On Windows, let Agent edit a tracked source file (inline Review / unaccepted Keep All).
- Convert or restore the file on disk to the repo’s original EOL (e.g. CRLF) and confirm
git statusis clean, without clicking Keep All / Discard in Review. - Fully quit Cursor.
- Reopen the same workspace (no user edits, no save).
- Observe: the previously Agent-touched file is rewritten on disk;
git diffshows only EOL changes.
Expected Behavior
Opening a workspace must not rewrite files on disk. Session restore must not apply a stale Review snapshot when disk content already differs only by (or already matches) the intended EOL. If contents are unchanged except cached EOL, do not write.
Actual Behavior
Startup restores the cached Agent Review buffer (often LF), EOL normalization runs, file is written to disk. Git shows EOL-only dirty files. Repeats on every launch until Keep All / Discard.
Operating System
Windows 10/11
Version Information
- Cursor: 3.17.8 (user setup) — latest stable as of 2026-08-22
- OS: Windows_NT x64 10.0.17763 (Windows Server 2019 / LTSC)
- Workspace: large C firmware SDK
.gitattributes:* -text(Git does not normalize EOL; EOL-only writes show up as real diffs)- No project
.editorconfig - User
settings.jsondoes not setfiles.eol
Does this stop you from using Cursor
No - Cursor works, but with this issue