Guide
Cursor Troubleshooting: Install, Performance, Network, and Tab Fixes
Most Cursor problems trace to one of five areas: a failed install or blank startup screen, slow performance from heavy extensions or indexing, blocked network requests, Tab suggestions not appearing, or a conflicting extension. The fastest first move is usually to disable extensions one at a time and confirm your plan and connection.

On this page
Where should I start when Cursor stops working?
Start by asking how far the problem travels. If it follows you into every project you open, the install or an extension is the place to look. If it only shows up in one repo, that is usually about what Cursor is indexing there. The rest of the failures on this page happen at the point where Cursor has to reach its own servers, and Tab is one of them.
Work in that order because of what each check costs. A relaunch takes ten seconds and clears a whole class of problem, while a reinstall costs you a download and, on a managed laptop, an approval you may not have.
Tab is the exception. If suggestions stopped outright rather than got worse, the plan allowance is probably where to look first, since that one is not a fault and no amount of restarting will fix it.
This is covered hands-on in Tab and Inline Editing — 4 short Units, free to read.
Rather do it than read about it? Run 11 interactive Cursor walkthroughs in a simulated editor. Free, no account needed.
Cursor won't install or shows a blank screen
Install and first-launch failures usually come down to a stuck process, a macOS security warning, or low disk space. Match your symptom to the row below; each fix is a quick reset rather than a deep repair.
- Blank screen on launch
- Quit and restart Cursor. On Mac, drag Cursor to Trash and reinstall from cursor.com/download; on Windows, run Cursor as administrator. Then run Clear Editor History from the command palette.
- macOS says the app is 'damaged'
- This is a macOS warning, not a corrupted download. Quit Cursor, force-quit any leftover processes in Activity Monitor, wait a minute, then move Cursor to Trash, empty it, and re-download. Restart the Mac if it persists.
- Low disk space
- Remove unused extensions and run Clear Editor History from the command palette.
The macOS row is the one worth reading twice, because the message names the wrong culprit. 'Damaged' reads like a bad download, so the natural next move is to fetch the installer again, and then to fetch it from a different network. Cursor's help is explicit that the warning comes from macOS rather than from a corrupted file, so the fix starts with quitting Cursor and force-quitting whatever is left running in Activity Monitor.
The Trash has to be emptied before you re-download.
Cursor is slow or using too much CPU or memory
Two things account for most performance complaints: an extension misbehaving, and Cursor trying to index folders it should ignore. The steps below isolate the extension and trim what gets indexed.
- 1Run
cursor --disable-extensionsto launch with none, confirm the slowdown is gone, then re-enable extensions one at a time to find the culprit. - 2Add large generated folders to
.cursorignore(for exampledist/,build/, and.next/) so the indexer skips them. - 3Make sure
node_modulesand similar dependency folders are in.gitignore; Cursor respects.gitignorewhen it indexes, so this keeps big trees out of the index.
The flag goes first because it answers the question in a single launch. cursor --disable-extensions leaves your installed set alone, so a slowdown that survives a clean start has told you something and cost you nothing to undo. Re-enabling one at a time is the slow half. At thirty extensions I would halve the list, then halve whichever half still drags.
Running the extension test and the ignore-file change in the same sitting is how I used to do this, and it is the wrong shape. The extension answer is yours in five minutes, on your own machine, with nobody else involved. A .cursorignore edit changes a repo other people work in, so send it through review at its own pace instead of holding the quick answer behind it.
The same extension test applies to typing lag: disable extensions one at a time, or launch with the command-line flag to type in a clean editor and confirm whether an extension is the cause.
Cursor can't connect (network errors)
Connection failures usually come from a proxy or firewall between you and Cursor's servers, or from a VPN leaving stale settings behind. Start with the built-in diagnostics, then work through the specific cases below.
Open Cursor Settings > Network > Run Diagnostics to test connectivity. If a proxy blocks HTTP/2, switch HTTP Compatibility Mode to HTTP/1.1 and restart. If a firewall blocks outbound traffic, allowlist Cursor's domains.
- Case
- Firewall blocks outbound connections
- What to do
- Allowlist
*.cursor.sh,*.cursor-cdn.com, and*.cursorapi.com.
- Case
- Remote SSH: AI features fail
- What to do
- AI runs locally and calls Cursor servers, not the remote host. Check your local internet, watch remote CPU/memory, set
ServerAliveInterval 60andServerAliveCountMax 3, and restart Cursor after reconnecting.
- Case
- DNS errors after leaving a VPN
- What to do
- Fully restart Cursor to clear inherited environment variables. Verify DNS with
scutil --dns(macOS) or/etc/resolv.conf(Linux).
- Case
- 'Suspicious activity' block
- What to do
- Often VPN-triggered. Disable the VPN, start a new chat, wait a few minutes, or sign in with Google or GitHub instead.
| Case | What to do |
|---|---|
| Firewall blocks outbound connections | Allowlist *.cursor.sh, *.cursor-cdn.com, and *.cursorapi.com. |
| Remote SSH: AI features fail | AI runs locally and calls Cursor servers, not the remote host. Check your local internet, watch remote CPU/memory, set ServerAliveInterval 60 and ServerAliveCountMax 3, and restart Cursor after reconnecting. |
| DNS errors after leaving a VPN | Fully restart Cursor to clear inherited environment variables. Verify DNS with scutil --dns (macOS) or /etc/resolv.conf (Linux). |
| 'Suspicious activity' block | Often VPN-triggered. Disable the VPN, start a new chat, wait a few minutes, or sign in with Google or GitHub instead. |
Most connection errors resolve by clearing a proxy/HTTP-2 conflict, allowlisting Cursor's domains, or restarting after a VPN change.
The remote SSH row overturns an instinct. When AI features fail inside a remote session, the machine you reach for is the remote one, and it is the wrong end of the connection to be debugging. Cursor's help puts those features on your own laptop, calling out to Cursor's servers. So check your local internet before you touch anything on the host. The remote box does still matter, though not in the way you would guess, since one that runs out of memory or CPU drops the connection, and from where you are sitting that reads as the AI breaking.
Allowlisting is where this stops being yours to fix. The three domains are a small ask and still somebody else's change on a managed network, so run the diagnostics before you open the ticket and put the domains in the first message. On a machine whose firewall you control, you make the change yourself.
Cursor Tab isn't suggesting anything
When Tab goes quiet, the cause is usually your plan allowance, a blocked connection, or an out-of-date build. A broken feature is rarely the problem. Check these four before anything else.
- Plan allowance: Free (Hobby) accounts have a monthly Tab allowance; once it is used up, suggestions pause until the next billing cycle.
- Blocked HTTP/2: enable HTTP Compatibility Mode to fall back to HTTP/1.1, then restart Cursor.
- Outdated build: press ⌘Ctrl⇧P and run Cursor: Attempt Update.
- No connection: Tab needs an active internet connection to return suggestions.
Three of those four are not Cursor misbehaving. Worth knowing before you spend an evening on it. The allowance case has the sharpest edge, since it ends on a billing date rather than on anything you do, and restarting or reinstalling changes nothing at all in the meantime. Usage limits has the wider picture of what each plan includes.
Tab draws on your recent edits and the surrounding code, so making a few manual edits first signals your intent and sharpens what it proposes. If suggestions are slow, check your connection and disable unused extensions. VPNs and proxies add latency. You can also click the Tab status indicator in the bottom-right corner to turn Tab off for specific file types, like markdown or JSON.
An extension is breaking Cursor
Extensions that ship their own AI completions or grab keyboard shortcuts are the usual source of conflicts, especially other AI coding assistants. The three steps below find the offender by elimination.
- 1Open the command palette and run Disable All Installed Extensions.
- 2Check whether the problem is gone.
- 3Re-enable extensions one at a time until the conflict reappears. That last one is the cause.
This page gives you two routes to the same elimination and they are not equivalent. The palette command genuinely disables your extensions, so there is re-enabling to do at the end. The launch flag from the performance section touches nothing and lasts one session. Use the flag to find out whether extensions are involved at all, and the palette command for the bisect itself.
Other AI assistants top that list partly because of how people arrive. The one-click VS Code Import carries your extension set over with your settings and keybindings, so a second completion engine you had half-forgotten comes along with it. Migrating from VS Code covers the rest of what the import brings.
To disable a single extension directly, open the Extensions panel (⌘⇧X on Mac, Ctrl⇧X on Windows and Linux), find it, and click Disable.
How do I report a bug to Cursor?
Cursor triages bugs from its community forum, and a good report includes a request ID so the team can trace your exact session. The steps below gather what they need and explain how Privacy ModeCursor's setting that guarantees code data is not used for training by Cursor or its model providers, and that an admin can enforce org-wide; data-retention terms are a separate, contractual layer. Press Enter for the full definition. changes what they can see.
Post on forum.cursor.com and include your Cursor version, operating system and version, steps to reproduce, expected versus actual behavior, screenshots for visual issues, a request ID, and any console errors from Developer Tools. To grab the request ID, open the conversation in the Chat sidebar, click the ... context menu, and choose Copy Request ID.
With Privacy ModeCursor's setting that guarantees code data is not used for training by Cursor or its model providers, and that an admin can enforce org-wide; data-retention terms are a separate, contractual layer. Press Enter for the full definition. on, support can only see the model used, whether tool calls failed, and backend failures unrelated to your content. Your conversation stays hidden. With Share Data on, they see full conversations, tool details, and context. Privacy Mode is per-request, so changing the setting does not retroactively expose past requests. For an agent-behavior bug, temporarily enable Share Data, reproduce the issue, copy the new request ID, and send that.
The per-request detail is what decides your whole sequence, and it is the easiest line above to read past. Turning Share Data on does not reach backwards, so yesterday's failed request stays exactly as opaque as it was when it ran. That is why the order is reproduce the bug again, then copy the new request ID.
Versions and reproduction steps you can reconstruct an hour later. The request ID belongs to one conversation, so you copy it from that conversation's ... menu in the Chat sidebar.
Frequently asked questions
Why is Cursor so slow or using so much memory?
The usual causes are a heavy extension and over-broad indexing. Launch with cursor --disable-extensions to confirm an extension is at fault, then re-enable them one at a time. Add generated folders like dist/, build/, and .next/ to .cursorignore, and keep node_modules in .gitignore. Cursor respects .gitignore when indexing, which keeps large trees out of the index.
Why isn't Cursor Tab suggesting completions?
Check four things: whether you've used up the Free (Hobby) monthly Tab allowance, whether your network is blocking HTTP/2 (switch HTTP Compatibility Mode to HTTP/1.1 and restart), whether your build is outdated (run Cursor: Attempt Update), and whether you have an internet connection. Conflicting extensions and VPN latency can also suppress or slow suggestions.
Cursor can't connect: how do I fix network errors?
Run Cursor Settings > Network > Run Diagnostics. If a proxy blocks HTTP/2, set HTTP Compatibility Mode to HTTP/1.1 and restart. If a firewall blocks traffic, allowlist *.cursor.sh, *.cursor-cdn.com, and *.cursorapi.com. After disconnecting a VPN, fully restart Cursor to clear stale environment variables.
How do I fix the macOS 'Cursor is damaged' message?
That warning is a macOS security check, not a corrupted download. Quit Cursor, force-quit any leftover Cursor processes in Activity Monitor, wait a minute, then move Cursor to Trash, empty it, and re-download from cursor.com/download. Restart your Mac if the message persists.
How do I report a bug so Cursor can actually reproduce it?
Post on forum.cursor.com with your Cursor version, OS and version, reproduction steps, expected versus actual behavior, screenshots, and a request ID (Chat sidebar → ... menu → Copy Request ID). For agent-behavior bugs, temporarily enable Share Data, reproduce the problem, and send the new request ID. Privacy Mode otherwise hides the conversation from support.
Sources & last verified
- Cursor - Install issues
- Cursor - Performance
- Cursor - Network
- Cursor - Tab issues
- Cursor - Extensions
- Cursor - Reporting bugs
Cursor ships frequently. Last updated July 28, 2026.