Cursor always resave opened files or files from last conversation. Even if there were no changes. It triggers full recompilation of the project (in the Visual studio for example), because it possibly marks them as changed, and tries to re-compile.
Steps to Reproduce
Just open the big project. Compile it successfully and run.
Then open Cursor where this project was opened previously, Cursor must have the last convo with many changes of files from source folder.
Check in the git that there were no changes indeed.
But then try to compile and run project in the Visual Studio - recompilation triggered on these many files from last Cursor convo .
Expected Behavior
Cursor doesn’t resave unchanged files on fresh start.
Operating System
Windows 10/11
Current Cursor Version (Menu → About Cursor → Copy)
Hey, this is a known issue. Cursor can modify files on startup that Agent or Composer edited earlier, usually whitespace or EOF changes. This was supposed to be fixed in 2.3.x, but based on similar reports, some users can still reproduce it.
when I check changes in the Fork → sometimes it shows files in unstaged tab without changes, but if you stage them - file disappear (it doesn’t appear neither in staged or unstaged)
This is not fixed! I just posted about the same problem. Not fixed at all. I am not using git either. Completely local, and no extensions at all. It’s a crippling bug that makes it basically impossible to use Cursor since it creates total uncertainty as to actual file states, especially when combined with Cursor’s frequent failure to write edits to disk, which I also wrote about.
I see the screenshot with the extensions. It looks like a standard set, and there are no formatters.
Interesting note about Fork. Files show up as unstaged with no real changes, then disappear after you stage them. That sounds like timestamp-based dirty marking, not actual content changes.
A few things that should help us narrow it down:
Can you try running cursor --disable-extensions and see if you can still reproduce it?
Try changing core.autocrlf to input or false:
git config core.autocrlf input
Then restart Cursor and check again.
One more test is to clear Cursor’s cache. Close Cursor, delete %APPDATA%\Cursor\Cache, then launch it again.
I’ll pass this info to the team. It looks like the fix in 2.3.x didn’t cover every case.
@deanrie
Hi, I appreciate that you care, but I keep updating and I am still suffering from this issue.
Instead of Cursor saving me time, it has turned into a terrible routine.
Every time Cursor is launched, these changes appear.
Cursor shows files as unsaved, and I constantly have to check that everything is actually fine.
This is simply harmful.
I am not sure what is more frustrating: this bug, or the bug where undoing a change also removes earlier changes beyond the point I actually reverted to.
Everything related to version management on your side is surprisingly broken.
That said, aside from this, you are truly wonderful.