All agents stuck at "Planning next move"

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

All messages in the agents-panel are stuck at “Planning next move”, and eventually turn into “Taking longer than expected…”.

CMD+K and agent-cli both work well. So does the new “agent window”.

I tried all models, restarting cursor, updating cursor. Nothing works.

I wish I could provide a more detailed

Steps to Reproduce

Just send a message and watch it fail.

Operating System

MacOS

Version Information

Version: 3.3.30
VSCode Version: 1.105.1
Commit: 3dc559280adc5f931ade8e25c7b85393842acf30
Date: 2026-05-09T18:28:42.332Z
Layout: editor
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: Darwin arm64 25.4.0

For AI issues: which model did you use?

opus 4.7, 4.6
GPT 5.5, codex 5.3
composer 2
auto

Does this stop you from using Cursor

Yes - Cursor is unusable

It works again!

I ended up changing the HTTP Compatibility mode to “HTTP/1.1” over at “Cursor Settings → Network” and restarted cursor.

Interestingly, it still works even after I changed it back to “HTTP/2”.

update: and now it’s no longer working…

Not sure what to do here tbh. It works well for a while, and then all of a sudden it stops working.
Running “Developer: reload window” seems to help get it unstuck, but a few moments later it’s failing again.

This looks like the same agent hang issue other users have reported, where the agent panel can get stuck on Planning next move or Taking longer than expected even though some backend work may still be happening.

Since changing HTTP Compatibility Mode and reloading only helped briefly, could you run Cursor Settings > Network > Run Diagnostics and share the copied results here? That will help confirm whether the agent stream is being interrupted or buffered on your connection.

Also, the next time this happens, please copy the failing request ID from the chat menu (three dots > Copy Request ID) and post it here. That will let us trace the exact stuck request.

In the meantime, using Developer: Reload Window is fine as a temporary unstick step, but it does not look like a full fix in your case.