Constant crashes since last update

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

Cursor on windows 11 (up to date), 64gb ram.

since the last cursor update it seems to be regularly crashing, it freezes up then exists shortly after.
i deleted cache from appdata (i read as a recommendation somewhere), that deleted my chat history, not ideal but i can live it if it solves the issue but seems it doesnt as it just crashes again. i am running 1 ai agent doing fairly standard code fixes (working from a plan/todo list)
it is a large project but this was ok before the last update, i was routinely running 3-5 agents at the same time working on different areas.
before i cleared the cache some crashes would even crash the entire pc, that has not happened since i cleared the cache.

Steps to Reproduce

open cursor, open my project, run agent on a todo list, wait 10-15 minutes

Expected Behavior

not crash

Operating System

Windows 10/11

Version Information

Version: 2.6.21 (user setup)
VSCode Version: 1.105.1
Commit: fea2f546c979a0a4ad1deab23552a43568807590
Date: 2026-03-21T22:09:10.098Z
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Windows_NT x64 10.0.26200

For AI issues: which model did you use?

Agent, Auto

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey thanks for the report.

Quick workaround first:

  1. Cursor Settings (not VS Code settings) > Indexing & Docs
  2. Turn off Index Repositories for Instant Grep (BETA). This has been a common trigger on larger projects
  3. If that doesn’t help, also turn off Codebase Indexing
  4. Restart Cursor

Chat, Agent, and Tab will still work without it.

Also check:

Open Process Explorer Cmd+Shift+P > Developer: Open Process Explorer. Next time it starts freezing, check what’s eating CPU or RAM. If you see extensionHost spiking, that confirms it’s the indexing subsystem.

Would help to know:

  • Roughly how large is the project? File count
  • Do you see any Extension host terminated unexpectedly popups before the crash?
  • Any VPN software installed, even if not actively running? Some VPN clients conflict with Cursor’s local indexing. One user fixed their crashes by fully uninstalling their VPN Extension host terminated unexpectedly no matter what i try - #9 by Brian_Walch
  • Logs from %APPDATA%\Cursor\logs\ (the newest session folder) would be very helpful for pinpointing the root cause

The fact that you were running 3 to 5 agents fine before the update and now even 1 causes crashes points to something in the update itself, not your project size. Let me know what you find.

Many thanks Dean.

Comments on your questions/suggestions below. It crashed again earlier, this time with out of memory (64gb!) errors and a full pagefile. after a restart my pc needed to do a disk scan and repair.

Cursor Settings (not VS Code settings) > Indexing & Docs
Turn off Index Repositories for Instant Grep (BETA). This has been a common trigger on larger projects
If that doesn’t help, also turn off Codebase Indexing
Restart Cursor
all done (both for good measure). will monitor to see if this helps.

Roughly how large is the project? File count
1082 in scope (e.g. no gitignored files)

Do you see any Extension host terminated unexpectedly popups before the crash?
not that i noticed

Any VPN software installed, even if not actively running? Some VPN clients conflict with Cursor’s local indexing.
i have expressvpn, its not actively running nor running in the background as a service, i’ll uninstall if the above doesnt resolve it.

Logs from %APPDATA%\Cursor\logs\ (the newest session folder) would be very helpful for pinpointing the root cause
most empty or don’t seem relevant, these are some logs from right before the crash.

exthost.log—————————————————————————————–
2026-03-27 10:22:05.416 [info] Extension host terminating: renderer closed the MessagePort
2026-03-27 10:22:05.416 [info] Extension host terminating: renderer closed the MessagePort
2026-03-27 10:22:05.427 [info] Extension host terminating: renderer closed the MessagePort
2026-03-27 10:22:05.444 [warning] [ExtHostCursor] Failed to notify background shell provider unregistered Canceled
2026-03-27 10:22:05.444 [info] Extension host with pid 30952 exiting with code 0
2026-03-27 10:22:05.457 [info] Extension host with pid 30624 exiting with code 0
2026-03-27 10:22:05.501 [error] Canceled: Canceled
at new JSt (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:119896)
at pu._remoteCall (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:127061)
at r..a.charCodeAt.r. (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:123255)
at XOe._doExecuteCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49892)
at XOe.executeCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49331)
at t.registerCommand.description (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:48595)
at XOe._executeContributedCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:50462)
at XOe._doExecuteCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49464)
at XOe.executeCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49331)
at Object.executeCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:214:138705)
at kJe.N [as value] (d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:111100)
at x._deliver (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:2961)
at x._deliverQueue (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:3052)
at x.fire (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:3389)
at Object.v [as dispose] (d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:180250)
at d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:186615
at Array.forEach ()
at R.dispose (d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:186602)
at QDe. (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10091)
at QDe.dispose (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10187)
at QDe. (d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:113577)
at QDe.dispose (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10187)
at xi (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:44:706)
at file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:20431
at file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:44:1019
at Object.dispose (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:27:1256)
at T0s._deactivate (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:15275)
at file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12546
at Array.map ()
at T0s._deactivateAll (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12534)
at T0s.terminate (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12888)
at Qlt.terminate (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:148:1617)
at $r (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:680:7942)
at MessagePortMain. (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:680:4373)
at MessagePortMain.emit (node:events:519:28)
at MessagePortMain.emit (node:domain:489:12)
at MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2959)
at Object.topLevelDomainCallback (node:domain:161:15)
at Object.callbackTrampoline (node:internal/async_hooks:128:24) setContext undefined
2026-03-27 10:22:05.501 [error] Canceled: Canceled
at new JSt (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:119896)
at pu._remoteCall (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:127061)
at r..a.charCodeAt.r. (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:123255)
at XOe._doExecuteCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49892)
at XOe.executeCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49331)
at t.registerCommand.description (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:48595)
at XOe._executeContributedCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:50462)
at XOe._doExecuteCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49464)
at XOe.executeCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49331)
at Object.executeCommand (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:214:138705)
at set hasGitHubRepositories (d:\Program Files\cursor\resources\app\extensions\github\dist\extension.js:2:270497)
at d:\Program Files\cursor\resources\app\extensions\github\dist\extension.js:2:271447
at kJe.value (d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:601552)
at x._deliver (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:2961)
at x._deliverQueue (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:3052)
at x.fire (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:3389)
at Object.v [as dispose] (d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:180250)
at d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:186615
at Array.forEach ()
at R.dispose (d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:186602)
at QDe. (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10091)
at QDe.dispose (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10187)
at QDe. (d:\Program Files\cursor\resources\app\extensions\git\dist\main.js:2:113577)
at QDe.dispose (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10187)
at xi (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:44:706)
at file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:20431
at file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:44:1019
at Object.dispose (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:27:1256)
at T0s._deactivate (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:15275)
at file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12546
at Array.map ()
at T0s._deactivateAll (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12534)
at T0s.terminate (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12888)
at Qlt.terminate (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:148:1617)
at $r (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:680:7942)
at MessagePortMain. (file:///d:/Program%20Files/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:680:4373)
at MessagePortMain.emit (node:events:519:28)
at MessagePortMain.emit (node:domain:489:12)
at MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2959)
at Object.topLevelDomainCallback (node:domain:161:15)
at Object.callbackTrampoline (node:internal/async_hooks:128:24) setContext undefined
2026-03-27 10:22:05.513 [info] Extension host with pid 24612 exiting with code 0

renderer.log—————————————————————————————–
2026-03-27 10:15:23.362 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (d:\Program Files\cursor\resources\app\node_modules\@opentelemetry\otlp-exporter-base\build\src\transport\http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{“error”:“Trace spans collection is not enabled for this user”}”}
2026-03-27 10:15:30.195 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (d:\Program Files\cursor\resources\app\node_modules\@opentelemetry\otlp-exporter-base\build\src\transport\http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{“error”:“Trace spans collection is not enabled for this user”}”}
2026-03-27 10:15:35.939 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (d:\Program Files\cursor\resources\app\node_modules\@opentelemetry\otlp-exporter-base\build\src\transport\http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{“error”:“Trace spans collection is not enabled for this user”}”}
2026-03-27 10:15:43.601 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (d:\Program Files\cursor\resources\app\node_modules\@opentelemetry\otlp-exporter-base\build\src\transport\http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{“error”:“Trace spans collection is not enabled for this user”}”}
2026-03-27 10:15:49.917 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (d:\Program Files\cursor\resources\app\node_modules\@opentelemetry\otlp-exporter-base\build\src\transport\http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{“error”:“Trace spans collection is not enabled for this user”}”}
2026-03-27 10:16:03.969 [error] [Extension Host] [otel.error] {“stack”:“OTLPExporterError: Bad Request\n\tat IncomingMessage. (d:\Program Files\cursor\resources\app\node_modules\@opentelemetry\otlp-exporter-base\build\src\transport\http-transport-utils.js:52:31)\n\tat IncomingMessage.emit (node:events:531:35)\n\tat endReadableNT (node:internal/streams/readable:1698:12)\n\tat process.processTicksAndRejections (node:internal/process/task_queues:89:21)”,“message”:“Bad Request”,“code”:“400”,“name”:“OTLPExporterError”,“data”:“{“error”:“Trace spans collection is not enabled for this user”}”}

not sure if related, but i had cursor and chrome running, then i closed chrome and both chrome and cursor closed with only this error remaining

Thanks for the logs and screenshot.

From the logs: the OTLPExporterError entries in renderer.log are noise and don’t affect the crash. Extension host terminating: renderer closed the MessagePort in exthost.log is a result of the main crash, not the cause.

From the screenshot: this is an assertion failure in conpty.node (the terminal module):

Expression: remove_pty_baton(baton->id)
File: conpty.cc, Line: 106

This is a race condition in the PTY subsystem, and it’s almost certainly caused by the same memory pressure. When the system hits OOM, terminal processes can exit in a bad state. Once the memory issue is fixed, this assertion should go away too.

OOM with 64GB plus a full pagefile is a known Windows issue, and the team is aware. Turning off indexing is a good first step. If crashes continue, try these next in order:

  1. Close all old chat tabs. On Windows, chat sessions, especially ones with file changes, can grow memory usage without limits. Start new chats and close old ones.

  2. Reset the workspace state DB. This is separate from the cache you already cleared:

    • Fully close Cursor
    • Delete or rename C:\Users\<username>\AppData\Roaming\Cursor\User\globalStorage\state.vscdb
    • Start Cursor again, you’ll need to log in again
  3. Disable HTTP/2: Settings > search cursor.general.disableHttp2 > set to true > restart

  4. Process Explorer: Ctrl+Shift+P > Developer: Open Process Explorer. On the next freeze, check which process is using the most memory. If the renderer grows to 3 to 5GB, that confirms the known memory leak.

Let me know if turning off indexing helped and how it goes after that.

1. old chats were gone after i deleted the cache folders
will try 2. next

thanks!

1 Like

not implemented item 2 yet, but it crashed again (whole pc), i did manage to grab this:
tests are the highest, but doesnt seem like enough to oom?
will do item 2 now and see how we go

1 Like

the state file was 20gb, is that expected?

20GB for state.vscdb is definitely not expected, and it’s the reason you’re hitting OOM crashes. This is a known issue where the internal database can grow without limits from chat and agent session data.

Since you already cleared chat history earlier and don’t need to keep old chats, the fastest fix is:

  • Fully close Cursor
  • Delete or rename to .bak this file: C:\Users\<username>\AppData\Roaming\Cursor\User\globalStorage\state.vscdb
  • Start Cursor and it’ll create a fresh file

Cursor will rebuild it from scratch. You’ll need to log in again, and existing project chats will show Loading Chat and won’t load because the DB is gone, but new chats will work fine. Your code won’t be touched.

If you’d rather keep some state and just shrink the file, open it in DB Browser for SQLite https://sqlitebrowser.org/ and run:

DELETE FROM cursorDiskKV WHERE key LIKE 'agentKv:%';
DELETE FROM cursorDiskKV WHERE key LIKE 'bubbleId:%';
DELETE FROM cursorDiskKV WHERE key LIKE 'checkpointId:%';
VACUUM;

That should drop it from 20GB to a few MB.

The team knows about the unbounded database growth issue, and your report helps us prioritize it. Let me know how it goes after the cleanup.

renamed it entirely, no need to complicate matters.
the new statefile is 90mb, computer also doesnt sound like a jetengine anymore when agent is running. will monitor and see if helped.

1 Like