Cursor not working: common problems and how to fix them
Cursor froze, shows Reconnecting or does not answer. We go from simple causes to complex ones and cover problems with your own key and a gateway separately.
6 min · · errors · IDE
When Cursor is not working, the symptoms vary: the chat is silent, "Reconnecting" hangs, "Taking longer than expected" appears, or a request breaks with a model error. The causes fall into three groups: a problem in the editor or its service, a problem in your network, a problem with the key and gateway if you connected your own API. Below is a diagnostic order that rules out the groups one by one. Names of Cursor settings change between versions, so where we are not sure we write in general terms and advise checking the editor's documentation.
Step 1. Find out whose problem it is
First find out whether everything breaks or only your own models.
- Open the chat and choose a built-in Cursor model rather than your own. If it answers, the editor and network are fine, so look for the cause in your key (section below).
- If no model answers, the problem is in the editor, the service or the network.
- Check the Cursor service status page (you will find the address on their website): during a failure on the vendor's side all you can do is wait.
Step 2. Simple measures for hangs
These actions solve a large share of "it froze" cases and take a minute:
- Start a new chat. A long conversation with the agent grows, and each request drags its whole context along; with big volumes the answer arrives slowly or breaks off. If "Taking longer than expected" appears only in one old chat, the chat itself is most likely the cause.
- Restart Cursor completely, not just the window.
- Update the editor to the current version.
- Disable extensions and check whether the problem repeats. Conflicting extensions in VS Code-family editors sometimes break built-in features.
- Narrow the task: remove extra files and folders from the context (via file references and exclusions in the indexing settings; look up the item names in Cursor's documentation).
Step 3. Reconnecting and network problems
"Reconnecting" means the editor lost its connection to the service and is trying to restore it. Typical network causes:
- Proxy and corporate filter. They can cut long-lived connections and streamed responses. Try another network, for example a phone hotspot: if it works there, the original network is to blame.
- Antivirus and firewall. Temporarily turn off the antivirus's HTTPS scanning or add Cursor to the exclusions.
- System proxy settings. Cursor, like VS Code, can take them from the system or from its own settings; check that no stale address is left.
- The HTTP/2 protocol. As far as we know, Cursor has a setting that disables HTTP/2 (it is suggested when streams drop). Check its exact name and location in the Cursor documentation; we cannot guarantee it exists in your version.
- Network diagnostics. The editor settings have a network section with a connection check; the item may be called differently in your version, so search for the word Network.
If the problem disappears after changing the network, it is neither a Cursor bug nor a gateway bug: you need to deal with the internet provider or the filter.
Step 4. Errors when using your own key through a gateway
If the built-in models work and your own does not, check the settings. For the Zukko gateway it comes down to three things:
| What to check | Correct value |
|---|---|
| Base URL | https://api.zukko.pro/v1 (with /v1) |
| API Key | a key like fetch_... from the dashboard |
| Model name | the exact id from GET https://api.zukko.pro/v1/models or, for popular models, the second name for Cursor (for example cursor-sonnet-5 instead of claude-sonnet-5) |
Connection instructions: Cursor in the Zukko docs. Second names are needed because Cursor does not let you add a model with a name it already knows: it says the model already exists and sends the request to its own backend instead of the gateway. The full table of names is in the documentation. If models do not appear in the list after changing the address, see Cursor does not see models.
To rule out Cursor itself, send the same request from a terminal:
curl -i https://api.zukko.pro/v1/chat/completions \
-H "Authorization: Bearer fetch_your_key" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-5-5","messages":[{"role":"user","content":"ping"}]}'A 200 response means the key, balance and model are fine and the problem is in the editor or the network. For any other code see the table.
| Code | Meaning | What to do |
|---|---|---|
| 401 | invalid key | recheck the key, look for a stray space or character from copying |
| 402 | not enough balance | top up the balance in the dashboard |
403 model_not_allowed_for_key | the model is not allowed for this key | add the model to the key's allowed_models |
403 email_unverified | email not confirmed | confirm your email in the dashboard |
404 model_not_found | unknown model name | take the id from /v1/models, mind case and dots |
| 413 | request too large | start a new chat, remove extra files from context |
| 429 | the key's daily or monthly limit is used up, or a restriction at the model provider | check the key limits; if it is the provider, retry later or switch models |
| 503 | provider unavailable or model disabled (model_disabled) | pick another model from the catalog |
A quirk often mistaken for a breakage: the agent in Cursor makes many requests in a row, and the daily limit on the key runs out faster than expected. Then you get 429 key_daily_limit_reached. Raise the limit or wait for the next day: how key limits work.
Another common case is about format. Cursor works with an OpenAI-compatible address, so for Claude models all input is billed at the input price without a cache discount: that is a spend question, not a breakage. More: Claude via /v1/messages or /v1/chat/completions.
Step 5. The model answers but the agent "does nothing"
If the request goes through but the agent does not edit files or call tools, the cause is usually the model: not every model calls tools equally reliably in a particular editor. Switch to another model from the catalog and repeat the same task. Which one fits depends on your project, so test on your own tasks.
When to contact support
If curl returns 200 and Cursor still fails on every network, collect the editor version, the error text, the time and, if there is one, the Request ID the editor shows, and contact Cursor support. If curl returns an error unrelated to your settings (for example 503 on several models), check the news in the @zukkopro Telegram channel and write to Zukko support (the contact is on the website). Do not paste secret keys into a report.
FAQ
Is "cursor ai reconnecting" my fault or the service's?
Most often the problem is at the junction: a network, proxy or antivirus breaks the streaming connection. Check another network. If it works on another network, the original one is to blame.
"Cursor taking longer than expected" in one chat
Usually it is a bloated context. Start a new chat and narrow the file set. If the new chat answers fast, the old one is simply too large.
Why did my key stop working when everything was fine yesterday?
Check the balance (402), the key's daily limit (429) and whether the model is disabled (503 model_disabled). All of it is visible in the dashboard and in the response body.
Do I need to change anything to work from Russia?
Access goes through the gateway, and Cursor has no separate settings for it. The balance is topped up via SBP, MasterCard card or cryptocurrency.
zukko
Pay 25×
less
for Claude Code & ChatGPT
One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.
Related articles
- JetBrains AI Assistant not working: causes and workaroundsAI Assistant will not activate, stays silent or is off for some files. We go through the causes in the JetBrains docs and connect your own models via a gateway.
- Invalid API key in opencode: why the key is rejected and how to checkThe Invalid API key error in opencode almost always comes down to four causes. We test the key outside opencode and find where the chain breaks.
- Codex error 403: causes and how to keep workingA 403 in Codex comes in three kinds: a region refusal, an account problem and gateway key restrictions. How to tell them apart by the error text and what to fix.
- Cursor AI limits: how they work and what to do when you run outA Cursor limit is consumption of an included amount of usage, not a message counter. What eats it and four ways to keep working when it runs out.