Cursor runs very slowly and gets stuck on “Planning next moves

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

I noticed that Cursor runs very slowly, for example, it often gets stuck on “Planning next moves.”

How can I investigate this?

Also with simple messages like ‘Hello’, it stuck on “Planning next moves.”

Cursor settings > Network > Run Diagnostic: All fine
Tried also to change different HTTP Compatibility Mode.

Steps to Reproduce

Just open cursor and prompt something.

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.54
VSCode Version: 1.99.3
Commit: 7a31bffd467aa2d9adfda69076eb924e9062cb20
Date: 2025-11-03T22:40:44.657Z (17 hrs ago)
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.0.0

For AI issues: which model did you use?

Auto, and other models.

Does this stop you from using Cursor

Sometimes - I can sometimes use Cursor

Hey, thanks for the report. We’re seeing “Planning next moves” hang for multiple users on recent versions.

Please share:

  • Request IDs - In the stuck chat, open the context menu (top right) > Copy Request ID
  • Console errors - Before it hangs: Help > Toggle Developer Tools > Console tab - share any errors
  • Empty project test - Does this happen in a new/empty project with a fresh chat?
  • Extensions/MCP - Do you have any extensions or MCP servers installed (GitHub, Atlassian, etc.)?

Also try these workarounds:

  • Launch Cursor from the terminal with cursor --disable-extensions to check if extensions are causing it
  • Switch between HTTP/1.1 and HTTP/2 in Settings > Network > HTTP Compatibility Mode (even if diagnostics passed)
  • Restart your router/Wi‑Fi if you haven’t already

Let me know what you find.

Hi @deanrie, I’ve been seeing the same issue since updating to 2.0 last week. Here’s an example request ID which is stuck: 1e767ab0-731c-4cd8-9bba-82349a0981e0

I also tried your empty-project suggestion. With an empty folder in Windows, the Agent responded immediately to a chat message. I also tried an empty folder in WSL, and again the Agent worked perfectly. Once I opened my project workspace, which is a large company-wide monorepo in WSL, the Agent got stuck on “planning next moves” again. Switching to HTTP/1.1 did not help.

Here’s my current version:

Version: 2.0.54 (user setup)
VSCode Version: 1.99.3
Commit: 7a31bffd467aa2d9adfda69076eb924e9062cb20
Date: 2025-11-03T22:40:44.657Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Windows_NT x64 10.0.26100

Also FYI there’s another thread regarding this same issue: The Cursor IDE freezes at the "planning next moves" stage

1 Like

Looks like it works for now. Here are request IDs which got a successful response: 41f8c9df-96b2-4fe6-9f90-2095be10e05c and bdaf9b71-7a81-4e79-bf55-a16c81bef526

Did it work without you making any changes?

Request ID: 28216b9a-d25e-42ed-88fe-113b529e6bcb

Console error:

[Truncated]
workbench.desktop.main.js:55 ERR [aborted] Client network socket disconnected before secure TLS connection was established: ConnectError: [aborted] Client network socket disconnected before secure TLS connection was established
at t (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:7337:400502)
at async Object.getDefaultModelNudgeData (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:587:348407)
at async Uzr.performDefaultModelRequest (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:7955:7722)
at async Promise.all (index 1)
at async lQn.withSemaphore (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:1441:4800) ConnectError: [aborted] Client network socket disconnected before secure TLS connection was established
at t (workbench.desktop.main.js:7337:400502)
at async Object.getDefaultModelNudgeData (workbench.desktop.main.js:587:348407)
at async Uzr.performDefaultModelRequest (workbench.desktop.main.js:7955:7722)
at async Promise.all (index 1)
at async lQn.withSemaphore (workbench.desktop.main.js:1441:4800)
error @ workbench.desktop.main.js:55
workbench.desktop.main.js:55 WARN ToolCallEventService: Tracked tool call end - toolu_01ByBsRUZ2VZG36TvGbrn3JU
warn @ workbench.desktop.main.js:55
workbench.desktop.main.js:5101 [composer] Failed to get complete AI response
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:5101
workbench.desktop.main.js:7952 [composer] Chat incomplete or aborted Object
_log @ workbench.desktop.main.js:7952
workbench.desktop.main.js:55 ERR [aborted] Client network socket disconnected before secure TLS connection was established: ConnectError: [aborted] Client network socket disconnected before secure TLS connection was established
at t (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:7337:400502)
at async Object.getTeams (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:587:348407)
at async qdo.getTeams (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9773:35106)
at async qdo.refreshMembership (vscode-file://vscode-app/Applications/Cursor.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:9773:23037) ConnectError: [aborted] Client network socket disconnected before secure TLS connection was established
at t (workbench.desktop.main.js:7337:400502)
at async Object.getTeams (workbench.desktop.main.js:587:348407)
at async qdo.getTeams (workbench.desktop.main.js:9773:35106)
at async qdo.refreshMembership (workbench.desktop.main.js:9773:23037)
error @ workbench.desktop.main.js:55
error @ workbench.desktop.main.js:55
error @ workbench.desktop.main.js:9802
handleUnexpectedError @ workbench.desktop.main.js:9799
(anonymous) @ workbench.desktop.main.js:9799
onUnexpectedError @ workbench.desktop.main.js:27
ka @ workbench.desktop.main.js:22
(anonymous) @ workbench.desktop.main.js:9799

It happens in different scenario, mainly when I’m connected to a machine with SSH.

Extension MCP: yes, only github

Tried with the workarounds, nothing is working.

1 Like

Check out this: The Cursor IDE freezes at the "planning next moves" stage - #20 by Abdullah_Nasr

Checked out, still having the issue.

2 Likes

Yes, it started working yesterday without me making any changes.

However it stopped working again when I came back this morning.

I have noticed that this happens a lot lately after updates after 1.6, meaning all updates after 1.7 and 2.0 becomes slow, or stuck on planning, and sometimes it runs the plan, and then half way in the plan, it simply gets stuck, not continuing.

I have tried with and without extensions, same on both.
It happens more on HTTP/2 than on HTTP/1.1
But both are a little slow sometimes, why doesn’t cursor auto detect the best HTTP version that works, rather than us having to manually choose?

Version: 2.1.0-pre.19.patch.0 (user setup)
VSCode Version: 1.99.3
Commit: a45ec7a1e9bd853a5b22e73114c195dcd0d68370
Date: 2025-11-09T08:15:46.581Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Windows_NT x64 10.0.26200

i have the same problem please check,
e9ec4003-2364-4022-8aa4-f50ee0ac6a42

Same here. This window has shown up 5 times in one hour. I hate this

Same here. Cursor is not working AT ALL. Have tried everything in the Forum threads. Will cancel my subscription now.

This is also happening to me, including on 2.0.75. For me, the issue isn’t so much the occasional connection timeout (which is annoying), but it’s that I get two options when the connection times out: (1) “Resume”, which sends the model into a seemingly-infinite “Planning next moves” state, which I can only get out of by starting a new chat and losing all context halfway through some action. Or (2) “Try Again” which will forget a ton of work and possibly time out again.

So, pretty much my chats last until I hit an inevitable connection error, and then I have to figure out how to avoid losing as much as possible. There is also some cost incurred due to loss of cache, context, and work, while potentially needing to re-prompt.

Note: I’ve disabled HTTP 2, which makes connection timeouts less frequent, but they still happen often enough, and my Internet connection isn’t particularly bad.

Edit: Request ID: c4b5b738-8b2b-47d3-8351-db15fe594005 … it seems to happen most often when running / fixing tests, which is doubly annoying because it’s usually close to the end of work and leaves things half working

Replying to myself. These are the console contents when I try to continue the session after a timeout error:

workbench.desktop.main.js:5606 [transport] Message serialization error in stream Error: invalid int 32: 4294967295
at u6n (workbench.desktop.main.js:441:32634)
at N2a.int32 (workbench.desktop.main.js:442:12763)
at uMt (workbench.desktop.main.js:442:19797)
at B2a (workbench.desktop.main.js:442:18900)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at ssi.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18998)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at Iti.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18998)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at lli.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18980)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at sli.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18980)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at Pai.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18998)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at sai.toBinary (workbench.desktop.main.js:441:34677)
at workbench.desktop.main.js:4989:396402 {arch: ‘x64’, platform: ‘win32’, channel: ‘stable’, client_version: ‘2.0.75’, service: ‘aiserver.v1.ChatService’, …}
error @ workbench.desktop.main.js:5606
(anonymous) @ workbench.desktop.main.js:4989
await in (anonymous)
$streamAiConnect @ workbench.desktop.main.js:4989
(anonymous) @ workbench.desktop.main.js:4989
GYs @ workbench.desktop.main.js:52
cH @ workbench.desktop.main.js:52
stream @ workbench.desktop.main.js:4989
(anonymous) @ workbench.desktop.main.js:590
submitChatMaybeAbortCurrent @ workbench.desktop.main.js:2749
await in submitChatMaybeAbortCurrent
(anonymous) @ workbench.desktop.main.js:52
GYs @ workbench.desktop.main.js:52
qMd @ workbench.desktop.main.js:52
n.value @ workbench.desktop.main.js:52
Un @ workbench.desktop.main.js:4839
await in Un
onSubmit @ workbench.desktop.main.js:4839
Oe @ workbench.desktop.main.js:4700
onSubmit @ workbench.desktop.main.js:4700
handleSubmit @ workbench.desktop.main.js:4696
(anonymous) @ workbench.desktop.main.js:4696
FXa @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
BXa @ workbench.desktop.main.js:444
hY @ workbench.desktop.main.js:444
update @ workbench.desktop.main.js:446
FXa @ workbench.desktop.main.js:444
Nc @ workbench.desktop.main.js:444
hWd @ workbench.desktop.main.js:444
(anonymous) @ workbench.desktop.main.js:444
workbench.desktop.main.js:55 ERR [internal] Serialization error in aiserver.v1.StreamUnifiedChatRequestWithTools: ConnectError: [internal] Serialization error in aiserver.v1.StreamUnifiedChatRequestWithTools
at vscode-file://vscode-app/c:/Program%20Files/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:4989:396431 ConnectError: [internal] Serialization error in aiserver.v1.StreamUnifiedChatRequestWithTools
at workbench.desktop.main.js:4989:396431Caused by: Error: invalid int 32: 4294967295
at u6n (workbench.desktop.main.js:441:32634)
at N2a.int32 (workbench.desktop.main.js:442:12763)
at uMt (workbench.desktop.main.js:442:19797)
at B2a (workbench.desktop.main.js:442:18900)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at ssi.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18998)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at Iti.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18998)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at lli.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18980)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at sli.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18980)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at Pai.toBinary (workbench.desktop.main.js:441:34677)
at U2a (workbench.desktop.main.js:442:19718)
at B2a (workbench.desktop.main.js:442:18998)
at Object.writeMessage (workbench.desktop.main.js:442:16664)
at sai.toBinary (workbench.desktop.main.js:441:34677)
at workbench.desktop.main.js:4989:396402
error @ workbench.desktop.main.js:55
error @ workbench.desktop.main.js:55
error @ workbench.desktop.main.js:7455
handleUnexpectedError @ workbench.desktop.main.js:7452
(anonymous) @ workbench.desktop.main.js:7452
onUnexpectedError @ workbench.desktop.main.js:27
Pa @ workbench.desktop.main.js:22
(anonymous) @ workbench.desktop.main.js:7452

@here I’m sure there is a better solution but I just re-installed the 1.7 version of cursor here:

I was having the same issue after updating to 2.0.
Would love to know a workaround for 2.0 but quick fix is just to install 1.7.

1 Like

There is only one solution. Revert back to 1.7