Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
The in-app updater cannot install an update while the Google Windows App is running. The dialog is:
There was an error while Moving: "resources":
Access is denied. (os error 5)
Please verify there are no Cursor processes still executing.
Cancel leaves the previous install working. The update does not apply. The process holding the folder is not Cursor. LockHunter on %LOCALAPPDATA%\Programs\cursor\resources shows:
- Process:
google.exe - Path:
%LOCALAPPDATA%\Google\Google\latest\google.exe - Description: Google Windows App
This is the Google Windows app (version 1.0.22.0 installed), not Chrome. Quitting it releases the folder. Reproduced on two PCs. On this PC the failed runs are 20 Sep (twice) and 22 Sep 2026. On the other PC the same failure happened on 16, 18, 19, and 22 Sep 2026, also Inno Updater v0.16.0.
This is earlier than the cleanup failure in thread 172151. That dialog says Deleting a directory: …\cursor_bak\resources after the new version is already installed, and the handle there was Code.exe. Here the backup move of the live resources folder never finishes, so the updater reverts and the old version stays.
The journal rollback from thread 168867 does work: the install survives. The in-app updater still cannot finish while google.exe holds resources (specifically \resources\app\bin).
Steps to Reproduce
- Leave the Google Windows App running (
%LOCALAPPDATA%\Google\Google\latest\google.exe). - Start a Cursor in-app update and quit Cursor so the updater runs.
- The updater moves the other install files into
_bak, then retriesresources→_bak\resources. After attempt 11 it fails and reverts.
Either of these lets the update finish:
- Quit the Google Windows App after the failure, then run the update again. It completes.
- Quit the Google Windows App while retries 1–9 are still in progress. The next move attempt succeeds and the installation continues immediately, without starting over.
Expected Behavior
The updater moves resources and finishes the update while unrelated apps are running. If a handle blocks the move, the dialog names that process. It currently says to check for leftover Cursor processes, and no Cursor process is holding the folder.
Screenshots / Screen Recordings
cursor-inno-updater-1790108608.log (10 KB)Operating System
Windows 10/11
Version Information
Version: 3.21.18 (user setup)
VS Code Extension API: 1.128.0
Commit: c4730f7d93d787d9ab120af715999f0345ee5bc0
Date: 2026-09-22T02:04:34.641Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 42.10.0
Chromium: 148.0.7778.280
Node.js: 24.18.1
V8: 14.8.178.38-electron.0
xterm.js: 6.1.0-beta.291
OS: Windows_NT x64 10.0.26200
Additional Information
Failed run, %TEMP%\cursor-inno-updater-1790108608.log, 22 Sep 2026 (full file attached; excerpt):
Sep 22 20:23:34.377 INFO Inno Updater v0.16.0
Sep 22 20:23:34.388 INFO do_update: "C:\\Users\\Micha\\AppData\\Local\\Programs\\cursor\\Cursor.exe", _
Sep 22 20:23:34.393 INFO Update journal: BackingUp
Sep 22 20:23:34.402 INFO Move: "C:\\Users\\Micha\\AppData\\Local\\Programs\\cursor\\resources" -> "C:\\Users\\Micha\\AppData\\Local\\Programs\\cursor\\_bak\\resources" (attempt 1)
Sep 22 20:23:53.712 INFO Move: "C:\\Users\\Micha\\AppData\\Local\\Programs\\cursor\\resources" -> "C:\\Users\\Micha\\AppData\\Local\\Programs\\cursor\\_bak\\resources" (attempt 11)
Sep 22 20:24:53.539 ERRO Backup phase failed, reverting to the previous install: Access is denied. (os error 5)
Sep 22 20:24:53.539 INFO Recovering interrupted swap, phase = BackingUp
Before resources fails, Cursor.exe, the DLLs, and locales are already in _bak. Recovery moves them back. The log then ends with a second Access is denied. (os error 5) while cleaning up _bak.
A later run the same evening (cursor-inno-updater-1790109442.log), with the Google app not holding the folder, goes BackingUp → BackedUp → Flipping → Committing and ends with Update was successful!.
Screenshot attached: LockHunter, folder %LOCALAPPDATA%\Programs\cursor\resources locked by google.exe.
Does this stop you from using Cursor
Sometimes - I can sometimes use Cursor

