Where does the bug appear (feature/product)?
Cursor IDE
Describe the Bug
When I first open up Cursor, all works fine. If I have it running for a while and then switch to a different project, the extension host hangs and the agent chat will time out and the source control tab gets stuck at “Scanning for Git repositories”. When I press Ctrl + Shift + P and look at running extensions, it is blank.
This happens on a daily basis. I can’t nail down how long I have to keep Cursor open for this to happen.
I’ve tried uninstalling Cursor, deleting the %APPDATA%\Cursor folder and then reinstalling Cursor. It did not resolve the issue.
This bug has been happening for several weeks at least, through several updates.
Steps to Reproduce
- Open a project, keep Cursor open for a while
- Switch to a new project
- Try to chat with an agent or interact with source control
Operating System
Windows 10/11
Version Information
Cursor version 3.2.16
Does this stop you from using Cursor
Yes - Cursor is unusable
Here’s the extension host message log when I notice the issue:
2026-04-29 16:28:03.675 [info] Extension host terminating: renderer closed the MessagePort
2026-04-29 16:28:03.681 [info] Extension host with pid 20708 exiting with code 0
2026-04-29 16:28:03.683 [info] Extension host terminating: renderer closed the MessagePort
2026-04-29 16:28:03.686 [info] Extension host terminating: renderer closed the MessagePort
2026-04-29 16:28:03.689 [info] Extension host terminating: renderer closed the MessagePort
2026-04-29 16:28:03.691 [info] Extension host with pid 43612 exiting with code 0
2026-04-29 16:28:03.692 [info] [ExtHostCursorExplorerProviderService] ExplorerProvider unregistered in ext host
2026-04-29 16:28:03.694 [info] Extension host with pid 33764 exiting with code 0
2026-04-29 16:28:03.727 [error] [ExtHostCursorExplorerProviderService] Main thread provider unregistration failed Canceled
2026-04-29 16:28:03.729 [error] Canceled: Canceled
at new vNt (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:119702)
at Su._remoteCall (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:127194)
at r..a.charCodeAt.r. (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:123328)
at aHe._doExecuteCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49898)
at aHe.executeCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49334)
at t.registerCommand.description (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:48598)
at aHe._executeContributedCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:50468)
at aHe._doExecuteCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49467)
at aHe.executeCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49334)
at Object.executeCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:214:142358)
at SFe.N [as value] (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:111491)
at L._deliver (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:2961)
at L._deliverQueue (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:3052)
at L.fire (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:3389)
at Object.v [as dispose] (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:181128)
at c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:187493
at Array.forEach ()
at k.dispose (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:187480)
at uGe. (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10091)
at uGe.dispose (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10187)
at uGe. (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:113968)
at uGe.dispose (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10187)
at hi (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:44:706)
at file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:20707
at file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:44:1019
at Object.dispose (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:27:1256)
at KHs._deactivate (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:15497)
at file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12768
at Array.map ()
at KHs._deactivateAll (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12756)
at KHs.terminate (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:13110)
at ekt.terminate (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:148:1617)
at xr (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:680:8000)
at MessagePortMain. (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:680:4430)
at MessagePortMain.emit (node:events:519:28)
at MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2959) setContext undefined
2026-04-29 16:28:03.733 [error] Canceled: Canceled
at new vNt (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:119702)
at Su._remoteCall (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:127194)
at r..a.charCodeAt.r. (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:48:123328)
at aHe._doExecuteCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49898)
at aHe.executeCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49334)
at t.registerCommand.description (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:48598)
at aHe._executeContributedCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:50468)
at aHe._doExecuteCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49467)
at aHe.executeCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:142:49334)
at Object.executeCommand (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:214:142358)
at set hasGitHubRepositories (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\github\dist\extension.js:2:270497)
at c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\github\dist\extension.js:2:271447
at SFe.value (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:596551)
at L._deliver (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:2961)
at L._deliverQueue (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:3052)
at L.fire (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:46:3389)
at Object.v [as dispose] (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:181128)
at c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:187493
at Array.forEach ()
at k.dispose (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:187480)
at uGe. (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10091)
at uGe.dispose (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10187)
at uGe. (c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\extensions\git\dist\main.js:2:113968)
at uGe.dispose (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:137:10187)
at hi (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:44:706)
at file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:20707
at file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:44:1019
at Object.dispose (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:27:1256)
at KHs._deactivate (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:15497)
at file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12768
at Array.map ()
at KHs._deactivateAll (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:12756)
at KHs.terminate (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:146:13110)
at ekt.terminate (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:148:1617)
at xr (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:680:8000)
at MessagePortMain. (file:///c:/Users/MyAccount/AppData/Local/Programs/cursor/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:680:4430)
at MessagePortMain.emit (node:events:519:28)
at MessagePortMain._internalPort.emit (node:electron/js2c/utility_init:2:2959) setContext undefined
2026-04-29 16:28:03.737 [info] Extension host with pid 40956 exiting with code 0
2026-04-29 16:29:27.642 [info] Extension host with pid 39984 started
2026-04-29 16:29:27.642 [info] Extension host with pid 22492 started
2026-04-29 16:29:27.642 [info] Skipping acquiring lock for c:\Users\MyAccount\AppData\Roaming\Cursor\User\workspaceStorage\258a6b010628cfdd0bf63a3cd8ca67b5.
2026-04-29 16:29:27.642 [info] Skipping acquiring lock for c:\Users\MyAccount\AppData\Roaming\Cursor\User\workspaceStorage\258a6b010628cfdd0bf63a3cd8ca67b5.
2026-04-29 16:29:27.642 [info] [ExtHostShellExec] Detecting sandbox support…
2026-04-29 16:29:27.642 [info] Skipping acquiring lock for c:\Users\MyAccount\AppData\Roaming\Cursor\User\workspaceStorage\258a6b010628cfdd0bf63a3cd8ca67b5.
nknown
2026-04-29 16:29:27.642 [info] [ExtHostShellExec] Platform: win32, Shell type: unknown
2026-04-29 16:29:27.642 [info] [ExtHostShellExec] dirname: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\out\vs\workbench\api\node
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] Detecting sandbox support…
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] Sandbox helper path: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\resources\helpers\cursorsandbox.exe
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] process.resourcesPath: C:\Users\MyAccount\AppData\Local\Programs\cursor\resources
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] dirname: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\out\vs\workbench\api\node
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [isSandboxHelperSupported] Starting sandbox support check…
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] Sandbox helper path: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\resources\helpers\cursorsandbox.exe
elpers\cursorsandbox.exe
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [checkBinaryAvailable] Binary path exists: true
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [isSandboxHelperSupported] win32: returning false (proxy-only, no filesystem sandbox)
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] Sandbox support detected: false, platform: win32, kernelVersion: N/A
sor\resources
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] process.execPath: C:\Users\MyAccount\AppData\Local\Programs\cursor\Cursor.exe
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [isSandboxHelperSupported] Starting sandbox support check…
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [checkBinaryAvailable] Resolved binary path: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\resources\helpers\cursorsandbox.exe
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [checkBinaryAvailable] Binary path exists: true
2026-04-29 16:29:27.642 [info] [ExtHostShellExec] dirname: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\out\vs\workbenc2026-04-29 16:29:27.643 [info] [ExtHostShellExec] Sandbox support detected: false, platform: win32, kernelVersion: N/A
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] Sandbox helper path: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\resources\helpers\cursorsandbox.exe
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] process.resourcesPath: C:\Users\MyAccount\AppData\Local\Programs\cursor\resources
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] process.execPath: C:\Users\MyAccount\AppData\Local\Programs\cursor\Cursor.exe
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [isSandboxHelperSupported] Starting sandbox support check…
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [checkBinaryAvailable] Resolved binary path: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\resources\helpers\cursorsandbox.exe
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [checkBinaryAvailable] Binary path exists: true
2026-04-29 16:29:27.643 [info] [shell-exec:sandbox] [isSandboxHelperSupported] win32: returning false (proxy-only, no filesystem sandbox)
2026-04-29 16:29:27.643 [info] [ExtHostShellExec] Sandbox support detected: false, platform: win32, kernelVersion: N/A
2026-04-29 16:29:27.644 [info] Extension host with pid 35076 started
2026-04-29 16:29:27.644 [info] Skipping acquiring lock for c:\Users\MyAccount\AppData\Roaming\Cursor\User\workspaceStorage\258a6b010628cfdd0bf63a3cd8ca67b5.
2026-04-29 16:29:27.644 [info] [ExtHostShellExec] Detecting sandbox support…
2026-04-29 16:29:27.644 [info] [ExtHostShellExec] Platform: win32, Shell type: unknown
2026-04-29 16:29:27.644 [info] [ExtHostShellExec] dirname: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\out\vs\workbench\api\node
2026-04-29 16:29:27.644 [info] [ExtHostShellExec] Sandbox helper path: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\resources\helpers\cursorsandbox.exe
2026-04-29 16:29:27.644 [info] [ExtHostShellExec] process.resourcesPath: C:\Users\MyAccount\AppData\Local\Programs\cursor\resources
2026-04-29 16:29:27.644 [info] [ExtHostShellExec] process.execPath: C:\Users\MyAccount\AppData\Local\Programs\cursor\Cursor.exe
2026-04-29 16:29:27.644 [info] [shell-exec:sandbox] [isSandboxHelperSupported] Starting sandbox support check…
2026-04-29 16:29:27.644 [info] [shell-exec:sandbox] [checkBinaryAvailable] Resolved binary path: c:\Users\MyAccount\AppData\Local\Programs\cursor\resources\app\resources\helpers\cursorsandbox.exe
2026-04-29 16:29:27.644 [info] [shell-exec:sandbox] [checkBinaryAvailable] Binary path exists: true
2026-04-29 16:29:27.644 [info] [shell-exec:sandbox] [isSandboxHelperSupported] win32: returning false (proxy-only, no filesystem sandbox)
2026-04-29 16:29:27.644 [info] [ExtHostShellExec] Sandbox support detected: false, platform: win32, kernelVersion: N/A
2026-04-29 16:29:31.006 [info] [ExtHostShellExec] Initializing terminal executor with userTerminalHint: C:\Program Files\PowerShell\7\pwsh.exe
2026-04-29 16:29:31.030 [info] [ExtHostShellExec] Initializing terminal executor with userTerminalHint: C:\Program Files\PowerShell\7\pwsh.exe
2026-04-29 16:29:31.038 [info] [ExtHostShellExec] Initializing terminal executor with userTerminalHint: C:\Program Files\PowerShell\7\pwsh.exe
2026-04-29 16:29:31.054 [info] [ExtHostShellExec] Initializing terminal executor with userTerminalHint: C:\Program Files\PowerShell\7\pwsh.exe
This also occurred in my Arch Linux kde desktop.
And whole extension system may be impacted, specifically, it may happen that one or more extensions stop responding or provide error responses(such as built-in keybindings confusion) as you use them. I’m now trying to reproduce one and get the log.
Hi @KevinCaputo
This is a known issue our team is aware of and actively working on. A fix has been identified.
In the meantime, when you hit this state, running Ctrl + Shift + P → Developer: Restart Extension Host functionality should help without needing a full restart of Cursor. It won’t prevent the issue from recurring, but it’s faster than restarting the entire app.
Thank you for the detailed extension host logs. This matches the pattern we’re tracking.
@virtualguard101 — thanks for confirming this also occurs on Linux. The fix addresses this across all platforms.
Reloading the window doesn’t fix the issue.
Ctrl + Shift + P → “Developer: Restart Extension Host” does work for me however, so that’s a lot better than restarting Cursor.
Good catch. Developer: Restart Extension Host (Ctrl+Shift+P → “Restart Extension Host”) is the better workaround here. I’ll update the earlier suggestion.
The underlying fix is still in progress. We’ll update this thread when it ships.