cursor troubleshooting

Cursor Troubleshooting: Fix Freezes, Lag and AI Errors

By Zest | Updated | 7 min read

Related guide: Cursor pricing, seats and usage limits

A laptop showing code with the words Cursor Troubleshooting, next to a coiled blue network cable

Most Cursor problems go away after a full quit and restart, a look at the status page, or Cursor’s own network diagnostics. If they don’t, find the extension or folder that slows it down, read the logs, and as a last resort reset Cursor’s local data. This guide goes in that order, from the quickest fix to the slowest, using the steps in Cursor’s help pages as of October 2026.

Quick fixes to try first

Fully quit Cursor and reopen it: Cmd+Q on a Mac, or exit from the tray on Windows and Linux. Closing the window isn’t enough. If you only see a blank window on startup, reinstall from cursor.com/download (Cursor help).

Then check status.cursor.com. If AI requests or sign-in show an incident there, the problem isn’t on your machine.

Finally, update. Open the Command Palette (Cmd/Ctrl+Shift+P) and run Cursor: Attempt Update. If you’re on the Early Access channel and things broke after an update, switch back to Stable in Cursor Settings.

Symptom Likely cause First action
Frozen or blank window A stuck process Fully quit and reopen; reinstall if the window stays blank
Slow typing, high CPU or memory An extension, or a large folder being indexed Start Cursor with extensions disabled and compare
Agent or chat requests fail An outage, the network, a proxy or a usage limit Check the status page, then run network diagnostics
A usage limit notice The plan’s included usage is used up Turn on on-demand usage or switch to Cursor’s own models
Sign-in fails or “suspicious activity” A VPN Turn off the VPN, or sign in with Google or GitHub

A laptop on a wooden desk showing the words Quick Triage, with books, a pen and a potted plant

When AI requests fail: network, proxy and VPN

Run Cursor’s diagnostics first. Go to Cursor Settings › Network and click Run Diagnostics. It tests your connection to Cursor’s servers and shows which check fails (Cursor network help).

Behind a corporate proxy or VPN, the usual cause is HTTP/2. Cursor streams responses over HTTP/2, and some proxies, such as Zscaler, block it. In Cursor Settings › Network, set HTTP Compatibility Mode to HTTP/1.1 (the fix forum threads call “Disable HTTP/2”), then restart Cursor.

Three more network causes:

  • A firewall blocks Cursor’s domains. Ask IT to allowlist *.cursor.sh, *.cursor-cdn.com and *.cursorapi.com, plus the rest of the list in Cursor’s network configuration docs.
  • DNS errors after you disconnect a VPN. Cursor can keep the VPN’s DNS settings. Fully restart Cursor, not just reload the window.
  • AI stops working over Remote SSH. AI requests go from your local machine to Cursor, not from the remote host, so check your local connection first. If the SSH session keeps dropping, raise the keep-alive in your SSH config:
Host your-server
  ServerAliveInterval 60
  ServerAliveCountMax 3

When AI errors aren’t the network: usage, keys and the agent

You don’t need an API key to use Cursor. Its plans include usage of Cursor’s own models (Composer and Grok) and of third-party models from Anthropic, Google and others. When the included usage runs out, Cursor shows a notice in the editor. Turn on on-demand usage, switch to Cursor’s own models (they draw from a separate pool), or upgrade. The Spending tab in your dashboard shows what’s left (Cursor usage help).

Your own API key is optional. You add it in Cursor Settings › Models for OpenAI, Anthropic, Google, Azure OpenAI or AWS Bedrock. If a key is invalid or the provider rejects it, requests to that provider’s models fail until you update or remove the key (Cursor API key help). So if only one provider’s models fail, check that key first, and check your credit on the provider’s side.

One change to expect: OpenAI has said it will stop supplying its models to Cursor, with a proposed cutoff of November 12, 2026 (OpenAI). If GPT models stop working after that date, that’s the reason, not your setup.

For agent problems, Cursor’s agent troubleshooting page covers the common ones:

  • “Agent Execution Timed Out”: Cursor’s extension host didn’t start within 60 seconds. Export the logs (below) before changing anything. On managed machines, antivirus or endpoint security software is one possible cause.
  • The agent can’t see your files: check .cursorignore and .gitignore, run “Reindex” from the Command Palette, or attach the file with @.
  • An MCP server won’t connect: check the server’s entry in mcp.json and its tools in Cursor’s MCP settings. Our Figma and GitHub MCP setup guide shows a working config.

When Cursor is slow or crashes

Start with extensions, because they’re the most common cause. Launch Cursor with all of them turned off:

cursor --disable-extensions

If Cursor is fast that way, re-enable extensions one at a time until the slowdown comes back. The last one you turned on is the cause. To see what’s running now, open the Command Palette and run Show Running Extensions, which lists each extension with its CPU and memory use (Cursor performance help).

Next, shrink what Cursor indexes. Add large generated folders such as dist/, build/ and .next/ to .cursorignore. In a big monorepo, opening the subfolder you work in, not the whole repository, also helps. Watch Activity Monitor (macOS) or Task Manager (Windows): a CPU spike right before a freeze is your first clue.

Two more fixes for an editor that has slowed down over time:

  • Clean up old agent chats. Their local database can grow to many gigabytes. Run Delete Old Chats… from the Command Palette, then GC Agent KV Blobs, which shrinks the file on disk.
  • Clear the cache. Quit Cursor and delete the Cache, CachedData, Code Cache and GPUCache folders inside Cursor’s data folder (locations in the reset section below). Cursor rebuilds them on the next launch and keeps your settings.

A bearded man reading logs on a laptop at a wooden desk stacked with notebooks

Read the logs

Open the logs: Command Palette → Developer: Open Logs Folder. To send them to support, run Developer: Export Logs… and select Main, Window and Extension Host. Each covers a different part of Cursor:

  • Main: startup, windows and updates. Read it first if Cursor crashes on launch.
  • Window: the interface. Read it for visual glitches or a frozen UI.
  • Extension Host: everything extensions do. Read it when an extension misbehaves or the agent times out. You can also see it live in the Output panel by picking “Extension Host” from the dropdown.

Search the log for ERROR, FATAL and Unhandled. Then read the lines just before the first error: a network request that timed out right before an agent failure tells you more than the error itself. For interface errors, open Help › Toggle Developer Tools and check the Console tab.

Reset Cursor completely

A full reset is the last resort: it removes your settings, extensions and local chat history. Back up settings.json (in the User folder of Cursor’s data folder) and note which extensions you use. Then quit Cursor and delete its data folder:

  • macOS: ~/Library/Application Support/Cursor
  • Windows: %APPDATA%\Cursor
  • Linux: ~/.config/Cursor

To remove extensions and your global MCP config too, also delete ~/.cursor in your home folder. The next launch starts like a new install.

Report a bug Cursor can fix

If nothing above works, post on forum.cursor.com with what Cursor’s bug report guide asks for:

  1. Your Cursor version (Cursor › About Cursor) and your operating system and version.
  2. The steps to reproduce the problem.
  3. What you expected and what happened instead.
  4. The request ID: in the chat, open the “…” menu and choose Copy Request ID.
  5. Error lines from the logs or the developer tools console.
  6. A recording: screen-record the bug and attach it to your report.

With Privacy Mode on, Cursor’s support team sees only which model ran and whether a tool failed. For a problem with the agent’s behavior, turn on Share Data, reproduce the issue, copy the new request ID, then switch back.

If you’re new to Cursor’s features, start with these Cursor tutorials.

Zest records each engineer’s coding-agent sessions (Claude Code, Codex, Cursor, Copilot Chat) and links them to the pull requests they led to.

Frequently asked questions

Why is Cursor so slow?

Usually because of an extension or a large folder being indexed. Start Cursor with cursor --disable-extensions to test, add build output folders to .cursorignore, and update to the latest version. If only AI requests are slow, check status.cursor.com.

Why does Cursor’s AI stop working behind a VPN or corporate proxy?

Some proxies block HTTP/2, which Cursor uses to stream responses. In Cursor Settings › Network, set HTTP Compatibility Mode to HTTP/1.1, restart Cursor and click Run Diagnostics. If a firewall blocks outbound traffic, ask IT to allowlist Cursor’s domains.

Do I need my own API key to use Cursor?

No. Cursor’s plans include usage of its own models and of models from Anthropic, Google and others. Your own key is optional, and if a key you added is invalid or out of credit, requests to that provider fail until you update or remove it.

How do I completely reset Cursor?

Back up settings.json, quit Cursor and delete its data folder: ~/Library/Application Support/Cursor on macOS, %APPDATA%\Cursor on Windows or ~/.config/Cursor on Linux. Delete ~/.cursor too to remove extensions. This also deletes your local chat history.