AI Agent Stuck on "Planning Next Moves" Infinitely – Affects All Models, No Error or Completion (Fresh Install, Diagnostics OK)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

The AI agent (in Agent Mode or Composer) gets permanently stuck at the “Planning next moves” (or “Planning next actions”) stage, with the animation running forever, without proceeding, throwing an error, or completing the request. This happens on simple or complex prompts (e.g., “2+2” or code tasks like “generate a FastAPI endpoint”). No Request ID is generated because it never finishes – it just spins the loader indefinitely.
This started about 3 days ago and persists across all models tested . It’s not specific to one provider.

What I’ve Already Tried (without success):

Switched networks/internet (WiFi > 4G > Ethernet, DNS to 8.8.8.8).
Restarted the app, cleared cache (Settings > Advanced > Clear Cache), killed processes in task manager.
Reinstalled Cursor from scratch (uninstalled + fresh download).
Ran Network Diagnostics (Settings > Network): All OK (low ping, no connection/VPN errors).
Disabled Privacy Mode, switched models/providers multiple times.
Checked API/sub limits (Pro+ active, no rate limits hit).
No VPN, firewall temporarily disabled, OS updated.

This is killing my workflow – can’t code without the agent. Anyone else hitting this? Team, this seems like server overload or a bug in the planning logic? Please prioritize!

Steps to Reproduce

Open Cursor.
Go to Chat/Composer/Agent Mode.
Type any prompt (e.g., “Explain how an inclined plane works in Physics”).
Submit – the agent shows “Planning next moves” and animates, but hangs forever (tested for >10min).
Try canceling/restarting: It sometimes responds once, but hangs again on the next prompt.

Operating System

Windows 10/11

Current Cursor Version (Menu → About Cursor → Copy)

VS Code Version: 1.105.1
Commit: 6042bed27e57543e04a8dc53c4e5be260
Date: 2025-11-27T03:49:28Z (6 hrs ago)
Chromium: 137.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Windows_NT x64 10.0.26100

Version: 2.139 (system setup)
VSCode Version: 1.105.1

For AI issues: which model did you use?

All models doesn’t work.

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey, thanks for the report. This looks very similar to a recently solved case where extensions were causing the same infinite “Planning next moves” delay, even though network diagnostics suggested otherwise.

Try this first:

  1. Run cursor --disable-extensions in CMD or terminal
  2. In the new window that opens, don’t open a project - instead open Agent chat directly
  3. Check if the agent responds
  4. If it works, go to the Extensions panel and remove extensions one by one to find the culprit

Full solution here: SLOW or NO response from the agent

If that doesn’t help, also try:

  • Fully close Cursor → open a different project → then reopen your original project (this fixed a similar case)
  • Check if you have MCP servers configured (Settings → search “MCP”) and temporarily disable them

If still stuck, please share:

  • Which extensions you have installed (if any)
  • Console errors: CMD+Shift+P → “Developer: Toggle Developer Tools” → Console tab (screenshot any red errors)
  • Try creating a brand new empty folder project and test there

Let me know what happens!

It still doesn’t work and I don’t have any MCP servers configured and I’ve already tried to open different projects. Locally the AI Agents is working normally, the problem is when i connect to SSH the agents starts to slow down, planning next moves forever and when it works it comes to connection error.

Update: Post-clean install, only on remote SSH/VPS, see console errors attached

1. Erros de Segurança/Trusted Types (Não Críticos, mas Recorrentes)

  • This document requires ‘TrustedScript’ assignment. Stack:

    • workbench.desktop.main.js:542 (get value)

    • workbench.desktop.main.js:542 (anonymous)

    • workbench.desktop.main.js:562 (n)

    • workbench.desktop.main.js:542 (anonymous)

    • workbench.desktop.main.js:564 (n)

    • workbench.desktop.main.js:542 (ZodObject)

    • workbench.desktop.main.js:542 (Xrh)

    • out-build/vs/platform/experiments/common/experimentConfig.gen.js

    • workbench.desktop.main.js:564 (anonymous)

    • out-build/vs/workbench/services/experiment/browser/experimentService.js

    • workbench.desktop.main.js:564 (anonymous)

    • out-build/vs/workbench/contrib/composer/browser/composerDataService.js

    • workbench.desktop.main.js:564 (anonymous)

    • out-build/vs/workbench/services/aiSettings/browser/aiSettingsService.js

    • workbench.desktop.main.js:565 (anonymous)

    • out-build/vs/workbench/contrib/aiReactiveContextKeys/browser/aiReactiveContextKeys.contribution.js

    • workbench.desktop.main.js:565 (anonymous)

    • workbench.desktop.main.js:6120 (anonymous)

  • The JavaScript Function constructor does not accept TrustedString arguments. Link: https://github.com/w3c/webappsec-trusted-types/wiki/Trusted-Types-for-function-constructor-for-more-information. (Repetido em workbench.desktop.main.js:542)

2. Warnings de Configuração/Migração (Baixa Prioridade)

  • WARN Missing property “rpcFileLoggerFolder” in oldValue. Filling with value from initValue. Please add a migration if necessary. Stack:

    • workbench.desktop.main.js:55 (warn)

    • workbench.desktop.main.js:55 (hydrateOldValue)

    • workbench.desktop.main.js:7325 (getOldValue)

    • workbench.desktop.main.js:7325 (loadPersistentStorage)

    • workbench.desktop.main.js:7325 (zzt)

    • workbench.desktop.main.js:7325 (_createInstance)

    • workbench.desktop.main.js:7392 (anonymous)

    • workbench.desktop.main.js:50 (_executor)

    • workbench.desktop.main.js:7392 (get value)

    • workbench.desktop.main.js:50 (get)

    • workbench.desktop.main.js:7392 (migrateIfNecessary)

    • workbench.desktop.main.js:541 (fYn)

    • workbench.desktop.main.js:7392 (_createInstance)

    • workbench.desktop.main.js:7392 (anonymous)

    • workbench.desktop.main.js:50 (_executor)

    • workbench.desktop.main.js:7392 (get value)

    • workbench.desktop.main.js:50 (get)

    • workbench.desktop.main.js:536 (Yeh)

    • workbench.desktop.main.js:541 (EYn)

    • workbench.desktop.main.js:7392 (_createInstance)

    • workbench.desktop.main.js:7392 (anonymous)

    • workbench.desktop.main.js:50 (_executor)

    • workbench.desktop.main.js:7392 (get value)

    • workbench.desktop.main.js:50 (get)

    • workbench.desktop.main.js:6995 (too)

    • workbench.desktop.main.js:7392 (_createInstance)

    • workbench.desktop.main.js:7392 (anonymous)

    • workbench.desktop.main.js:50 (_executor)

    • workbench.desktop.main.js:7392 (get value)

    • workbench.desktop.main.js:50 (get)

    • workbench.desktop.main.js:564 (_initializeStatsigClient)

    • workbench.desktop.main.js:564 (_hydrateStatsigClient)

    • workbench.desktop.main.js:564 (_initFromCachedBootstrap)

    • workbench.desktop.main.js:564 (eZn)

    • workbench.desktop.main.js:7392 (_createInstance)

    • workbench.desktop.main.js:7392 (_createServiceInstance)

    • workbench.desktop.main.js:7392 (_createServiceInstanceWithOwner)

    • workbench.desktop.main.js:7392 (_createAndCacheServiceInstance)

    • workbench.desktop.main.js:7392 (_safeCreateAndCacheServiceInstance)

    • workbench.desktop.main.js:7392 (_getOrCreateServiceInstance)

    • workbench.desktop.main.js:7392 (get)

    • workbench.desktop.main.js:8929 (_setupTracing)

    • workbench.desktop.main.js:8929 (anonymous)

    • workbench.desktop.main.js:7392 (invokeFunction)

    • workbench.desktop.main.js:8929 (initServices)

    • workbench.desktop.main.js:8929 (startup)

    • workbench.desktop.main.js:8933 (open)

  • WARN [ms-python.python]: Cannot register ‘python.venvPath’. This property is already registered. (workbench.desktop.main.js:55)

3. Warnings de Extensões (API Proposals Ausentes – Comum em Beta)

  • Via ‘product.json#extensionEnabledApiProposals’ extension ‘ms-toolsai.datawrangler’ wants API proposal ‘debugFocus’ but that proposal DOES NOT EXIST. (Repetido para: ms-vscode.vscode-copilot-data-analysis (‘chatVariableResolver’), ms-python.python (‘terminalShellType’), ms-python.vscode-python-envs (‘terminalShellType’), github.copilot-chat (‘chatReadonlyPromptReference’), ms-azuretools.vscode-azure-github-copilot (‘lmTools’), vscjava.vscode-java-pack (‘lmTools’), apidev.azure-api-center (‘chatParticipant’ e ‘languageModels’)) Stack comum:

    • workbench.desktop.main.js:55 (warn)

    • workbench.desktop.main.js:8932 (anonymous)

    • workbench.desktop.main.js:8973 (Uxo)

    • workbench.desktop.main.js:7392 (_createInstance)

    • workbench.desktop.main.js:7392 (createInstance)

    • workbench.desktop.main.js:8977 (qxo)

    • workbench.desktop.main.js:7392 (_createInstance)

    • workbench.desktop.main.js:7392 (_createServiceInstance)

    • workbench.desktop.main.js:7392 (_createServiceInstanceWithOwner)

    • workbench.desktop.main.js:7392 (_createAndCacheServiceInstance)

    • workbench.desktop.main.js:7392 (_safeCreateAndCacheServiceInstance)

    • workbench.desktop.main.js:7392 (_getOrCreateServiceInstance)

    • workbench.desktop.main.js:7392 (get)

    • workbench.desktop.main.js:8929 (_setupTracing)

    • workbench.desktop.main.js:8929 (anonymous)

    • workbench.desktop.main.js:7392 (invokeFunction)

    • workbench.desktop.main.js:8929 (initServices)

    • workbench.desktop.main.js:8929 (startup)

    • workbench.desktop.main.js:8933 (open)

4. Erros de Lock e Inicialização

  • The customer named _initialize has been holding on to the lock for 30s. This might be a problem. (workbench.desktop.main.js:8971)

5. Erros de Terminal e Remote Host (Relacionado ao VPS)

  • [TerminalExecutionServiceProxy] v3 health check failed (took 205ms/177ms/233ms)

    • Staying with current version / Cannot switch to v3. (workbench.desktop.main.js:9303)
  • ERR The remote extension host took longer than 60s to send its ready message. Stack:

    • workbench.desktop.main.js:55 (ERR Error received from starting extension host (kind: Remote))

    • workbench.desktop.main.js:55 (ERR)

    • workbench.desktop.main.js:8932 (error)

    • workbench.desktop.main.js:6948 (anonymous)

  • WARN No search provider registered for scheme: vscode-remote, waiting (workbench.desktop.main.js:55, stack com searchWithProviders em 8971)

  • ERR Error received from starting extension host (kind: Remote) (workbench.desktop.main.js:55)

6. Timeouts de Requests (Direto no Planning/AI)

  • ERR Request 1/13/25/37 timed out (15000ms) Stack comum:

    • workbench.desktop.main.js:55 (ERR)

    • workbench.desktop.main.js:55 (error)

    • workbench.desktop.main.js:8932 (error)

    • workbench.desktop.main.js:8929 (handleUnexpectedError)

    • workbench.desktop.main.js:8929 (anonymous)

    • workbench.desktop.main.js:27 (onUnexpectedError)

    • workbench.desktop.main.js:22 (Wa)

    • workbench.desktop.main.js:22 (anonymous)

    • workbench.desktop.main.js:8929 (anonymous)

7. Erros de Conexão AI/Transport (Vilão Principal – DNS/Outage?)

  • [transport] Connect error in unary AI connect ConnectError: [deadline_exceeded] the operation timed out Stack:

    • workbench.desktop.main.js:6995 (error)

    • workbench.desktop.main.js:6331 (t)

    • workbench.desktop.main.js:565 (async Object.checkNumberConfig)

    • workbench.desktop.main.js:7025:6196 (async)

    • workbench.desktop.main.js:7025:5955 (async n)

    • workbench.desktop.main.js:7025:6179 (async aoo.maybeRefreshConfigInner)

    • workbench.desktop.main.js:7025:5568 (async aoo.getLatestConfig)

  • [transport] Connect error in unary AI connect ConnectError: [unauthenticated] Error Stack:

    • workbench.desktop.main.js:6995 (error)

    • workbench.desktop.main.js:6331 (t)

    • workbench.desktop.main.js:565 (async Object.getTeamCommands)

    • workbench.desktop.main.js:8979:2992 (async Zxo.loadTeamCommands)

  • Failed to load team commands: ConnectError: [unauthenticated] Error (workbench.desktop.main.js:8979)

  • [transport] Connect error in unary AI connect ConnectError: [unavailable] getaddrinfo ENOTFOUND api2.cursor.sh (NOVO – Erro de DNS/Resolução!) Stack repetida várias vezes:

    • workbench.desktop.main.js:6995 (error)

    • workbench.desktop.main.js:6331 (t)

    • Variações: reportClientNumericMetrics (6948:14240, flush Qro), getTeams (8903:35130, refreshMembership h0o), markPrivacy (8903:21001, initialRetryTimeMs vct)

    • Extension Host rejected promise: workbench.desktop.main.js:6299 (vXh)

    • [anysphere.cursor-always-local][unavailable] getaddrinfo ENOTFOUND api2.cursor.sh

    • Stack completa: o.from (c:\Program Files\cursor\resources\app\extensions\cursor-always-local\dist\main.js:2:810432), B (2:3169699), ClientHttp2Session.a (2:3178631), emit (node:events:519:28), emitClose (node:internal/http2/core:1164:10), processTicksAndRejections (node:internal/process/task_queues:90:21)

  • ERR [unavailable] getaddrinfo ENOTFOUND api2.cursor.sh: ConnectError (workbench.desktop.main.js:55)

  • ERR An unknown error occurred. Please consult the log for more details. (Repetido, ligado aos de cima)

8. Erros de Git e KnowledgeBase

  • [KnowledgeBaseService] Error fetching git upstream URL: Error: No full commit provider registered Stack:

    • workbench.desktop.main.js:2876 (getGitUpstreamUrl)

    • workbench.desktop.main.js:542:320323 (nXn.getGitUpstreamURL)

    • workbench.desktop.main.js:2876:35921 (Qgs.getGitUpstreamUrl)

    • workbench.desktop.main.js:2876:36243 (Qgs.refresh)

  • WARN Failed to get current repository URL: Error: No full commit provider registered Stack similar, com h0o.getCurrentRepoUrl (8903:35478), getSlackInstallUrl (8903:35676), async u (2806:146577)

9. Erros de Composer (Direto no Planning)

  • [composer] Error in getPopulatedContext: EntryNotFound (FileSystemError): Error: ENOENT: no such file or directory, stat ‘/root/.cursor/projects/root/terminals/2.txt’ (workbench.desktop.main.js:4075, anonymous)

10. Outros Warnings/Erros Menores

  • Automatic fallback to software WebGL has been deprecated. Link: about:flags#enable-unsafe-swiftshader (workbench.html:1)

  • GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (Repetido, workbench.html:1)

  • ERR CloseEvent (Repetido, workbench.desktop.main.js:55)

Thanks for the detailed console logs - they clearly show the issue! Your VPS can’t resolve api2.cursor.sh (DNS lookup failing with ENOTFOUND). This explains why it works locally but not on your remote server.

Could you run these commands on your VPS to confirm?

nslookup api2.cursor.sh
or
dig api2.cursor.sh

If DNS lookup fails:

  • Check if your VPS has firewall rules blocking certain domains
  • Try changing VPS DNS to 8.8.8.8 or 1.1.1.1 (Google/Cloudflare DNS)
  • Contact your VPS provider - some hosting providers restrict DNS resolution or have network policies blocking certain domains

If DNS lookup succeeds (domain resolves but Cursor still fails):

  • Share the output of the DNS commands above
  • Let me know your VPS provider and location

Troubleshooting the extension won’t help here since your local Cursor works fine - this is specifically a network connectivity issue from your VPS to Cursor’s servers.

Since yesturday before i update to latest version 2.1.46 i experience the same issue.

  • I’ve disable all extensions with the command –disable-extensions;
  • I’ve disable all MCP servers
  • I’ve switch from HTTP1 to HTTP2
  • I’ve started a new context with a new folder opened
  • Flushed “ipconfig /flushdns” from Windows
  • Added 1.1.1.1 into Primary DNS (even if All Network Diagnostics is 100% fine)

Cursor v 2.1.46 with VSCode 1.105.1

Confirmation that all extensions are disabled:

API ‘nslookup’ api2.cursor.sh is working:

Network Diagnostics:

Note: The only difference is i worked with a Network Share Folder that is opened into Cursor, but never get an issue and don’t think it’s related to this.

Updates:

I’ve installed a previous version 2.0 and same issue but.. opening a working folder on a network shared folder and working from it seem’s to be the issue.

I’ve opened the same folder into my own PC which is on a local HDD into Laragon\www\ is working fine.

See the context chat, the header resume that the AI are generated the title of the chat resume, but not been able to working further (in Green the resume of the chat request) and (in Red the error stucked “Planning next moves”).

It could be that the AI can’t read the files? But the folder opened fine in workspace and same with VSCode with Gemini CLI.