Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
Every time an update is available, if the last Cursor IDE window that’s open is running in WSL, the update fails and effectively leaves Cursor uninstalled (not in Start menu, broken toolbar Launch icon, no executable).
I’m not sure when this started, but this has happened on every update for the past few weeks at least.
I have to download the latest copy from the site and re-install the Cursor IDE. Luckily, my preferences/settings/workspaces persist.
I want to be able to close a window without it bricking the entire application.
I have other applications running in WSL, so I don’t want to open a separate terminal to shut the whole thing down.
Even if I was willing to do that, the window is open in WSL. If I shutdown WSL, then the IDE tries to restart it. If I close the IDE first, then I would have to time my WSL shutdown so I kill it before the update process hits and error.
Steps to Reproduce
- Cursor IDE is open (Windows 11), current window is running in Ubuntu on WSL (Ubuntu 22.04.4 LTS - “Jammy Jellyfish”)
- “A new version is available - restart to update” alert appears
- Close out IDE window, but WSL is still running
- Receive error message telling me that certain files/folders are still in use (ie, AppData/ folders)
- Cursor no longer in start menu, pinned Toolbar Launch Icon becomes unlinked, can’t find executable.
Expected Behavior
Cursor IDE closes, and either updates as-expected, or the update fails graciously, without removing Cursor from my system.
Operating System
Windows 10/11
Version Information
Version: 3.15.19 (user setup)
VS Code Extension API: 1.128.0
Commit: de07bee81cefe43461ebf4f40c3d2d78d15052a0
Date: 2026-08-11T05:22:54.627Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.291
OS: Windows_NT x64 10.0.26200
Additional Information
What I’m typically running when this occurs:
=== PowerShell (cleaned) ===
ProcessId Name CommandLine
--------- ---- -----------
25124 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe"
18612 Cursor.exe C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe --type=crashpad-handler
--user-data-dir=C:\Users\UserName\AppData\Roaming\Cursor /prefetch:4 --no-rate-limit
--monitor-self-annotation=ptype=crashpad-handler
--database=C:\Users\UserName\AppData\Roaming\Cursor\Crashpad --url=https://f.a.k/e
--annotation=_productName=Cursor --annotation=_version=3.15.19 --annotation=plat=Win64
--annotation=prod=Electron --annotation=ver=40.10.3
--initial-client-data=<HANDLES>
8872 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=gpu-process
--user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor" --gpu-preferences=<GPU-PREFS>
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE> /prefetch:2
9184 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=utility
--utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none
--user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor"
--standard-schemes=vscode-webview,vscode-file,cursor-rpc-devtools --enable-sandbox --secure-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--bypasscsp-schemes=sentry-ipc --cors-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--fetch-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--service-worker-schemes=vscode-webview --code-cache-schemes=vscode-webview,vscode-file
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE> /prefetch:11
9668 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=renderer
--user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor"
--standard-schemes=vscode-webview,vscode-file,cursor-rpc-devtools --enable-sandbox --secure-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--bypasscsp-schemes=sentry-ipc --cors-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--fetch-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--service-worker-schemes=vscode-webview --code-cache-schemes=vscode-webview,vscode-file
--app-user-model-id=Anysphere.Cursor
--app-path="C:\Users\UserName\AppData\Local\Programs\cursor\resources\app" --enable-sandbox
--enable-blink-features=HighlightAPI --force-gpu-mem-available-mb=1024
--disable-blink-features=FontMatchingCTMigration,StandardizedBrowserZoom,
--video-capture-use-gpu-memory-buffer --lang=en-US --device-scale-factor=1 --num-raster-threads=4
--enable-main-frame-before-activation --renderer-client-id=4
--time-ticks-at-unix-epoch=<INT> --launch-time-ticks=<INT>
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE>
--vscode-window-config=vscode:<128-BIT-TOKEN> /prefetch:1
26380 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=utility
--utility-sub-type=audio.mojom.AudioService --lang=en-US --service-sandbox-type=audio
--video-capture-use-gpu-memory-buffer --user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor"
--standard-schemes=vscode-webview,vscode-file,cursor-rpc-devtools --enable-sandbox --secure-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--bypasscsp-schemes=sentry-ipc --cors-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--fetch-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--service-worker-schemes=vscode-webview --code-cache-schemes=vscode-webview,vscode-file
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE> /prefetch:12
25272 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=utility
--utility-sub-type=node.mojom.NodeService --lang=en-US --service-sandbox-type=none
--video-capture-use-gpu-memory-buffer --user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor"
--standard-schemes=vscode-webview,vscode-file,cursor-rpc-devtools --enable-sandbox --secure-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--bypasscsp-schemes=sentry-ipc --cors-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--fetch-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--service-worker-schemes=vscode-webview --code-cache-schemes=vscode-webview,vscode-file
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE> /prefetch:14
16332 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=utility
--utility-sub-type=node.mojom.NodeService --lang=en-US --service-sandbox-type=none
--video-capture-use-gpu-memory-buffer --user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor"
--standard-schemes=vscode-webview,vscode-file,cursor-rpc-devtools --enable-sandbox --secure-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--bypasscsp-schemes=sentry-ipc --cors-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--fetch-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--service-worker-schemes=vscode-webview --code-cache-schemes=vscode-webview,vscode-file
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE> /prefetch:14
30600 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=utility
--utility-sub-type=node.mojom.NodeService --lang=en-US --service-sandbox-type=none
--dns-result-order=ipv4first --experimental-network-inspection --inspect-port=0
--video-capture-use-gpu-memory-buffer --user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor"
--standard-schemes=vscode-webview,vscode-file,cursor-rpc-devtools --enable-sandbox --secure-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--bypasscsp-schemes=sentry-ipc --cors-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--fetch-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--service-worker-schemes=vscode-webview --code-cache-schemes=vscode-webview,vscode-file
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE> /prefetch:14
14648 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=utility
--utility-sub-type=node.mojom.NodeService --lang=en-US --service-sandbox-type=none
--dns-result-order=ipv4first --experimental-network-inspection --inspect-port=0
--video-capture-use-gpu-memory-buffer --user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor"
--standard-schemes=vscode-webview,vscode-file,cursor-rpc-devtools --enable-sandbox --secure-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--bypasscsp-schemes=sentry-ipc --cors-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--fetch-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--service-worker-schemes=vscode-webview --code-cache-schemes=vscode-webview,vscode-file
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE> /prefetch:14
26368 Cursor.exe "C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe" --type=utility
--utility-sub-type=node.mojom.NodeService --lang=en-US --service-sandbox-type=none
--video-capture-use-gpu-memory-buffer --user-data-dir="C:\Users\UserName\AppData\Roaming\Cursor"
--standard-schemes=vscode-webview,vscode-file,cursor-rpc-devtools --enable-sandbox --secure-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--bypasscsp-schemes=sentry-ipc --cors-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--fetch-schemes=vscode-webview,vscode-file,vscode-remote-resource,vscode-managed-remote-resource,cursor-rpc-devtools,sentry-ipc
--service-worker-schemes=vscode-webview --code-cache-schemes=vscode-webview,vscode-file
--field-trial-handle=<HANDLE> --enable-features=DocumentPolicyIncludeJSCallStacksInCrashReports,EnableTransparentHwndEnlargement,PdfUseShowSaveFilePicker
--disable-features=AccessibilityBlockFlowIterator,CalculateNativeWinOcclusion,LocalNetworkAccessChecks,NetworkServiceSandbox,ScreenAIOCREnabled,SpareRendererForSitePerProcess,TraceSiteInstanceGetProcessCreation
--variations-seed-version --trace-process-track-uuid=<64-BIT-TOKEN>
--mojo-platform-channel-handle=<HANDLE> /prefetch:14
29084 Cursor.exe C:\Users\UserName\AppData\Local\Programs\cursor\Cursor.exe --dns-result-order=ipv4first
--experimental-network-inspection c:\Users\UserName\AppData\Local\Programs\cursor\resources\app\extensions\cursor-always-local\dist\gitWorker.js
=== Bash / WSL (cleaned) ===
UserName@host:~/projects/dti-cv-monitoring$ ps aux | grep cursor
UserName 620 0.0 0.0 2892 948 ? Ss 09:24 0:00 sh /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/bin/cursor-server --start-server --host=127.0.0.1 --port=0 --connection-token-file /home/UserName/.cursor-server/.<160-BIT-TOKEN>.token --telemetry-level off --use-host-proxy --disable-websocket-compression --without-browser-env-var --accept-server-license-terms
UserName 633 0.7 0.4 11880836 153732 ? Sl 09:24 0:05 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/out/server-main.js --start-server --host=127.0.0.1 --port=0 --connection-token-file /home/UserName/.cursor-server/.<160-BIT-TOKEN>.token --telemetry-level off --use-host-proxy --disable-websocket-compression --without-browser-env-var --accept-server-license-terms
UserName 1052 0.7 0.7 1590372 245432 ? Sl 09:24 0:05 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/out/bootstrap-fork --type=fileWatcher
UserName 1330 4.8 1.9 79620152 637896 ? Sl 09:24 0:34 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node --dns-result-order=ipv4first --inspect-port=0 --experimental-network-inspection /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/out/bootstrap-fork --type=extensionHost --transformURIs --useHostProxy=true
UserName 1383 0.1 0.2 1146216 75940 ? Rl 09:25 0:01 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/out/bootstrap-fork --type=ptyHost --logsPath /home/UserName/.cursor-server/data/logs/20260813T092452
UserName 1617 0.0 0.1 1025440 60728 ? Sl 09:25 0:00 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/extensions/markdown-language-features/dist/serverWorkerMain --node-ipc --clientProcessId=1330
UserName 1623 0.1 0.4 1080136 142068 ? Sl 09:25 0:01 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/extensions/html-language-features/server/dist/node/htmlServerMain --node-ipc --clientProcessId=1330
UserName 1634 0.0 0.2 1028088 75828 ? Sl 09:25 0:00 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/extensions/css-language-features/server/dist/node/cssServerMain --node-ipc --clientProcessId=1330
UserName 1649 1.1 0.3 22310908 101372 ? Sl 09:25 0:08 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/extensions/mads-hartmann.bash-ide-vscode-1.43.0-universal/out/server.js --node-ipc --clientProcessId=1330
UserName 1832 0.0 0.0 10168 9320 pts/3 Ss+ 09:25 0:00 /bin/bash --init-file /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
UserName 1963 0.2 0.4 1669204 136432 ? Sp 09:25 0:01 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node --max-old-space-size=15977 /home/UserName/.cursor-server/extensions/anysphere.cursorpyright-1.0.12/dist/server.js --cancellationReceive=file:<160-BIT-TOKEN> --node-ipc --clientProcessId=1330
UserName 1971 0.0 0.1 1092668 62988 ? Sl 09:25 0:00 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/extensions/json-language-features/server/dist/node/jsonServerMain --node-ipc --clientProcessId=1330
UserName 1979 0.1 0.2 1206068 92904 ? Sl 09:25 0:01 /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/node /home/UserName/.cursor-server/extensions/redhat.vscode-yaml-1.24.0-universal/dist/languageserver.js --node-ipc --clientProcessId=1330
UserName 2482 0.0 0.0 10168 9176 pts/4 Ss 09:25 0:00 /bin/bash --init-file /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/out/vs/workbench/contrib/terminal/common/scripts/shellIntegration-bash.sh
UserName 6818 0.0 0.0 2892 1000 ? S 09:36 0:00 /bin/sh -c "/home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/out/vs/base/node/cpuUsage.sh" 2482
UserName 6819 0.0 0.0 4784 3300 ? S 09:36 0:00 /bin/bash /home/UserName/.cursor-server/bin/<160-BIT-TOKEN>/out/vs/base/node/cpuUsage.sh 2482
UserName 6825 0.0 0.0 4032 1960 pts/4 S+ 09:36 0:00 grep --color=auto cursor
Does this stop you from using Cursor
Yes - Cursor is unusable