inno_updater can’t delete the resources folder because some process is holding file handles on it. After 11 retries the updater gives up, and Cursor ends up half-uninstalled. The fact this happened 3 times in 2 days on 3 different versions means something is consistently blocking that specific folder.
To narrow it down, can you share:
Which antivirus or EDR are you using? Defender, Sentinel, CrowdStrike, Bitdefender, or something corporate
This is standard user installation of cursor so it’s under %LOCALAPPDATA%\Programs\cursor\.
No one drive, dropbox, etc. Antivirus is bitdefender (but nothing on bitdefender alerts or logs).
Okay probably found the reason ( as you said):
I leave everything to opus 4.7 (under cursor) to install missing components, set things up, etc.
It’s running pnpm > node > wrangler under different ports so I can locally test my apps / apis / end points etc, before pushing it to cloudflare workers.
Before installing new version or closing cursor I always stop running agent jobs. Agent told me they’re stopped. But as I can see they’re still running.
This also happens when I quit cursor (without restarting the pc) and come back couple of hours later to continue work but agents enters into loop becasue those wrangler (node) instances are still working in the background (ports are in use).
Then I stop the agent which enters into into forever loop, tell agent to kill them all so it kills the node instances via powershell command, then it re-runs the nodes.
@mk18, this is a great repro, thanks for digging into it. Everything lines up now:
The Cursor agent runs pnpm dev and that starts Wrangler in a background terminal
Wrangler is running via node.exe, and it is not the system Node, it is the bundled one at cursor\resources\app\resources\helpers\node.exe
When the updater tries to remove resources/, that same node.exe still has an open handle on it
inno_updater retries 11 times, hits Access is denied (os error 5), then gives up, so Cursor ends up half uninstalled
This also matches the second symptom you mentioned: after you quit Cursor, the Wrangler processes do not die, so on the next launch the agent goes into a loop because the ports are already taken. The agent thinks it stopped them, but they are still running.
So this is actually two related bugs: process tracking (the agent reports “stopped” while jobs are still running) and the updater, which should fail safe and roll back if it cannot delete the folder. Both are reported, no ETA yet.
What you can do right now:
Most reliable: run long lived dev servers like pnpm dev, wrangler dev, next dev outside the agent, in an external terminal like Windows Terminal or a separate WSL window. Then they will not use Cursor’s bundled node.exe and they will not block updates.
Before update or quit: open Task Manager or Process Explorer and check for node.exe with the path ...\cursor\resources\app\resources\helpers\node.exe. If you see it, kill it manually. PowerShell option if you are sure you do not need Node elsewhere:
Disable auto update until this is fixed: File > Preferences > Settings, search for update.mode, set it to none. You will need to update manually, but you will avoid the half uninstall.
Your log and screenshot helped a lot. I’ll add this to the issue. We did not have such a clean repro for this exact path before, bundled node plus an agent spawned long running server. If you can catch the process name that is holding the handle in Process Explorer using Find > Find Handle, then search for cursor\resources, send it here and it will be even more precise.
below screenshots of cursor after I stop 3 background terminals, wait for agent to respond like “you stopped the background tasks, do you want me to re-start them” so I’ll be sure agent also “sure!!!” that tasks stopped + I close the cursor:
Not an expert about this but, same 4 nodes was running under cursor.exe before. After I close, instead of they terminate with cursor they detach and continue to live by their own. So shouldn’t be the expectation is also termination of these node.exe processes under cursor.exe?
i dont know how to describe it clearly but here’s the steps for it :
every single time i have to install cursor again , i install it open it work with it and if there is no updates everything is fine but the moment that little pop up appears in the bottom left corner about an update i know that the instant i close cursor its gonna disappear from my os literally like it was never installed an i have to install it again.
if get more info on this i will update this other then that it became annoying ( its the 3rd time now )
Steps to Reproduce
i think you just have to wait for an update at the moment thats all i have in common for the 3 times it happened .
I’m running Windows 10 and the latest version of Cursor, and every time I shut down my computer, Cursor uninstalls itself. I always close all Cursor instances before shutting down, so I’m not sure what’s causing it.
Let me know if you need any more information from my end.
Thanks!
Steps to Reproduce
Download the latest version, use it, then close your computer. When you reboot, it should be gone.
This have been happening since cursor launched…
It’s so annoying, I have to reinstall Cursor everyday .. I don’t understand how they haven’t fix this yet
The issue is that inno_updater can’t delete the resources/ folder because something is holding a file handle on it. It retries 11 times, then gives up halfway. In @mk18’s case, it was Cursor’s bundled node.exe kept alive by an agent-spawned wrangler dev. We’ve also seen it triggered by reboots while Cursor is still partially running.
Workaround until this is fixed: go to File > Preferences > Settings, search for update.mode, set it to none. You’ll need to update manually, but it should stop Cursor from disappearing.
If you want to help pin down your specific case, please share:
Hey @Met-Sam, @Liam_James, thanks for the updates. We’re tracking the bug, but there’s no ETA yet.
@Met-Sam, “every time on close” is a pattern we’ve seen before in this thread, see post #20 and #29. It’s likely the same scenario. Some process is holding a handle on cursor\resources\, so the updater can’t clean the folder and fails halfway through. In most cases it’s the bundled node.exe started by the agent for a long-lived dev server like pnpm dev, wrangler dev, next dev, etc.
Workaround for now: go to File > Preferences > Settings, search for update.mode, set it to none. You’ll need to update manually, but the “disappearing” should stop.
Hope the Cursor team provides a fix, with updates coming through every other day, not being able to update regularly is not acceptable. Please +1 prioritise this.
@Met-Sam, thanks, keep me posted. If you can catch the process that’s holding a handle on cursor\resources\ Process Explorer > Find > Find Handle, search for cursor\resources, that would really help add more details to the issue.
@Jasminder_Hayer, thanks for sharing the PowerShell command, it’s a useful workaround for users who have bundled node.exe processes stuck after closing Cursor. To improve the chances of a targeted fix, if you have time, please share the same details: install path %LOCALAPPDATA%\Programs\cursor\ or C:\Program Files\cursor\, what exactly was launched via the agent pnpm dev, wrangler dev, next dev, your AV or EDR, and whether this happens only after the update prompt or on any close or restart.