Cursor not working on Windows

Where does the bug appear (feature/product)?

CursorIDE

Describe the Bug

I’m experiencing consistent freezes with Cursor on Windows. The app works initially, but after some time (usually a few hours), the UI becomes completely unresponsive: window is visible, CPU usage continues, cannot click anything, keyboard shortcuts don’t work and requires force kill from Task Manager

After killing it, I have to reinstall Cursor again because when i reopen it, it just shows a gray screen and doesn’t load. At this point, even after clean install: Deleted: the app, %APPDATA%\Cursor, %USERPROFILE%\.cursor, cleared %TEMP, restarted system and installed fresh it still shows a gray screen.

When launching Cursor from terminal I see this error: [CursorProclistService] Native module unavailable; disabling proclist metrics:
Error: Cannot find module ‘./build/Release/cursor_proclist.node’
but even after reinstall there is no build folder in cursor_proclist. I don’t know if this is important to my case.

--disable-gpu also doesn’t work. I’ve also done clean reinstall of Intel Arc drivers.

Steps to Reproduce

  1. Install Cursor
  2. Open it
  3. Gray screen

Expected Behavior

Cursor to load.

Operating System

Windows 11

Intel Arc 140T GPU

Asus Zenbook with built-in dual screen (don’t know if that is important)

Version Information

Latest Cursor version (3.1.17) . I can’t open it anymore to copy About Cursor info.

Additional Information

I used Cursor in the last few months, it was working fine at the beginning, but this issue is happening more often now and as I said at this point I can’t use it even after new install. Please let me know if this is something that can be fixed, because I’m paying for a plan and I can’t even use it.

Does this stop you from using Cursor?

Yes - Cursor is unusable

Hi there!

We detected that this may be a bug report, so we’ve moved your post to the Bug Reports category.

To help us investigate and fix this faster, could you edit your original post to include the details from the template below?

Bug Report Template - Click to expand

Where does the bug appear (feature/product)?

  • Cursor IDE
  • Cursor CLI
  • Background Agent (GitHub, Slack, Web, Linear)
  • BugBot
  • Somewhere else…

Describe the Bug
A clear and concise description of what the bug is.


Steps to Reproduce
How can you reproduce this bug? We have a much better chance at fixing issues if we can reproduce them!


Expected Behavior
What is meant to happen here that isn’t working correctly?


Screenshots / Screen Recordings
If applicable, attach images or videos (.jpg, .png, .gif, .mp4, .mov)


Operating System

  • Windows 10/11
  • MacOS
  • Linux

Version Information

  • For Cursor IDE: Menu → About Cursor → Copy
  • For Cursor CLI: Run agent about in your terminal
IDE:
Version: 2.xx.x
VSCode Version: 1.105.1
Commit: ......

CLI:
CLI Version 2026.01.17-d239e66

For AI issues: which model did you use?
Model name (e.g., Sonnet 4, Tab…)


For AI issues: add Request ID with privacy disabled
Request ID: f9a7046a-279b-47e5-ab48-6e8dc12daba1
For Background Agent issues, also post the ID: bc-…


Additional Information
Add any other context about the problem here.


Does this stop you from using Cursor?

  • Yes - Cursor is unusable
  • Sometimes - I can sometimes use Cursor
  • No - Cursor works, but with this issue

The more details you provide, the easier it is for us to reproduce and fix the issue. Thanks!

I still need help on this one. I’ve managed to open it by creating a new Windows profile, but after closing/ shutting down the computer on the next opening of Cursor it just doesn’t load - gray screen. I waited a few hours but nothing happens.

Anyone with similar issues?

Hey, sorry this has been left unanswered. From your description, this looks a lot like an issue with GPU cache and Electron rendering on Intel Arc. These GPUs can reliably break Chromium apps on certain driver versions, and some cache survives a normal reinstall.

A few things to try, in order:

  1. Clear %LOCALAPPDATA%\Cursor, not just %APPDATA%\Cursor

These are different folders. GPU cache, Code cache, and some Electron state live in %LOCALAPPDATA%\Cursor. A reinstall doesn’t touch it, and --disable-gpu won’t reset it either. Fully close Cursor first (check Task Manager), then delete:

  • %LOCALAPPDATA%\Cursor\GPUCache
  • %LOCALAPPDATA%\Cursor\Code Cache
  • If nothing helps, delete the whole %LOCALAPPDATA%\Cursor folder, but note it will reset settings and extensions
  1. Launch with a different ANGLE backend

--disable-gpu is sometimes not enough, so try switching the graphics backend. In a terminal:

"C:\Users\<username>\AppData\Local\Programs\cursor\Cursor.exe" --use-angle=gl

If that doesn’t work, try --use-angle=vulkan or --use-angle=d3d9. One of these almost always avoids the broken paths in Arc drivers.

  1. Check the cursor_proclist.node error

This is a red herring. The module is optional, it’s missing on all Windows installs, and it doesn’t cause freezes. You can safely ignore it, the root cause is elsewhere.

  1. If nothing helped, send logs

After the next gray screen, go to %APPDATA%\Roaming\Cursor\logs\ (there are timestamped folders), open the latest one, and share the contents of main.log and renderer1.log. They’ll show where the renderer is failing.

Let me know at which step things change (or don’t), and I can dig deeper.

Thanks for the response!

  1. I don’t have a Curosr folder under …/AppData/Local, but I found the mentioned folders (GPU cache and Code cache) in %APPDATA%/Roaming/Cursor.
  2. After deleting the folders and restarting the system I tried to launch with a different ANGLE backend. It is starting with gl, but hitting the same issue after a few hours - Cursor freezes and won’t start after that even after deleting GPU cache and Code cache. I’m not able to start it with vulcan and d3d9.

Even after deleting the whole Roaming/Cursor folder, Cursor won’t start. I have to restart the device (which is not working every time) or switch to another Windows user, open Cursor from there, close it and then return back to the original user. But again after a few hours it freezes again.

main.log content:
2026-05-11 21:58:38.557 [info] updateURL ``https://api2.cursor.sh/updates/api/update/win32-x64-user/cursor/3.3.30/0b678ffd037050d0de67ba8f69c7341bed17a19187cefe76620eaaa6e611063a/stable
2026-05-11 21:58:38.558 [info] update#setState idle
2026-05-11 21:58:55.408 [info] [CursorProclistService] Config enabled feature (subsample every 10s)
2026-05-11 21:59:08.284 [info] update#setState checking for updates
2026-05-11 21:59:08.446 [info] update#setState idle
2026-05-11 22:03:27.769 [info] [PowerMainService] Started wakelock id=0 owner=window:1 reason=“agent-loop” activeCount=1
2026-05-11 22:04:15.398 [info] [PowerMainService] Stopping wakelock id=0 owner=window:1 reason=“agent-loop” heldForMs=47629
2026-05-11 22:09:19.634 [info] [PowerMainService] Started wakelock id=1 owner=window:1 reason=“agent-loop” activeCount=1
2026-05-11 22:09:55.987 [info] [PowerMainService] Stopping wakelock id=1 owner=window:1 reason=“agent-loop” heldForMs=36353
2026-05-11 22:55:10.723 [info] update#setState checking for updates
2026-05-11 22:55:11.100 [info] update#setState idle
2026-05-12 03:15:56.957 [info] update#setState checking for updates
2026-05-12 03:15:58.004 [info] update#setState idle
2026-05-12 08:59:07.198 [info] update#setState checking for updates
2026-05-12 08:59:07.238 [info] [WorktreeCleanupMainService] Granted cleanup lease id=1 owner=window:1 reason=“scheduled-worktree-cleanup”
2026-05-12 08:59:07.264 [info] [WorktreeCleanupMainService] Releasing cleanup lease id=1 owner=window:1 reason=“scheduled-worktree-cleanup” releaseReason=“released” heldForMs=26
2026-05-12 08:59:08.440 [info] update#setState idle
2026-05-12 09:58:44.353 [info] [WorktreeCleanupMainService] Granted cleanup lease id=2 owner=window:1 reason=“scheduled-worktree-cleanup”
2026-05-12 09:58:44.358 [info] [WorktreeCleanupMainService] Releasing cleanup lease id=2 owner=window:1 reason=“scheduled-worktree-cleanup” releaseReason=“released” heldForMs=4
2026-05-12 10:01:52.609 [info] update#setState checking for updates
2026-05-12 10:01:52.980 [info] update#setState idle
2026-05-12 10:58:59.885 [info] update#setState checking for updates
2026-05-12 10:59:00.253 [info] update#setState idle
2026-05-12 12:03:48.603 [info] update#setState checking for updates
2026-05-12 12:03:49.005 [info] update#setState idle
2026-05-12 13:05:46.321 [info] update#setState checking for updates
2026-05-12 13:05:46.716 [info] update#setState idle
2026-05-12 13:59:53.061 [info] update#setState checking for updates
2026-05-12 13:59:53.452 [info] update#setState idle
2026-05-12 15:00:46.959 [info] update#setState checking for updates
2026-05-12 15:00:47.362 [info] update#setState idle
2026-05-12 15:58:44.353 [info] [WorktreeCleanupMainService] Granted cleanup lease id=3 owner=window:1 reason=“scheduled-worktree-cleanup”
2026-05-12 15:58:44.355 [info] [WorktreeCleanupMainService] Releasing cleanup lease id=3 owner=window:1 reason=“scheduled-worktree-cleanup” releaseReason=“released” heldForMs=3
2026-05-12 16:05:12.720 [info] update#setState checking for updates
2026-05-12 16:05:13.096 [info] update#setState idle
2026-05-12 16:38:13.212 [info] [PowerMainService] Started wakelock id=2 owner=window:1 reason=“agent-loop” activeCount=1
2026-05-12 16:39:51.283 [info] [PowerMainService] Stopping wakelock id=2 owner=window:1 reason=“agent-loop” heldForMs=98071
2026-05-12 17:04:22.831 [info] update#setState checking for updates
2026-05-12 17:04:23.207 [info] update#setState idle
2026-05-12 17:17:06.743 [info] [PowerMainService] Started wakelock id=3 owner=window:1 reason=“agent-loop” activeCount=1
2026-05-12 17:18:12.206 [info] [PowerMainService] Stopping wakelock id=3 owner=window:1 reason=“agent-loop” heldForMs=65464
2026-05-12 17:20:57.692 [info] [PowerMainService] Started wakelock id=4 owner=window:1 reason=“agent-loop” activeCount=1
2026-05-12 17:22:28.322 [info] [PowerMainService] Stopping wakelock id=4 owner=window:1 reason=“agent-loop” heldForMs=90631
2026-05-12 17:22:45.104 [info] [PowerMainService] Started wakelock id=5 owner=window:1 reason=“agent-loop” activeCount=1

Summary of logs/timestamp/window1/renderer errors, because the file is too big and i can’t send the whole content here:
2026-05-11 21:58:42.063 [info] [CursorExtensionIsolationService] Extension isolation gate is enabled, effective isolation is enabled

2026-05-11 21:58:42.xxx [warning] Multiple product.json#extensionEnabledApiProposals warnings:

  • ms-toolsai.datawrangler wants API proposal ‘debugFocus’ but proposal does not exist
  • ms-vscode.vscode-copilot-data-analysis wants ‘chatVariableResolver’ but proposal does not exist
  • ms-python.python wants ‘terminalShellType’ but proposal does not exist
  • github.copilot-chat wants ‘chatReadonlyPromptReference’ but proposal does not exist
  • ms-azuretools.vscode-azure-github-copilot / vscjava.vscode-java-pack want ‘lmTools’ but proposal does not exist
  • apidev.azure-api-center wants ‘chatParticipant’ and ‘languageModels’ but proposals do not exist

2026-05-11 21:59:02.116 [error] [Extension Host] (node:11396) [DEP0040] DeprecationWarning: The punycode module is deprecated.

2026-05-11 22:03:37.403 [error] [Extension Host] [otel.error]
OTLPExporterError: Bad Request
code: 400
data: {“error”:“Trace spans collection is disabled for NO_STORAGE privacy mode”}

This OTLPExporterError repeats multiple times:
2026-05-11 22:03:42.580
2026-05-11 22:03:50.406
2026-05-11 22:04:02.288
2026-05-11 22:09:28.740
2026-05-11 22:09:32.172
2026-05-11 22:09:49.118
2026-05-12 16:38:25.982
2026-05-12 16:38:29.442
2026-05-12 17:17:17.175
2026-05-12 17:17:20.186
2026-05-12 17:17:36.717
2026-05-12 17:21:10.158

2026-05-11 22:04:12.161 [info] [VscodeDiagnosticsExecutor] Couldn’t wait on latest linter errors: Timeout has occurred

2026-05-11 22:07:11.652 [error] Cannot read properties of undefined (reading ‘endIndex’):
TypeError: Cannot read properties of undefined (reading ‘endIndex’)
at Sby (…workbench.desktop.main.js:145:15736)
at vby (…workbench.desktop.main.js:145:12180)
at F1n (…workbench.desktop.main.js:145:11385)
at $9c.renderLines (…workbench.desktop.main.js:38683:9275)
at $9c.updateLines (…workbench.desktop.main.js:38683:9686)
at $9c.showChangesAutoCompleteInline (…workbench.desktop.main.js:38687:652)
at $9c._updateTextContentImpl (…workbench.desktop.main.js:38687:2728)
at $9c._updateTextContent (…workbench.desktop.main.js:38687:1109)
at $9c.update (…workbench.desktop.main.js:38687:4110)
at KBt.update (…workbench.desktop.main.js:38689:3765)
at TA.change (…workbench.desktop.main.js:448:1508)
at ZWh.createOrUpdateSuggestionState (…workbench.desktop.main.js:46450:1911)
at ZWh.displayCppSuggestion (…workbench.desktop.main.js:46450:3081)
at ZWh.handleStreamOutput (…workbench.desktop.main.js:46447:3099)
at async ZWh.immediatelyFireCppFromTrigger (…workbench.desktop.main.js:46445:5962)
at async ZWh.fireCppSuggestionFromTrigger (…workbench.desktop.main.js:46445:4533)

Same endIndex error repeats at:
2026-05-11 22:07:11.809
2026-05-12 16:29:59.013
2026-05-12 16:29:59.254
2026-05-12 16:30:07.381
2026-05-12 16:30:07.472
2026-05-12 16:30:08.295
2026-05-12 16:30:08.409
2026-05-12 16:36:08.764

2026-05-12 08:59:07.014 [error] Failed to refresh authentication, scheduling next attempt {“error”:{}}

2026-05-12 16:30:07.467 [error] Invoking deltaDecorations recursively could lead to leaking decorations.
Error: Invoking deltaDecorations recursively could lead to leaking decorations.
at Eae.deltaDecorations (…workbench.desktop.main.js:141:5073)
at bDm.setHiddenAreas (…workbench.desktop.main.js:142:52929)
at EDm.setHiddenAreas (…workbench.desktop.main.js:142:82811)
at UD.setHiddenAreas (…workbench.desktop.main.js:303:2578)
at tle.onHiddenRangesChanges (…workbench.desktop.main.js:29144:33459)
at LTf.applyHiddenRanges (…workbench.desktop.main.js:29133:39580)
at LTf.updateHiddenRanges (…workbench.desktop.main.js:29133:39468)
at RTf.toggleCollapseState (…workbench.desktop.main.js:29133:34647)
at tle.onEditorMouseUp (…workbench.desktop.main.js:29144:35424)
at Eae.deltaDecorations (…workbench.desktop.main.js:141:5281)
at $9c.removeAllWidgetsInEditorNotModel (…workbench.desktop.main.js:38683:8013)
at $9c.removeAllInEditorNotModel (…workbench.desktop.main.js:38687:4321)
at $9c.update (…workbench.desktop.main.js:38687:3339)
at KBt.update (…workbench.desktop.main.js:38689:3765)

Same deltaDecorations recursive error repeats at:
2026-05-12 16:30:08.406
2026-05-12 16:31:15.390
2026-05-12 16:31:37.309
2026-05-12 16:31:37.313
2026-05-12 16:31:47.386
2026-05-12 16:34:39.077
2026-05-12 16:34:39.079

Some repeated deltaDecorations stacks involve Cursor prediction / autocomplete cleanup:
at nHh.clearPrediction (…workbench.desktop.main.js:46451:19811)
at nHh.clearCursorPrediction (…workbench.desktop.main.js:46451:16436)
at ZWh.clearDecorationsFast (…workbench.desktop.main.js:46450:14124)
at ZWh.clearSuggestions (…workbench.desktop.main.js:46450:14445)
at ZWh.rejectAndResetAllCppSuggestions (…workbench.desktop.main.js:46450:12995)
at $9c.showChangesAutoCompleteInline (…workbench.desktop.main.js:38686/38687)
at $9c.showChangesOnTheRightAndMaybeShowReds (…workbench.desktop.main.js:38683:11691)

2026-05-12 16:32:26.836 [error] command ‘_chat.editSessions.accept’ not found
{“name”:“Error”,“message”:“command ‘_chat.editSessions.accept’ not found”}

2026-05-12 16:32:35.236 [info] Extension host (LocalProcess [role: user] pid: 33808) is unresponsive.
2026-05-12 16:32:35.238 [warning] [ExtensionService] No inspect port found for:

  • LocalProcess [role: user] pid: 33808
  • LocalProcess [role: retrieval] pid: 11396
  • LocalProcess [role: always-local] pid: 9872
  • LocalProcess [role: agent-exec] pid: 43656
    2026-05-12 16:32:35.248 [info] Extension host (LocalProcess [role: user] pid: 33808) is responsive.

2026-05-12 16:32:57.604 [info] Extension host (LocalProcess [role: user] pid: 33808) is unresponsive.
2026-05-12 16:32:57.608 [warning] [ExtensionService] No inspect port found for:

  • LocalProcess [role: user] pid: 33808
  • LocalProcess [role: retrieval] pid: 11396
  • LocalProcess [role: always-local] pid: 9872
  • LocalProcess [role: agent-exec] pid: 43656
    2026-05-12 16:32:57.656 [info] Extension host (LocalProcess [role: user] pid: 33808) is responsive.

2026-05-12 16:33:00.331 [error] command ‘_chat.editSessions.accept’ not found
{“name”:“Error”,“message”:“command ‘_chat.editSessions.accept’ not found”}

Other recurring but probably less important warnings:
2026-05-11/12 [warning] Missing property “rpcFileLoggerFolder” in oldValue. Filling with value from initValue. Please add a migration if necessary.
2026-05-11 21:58:44.143 [warning] No search provider registered for scheme: file, waiting

Hey, thanks for the detailed logs, they give us some clear clues.

First, an important note: your GPUCache and Code Cache are in %APPDATA%\Roaming\Cursor which is normal for a user install on Windows. %LOCALAPPDATA%\Cursor may not exist. So you did the cleanup step correctly.

Since Cursor starts with --use-angle=gl but still freezes after a few hours, it likely is not only a GPU issue. It looks more like something on the renderer or extension host side. The logs show a repeating pattern:

  1. Errors like Cannot read properties of undefined (reading 'endIndex') inside showChangesAutoCompleteInline. This looks like Cursor Tab (CPP prediction) hits a bug and then starts recursively calling deltaDecorations, which triggers Invoking deltaDecorations recursively could lead to leaking decorations. After that, the extension host becomes unresponsive. This matches a known Tab issue.
  2. You have github.copilot-chat installed (it shows up in warnings about API proposals). It conflicts with Cursor Tab and often triggers this kind of crash. The _chat.editSessions.accept not found message in the logs is also its command.

What to try, in order:

  1. Remove or at least disable GitHub Copilot Chat and Copilot extensions. You do not need them in Cursor and they often break the built-in Tab. Restart Cursor after that.

  2. Temporarily disable Cursor Tab: Settings > Cursor > Tab. Turn Cursor Tab off and use Cursor for a couple of hours. If the freeze stops, then the issue is definitely in CPP prediction, and you can run without Tab until the team fixes it.

  3. Start Cursor with extensions disabled to check if it still hangs with a clean setup:

    "C:\Users\<username>\AppData\Local\Programs\cursor\Cursor.exe" --disable-extensions --use-angle=gl
    
  4. Check your Intel Arc driver. You have Intel Arc 140T which is integrated Lunar Lake, not a discrete Alchemist GPU. Recent drivers had regressions with Chromium and Electron. Install the latest WHQL driver from Intel’s website, not via Windows Update.

  5. The trick where switching Windows users recovers the app suggests some per-user GPU state is getting stuck. You can also try clearing the Windows shader cache: run cleanmgr, check DirectX Shader Cache, then clean it.

If none of this helps, after the next gray screen please collect the full main.log and renderer1.log files, do not trim them. Upload them to something like GitHub Gist or pastebin and send the link. The cut logs do not show the exact moment of the freeze.

Let me know which step changes the behavior.