Cursor AI limits: how they work and what to do when you run out

A 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.

6 min · · errors · IDE

Cursor AI limits usually show up at the worst moment: in the middle of a task the editor tells you your usage has run out. It is not a message counter but consumption of an included amount of usage, and it depends on the selected model and the size of the context. Below is how it works according to Cursor's documentation, how to check what is left and what to do once it runs out, from picking a cheaper model to working on your own key.

Cursor AI limits: how they work

Cursor changes the exact numbers, plan names and reset rules, so we do not restate them. Look up the current details on cursor.com/pricing and in Cursor's help article "Usage and limits". Three general principles from the documentation matter:

  1. The limit is an amount of usage, not a number of requests. An expensive model with a large context burns through it faster than a light one with a short context.
  2. Different groups of models may be counted differently. Cursor's own models and third-party ones (Claude, GPT, Gemini) are counted differently on different plans. What your plan includes is spelled out in its description.
  3. Unused balance usually does not roll over. Reset rules depend on the plan: check the date on the usage page of your account.

The plan name in the query "cursor ai pro limits" is a story of its own: Cursor's lineup has changed, and some earlier plans are marked as legacy in the documentation while continuing to work. So do not rely on a plan name from an old article; rely on what your account shows.

How to check what is left

Cursor shows the remaining amount in the editor settings and on the usage page of your account. The notification about reaching the limit appears directly in the editor. According to the documentation, once the amount runs out there are usually three ways forward: wait for the reset, pay for additional usage under your plan's rules, or move to a higher tier. Below are four ways to reach that point less often, or to keep going without a pause.

1. Pick a cheaper model

The fastest lever. Typical edits (renames, small refactors, tests following a template) do not need a strong model. If you have a Zukko key connected, the price difference per million tokens is obvious (prices as of October 18, 2026, input / output):

ModelInput / output, $ per 1MStrength index
claude-opus-5-50.8 / 458
claude-sonnet-5-50.4 / 248
gpt-6.1-sol0.27 / 1.3252
glm-5.3-flash0.04 / 0.0442
deepseek-v4.1-flash0.013 / 0.03839

The strength index is the Intelligence Index from Artificial Analysis. Whether a cheaper model suits your task, check on 10 to 20 real examples: a composite index is no substitute for that test.

2. Keep context under control

Every request in a chat sends the model the entire accumulated history. Look at the arithmetic. Suppose each message adds about 5,000 tokens to the context.

  • One long chat of 20 messages: at message n the model receives 5,000 × n input tokens. The sum: 5,000 × (1 + 2 + … + 20) = 5,000 × 210 = 1,050,000 tokens.
  • Four separate chats of 5 messages: 4 × 5,000 × (1 + 2 + 3 + 4 + 5) = 4 × 75,000 = 300,000 tokens.

The same amount of work, with 3.5 times less input (1,050,000 / 300,000). On claude-sonnet-5-5 at the input price of $0.4 per million, that is $0.42 versus $0.12. In practice: a new task means a new chat, drop unneeded files from @, keep the rules in .cursor/rules short (see how to write Cursor rules), switch off MCP servers you do not need, and exclude secrets and heavy directories through .cursorignore.

3. Connect your own key

If the included usage has run out and you need to keep working, you can switch to your own key. According to Cursor's documentation, on individual plans the key's provider bills requests made with your own key, and they do not draw from the included usage. Team plans have separate terms, so check them in advance.

Limitations worth knowing up front:

  • your own key works only with chat models, while autocomplete stays on Cursor's built-in models;
  • according to Zukko's documentation, overriding the provider requires a paid Cursor plan, and the feature's availability depends on the specific plan;
  • requests still go through Cursor's servers, so the gateway address must be reachable from the internet.

Setup: Settings → Models, your own OpenAI key fetch_..., Base URL override to https://api.zukko.pro/v1, add a model and click Verify. Details are in the Cursor documentation. Calculate spending with the formula: input × input price / 1,000,000 + output × output price / 1,000,000. For example, 1,000,000 input tokens and 50,000 output tokens on claude-sonnet-5-5 cost 1 × $0.4 + 0.05 × $2 = $0.50. For Claude in the OpenAI format the cache gives no discount: all input is billed at the input price.

4. Set a limit on the key side too

When spending comes from your own balance, you get a safeguard of your own. In the Zukko dashboard every key has a daily and monthly limit in dollars, plus a list of allowed models (see key limits). Create a separate key for Cursor and set a ceiling, say $2 a day, so a looping agent cannot drain the balance.

Whose limit is it: an error table

Not every "limit" belongs to Cursor. If you work through a Zukko key, the messages differ:

What you seeWhose limitWhat to do
An editor notification that usage is exhaustedCursor's included usageWait for the reset, buy more, change the model, connect a key
429, key_daily_limit_reachedThe Zukko key's daily limitRaise the limit in the dashboard or wait until tomorrow
429, key_monthly_limit_reachedThe key's monthly limitRaise the key's limit
429 without these codesA restriction at the model's providerRetry later or choose another model
402Balance ran outTop up in the dashboard
403 model_not_allowed_for_keyThe model is not in the key's listAdd the model in the key settings

Zukko has no overall request-rate limit of its own; a 429 comes either from the key's limits or from the model's provider. The error code and its explanation come in the response body, so look at the response itself, not only at the status.

FAQ

How many requests does Cursor Pro give?

The number of requests depends on the model and context, and Cursor changes plan terms, so we cite no specific figures. The current value is shown by your account and by cursor.com/pricing.

What happens when the limit runs out?

According to Cursor's documentation, you get a notification and can wait for the reset, pay for additional usage under the plan's rules, or switch to another tier. Your own key is one more option if your plan allows it.

Does autocomplete eat into the limit?

Tab autocomplete runs on Cursor's built-in models and stays on them when a key is connected. How it is counted on your plan is stated in the plan description.

Can I cap spending when working on my own key?

Yes. Set a daily and monthly limit on the key in the dashboard. When the ceiling is reached, requests get a 429 with the code key_daily_limit_reached or key_monthly_limit_reached, and the balance is not spent any further.

You can create a separate key for Cursor and give it a limit on the API keys page.

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.

Get API keyDocumentation

api.zukko.pro · fetch_*

Cursor AI limits: what to do when you run out · Zukko