Cursor is an AI code editor used heavily by developers for code generation, and background agents. As of August 2025, its pricing has multiple components; monthly plans, usage credit pools, overages, and model-based feature access.
For developers, unclear pricing isn’t a minor inconvenience, it affects whether you can trust the tool in production. Cursor’s June 2025 pricing change, which moved from request-based to usage-based billing, triggered exactly those concerns and became a major discussion point in its community.
This breakdown explains Cursor’s current pricing, why it’s structured this way, and how to pick a plan based on actual usage, not just the pricing table.
How Cursor’s pricing changed from request-based limits to usage-based credit pools
In March 2025, Cursor’s Pro plan cost $20/month and included:
Unlimited Tab completions
500 fast premium requests/month
Unlimited slow premium requests
Teams were $40/user/month with SSO, privacy mode, and admin features. Limits were based on the number of requests, not the compute cost of those requests.
In June 2025, Cursor replaced request caps with a monthly usage credit pool pinned to model API pricing. On Pro, this equals $20 worth of non-Auto model usage each month, plus unlimited Auto. After the pool is used up, you can either switch to Auto or enable overages at API cost.
Cursor said this shift was to align pricing with actual compute cost, heavier models, longer contexts, and MAX mode consume more credits, while lighter use stays within the pool. The rollout, however, was rushed and poorly communicated, leading to backlash from existing users.
The backlash Cursor faced after the June 2025 pricing change
When Cursor moved from request-based limits to usage-based credit pools in June 2025, the announcement was poorly timed and poorly explained. Existing customers reported being overcharged without prior warning, as the new system measured consumption in dollar-equivalent credits tied to model API costs, something many hadn’t tracked before.
The main pain points:
“Unlimited” confusion, many assumed it applied to all models, not just Auto.
No clear usage meter, developers couldn’t see in real time how much of their pool was left.
Short notice, no extended transition window before charges kicked in.
By July 4, Cursor posted an apology, clarified the new rules, and offered refunds for unexpected usage between June 16 and July 4. The damage was partly reputational: on Reddit and Cursor’s forum, threads remain where users share billing screenshots and warn others to watch their usage closely.
How Cursor’s August 2025 pricing is structured and calculated
Cursor’s August 2025 pricing uses a hybrid model: a flat monthly fee, an included usage credit pool pegged to model API pricing, and optional overages if you exceed that pool.
Plans:
Hobby (Free): Entry-level limits on Tab and Agent usage.
Pro ($20/mo): Unlimited Tab, unlimited Auto, and a $20/month credit pool for non-Auto models.
Ultra ($200/mo): ~20× Pro’s usage pool, priority feature access, same unlimited Auto.
Teams ($40/user/mo): All Pro features plus SSO, admin controls, and per-user request accounting (~500 included Agent requests/user, with some models costing more than 1 request).
Enterprise: Custom usage and controls.
How usage works:
Auto requests are unlimited on Pro/Ultra.
Non-Auto requests consume the pool at rates based on the underlying model’s API cost.
When the pool runs out, you can switch to Auto or enable pay-as-you-go overages.
Overages are charged at raw API rates, so heavier models, longer contexts, and MAX mode deplete credits faster.
How Cursor’s August 2025 pricing is structured and calculated
Cursor’s August 2025 pricing uses a hybrid model: a flat monthly fee, an included usage credit pool pegged to model API pricing, and optional overages if you exceed that pool.
Plans:
Hobby (Free): Entry-level limits on Tab and Agent usage.
Pro ($20/mo): Unlimited Tab, unlimited Auto, and a $20/month credit pool for non-Auto models.
Ultra ($200/mo): ~20× Pro’s usage pool, priority feature access, same unlimited Auto.
Teams ($40/user/mo): All Pro features plus SSO, admin controls, and per-user request accounting (~500 included Agent requests/user, with some models costing more than 1 request).
Enterprise: Custom usage and controls.
How usage works:
Auto requests are unlimited on Pro/Ultra.
Non-Auto requests consume the pool at rates based on the underlying model’s API cost.
When the pool runs out, you can switch to Auto or enable pay-as-you-go overages.
Overages are charged at raw API rates, so heavier models, longer contexts, and MAX mode deplete credits faster.
How overage charges work once you exceed Cursor’s usage pool
Every Pro or Ultra plan comes with a monthly allowance for non-Auto models.
Pro: $20 worth of usage.
Ultra: About 20× Pro’s allowance.
When you use a non-Auto model, the cost is subtracted from that allowance. Bigger models and longer contexts cost more, so your allowance runs out faster if you use those often.
If you finish your allowance before the month ends, you have two choices:
Switch to Auto, it’s unlimited on Pro/Ultra, but may not always run on the largest model.
Pay for extra usage, charged at the same price the model’s API would cost.
Example: If you spend most of your time in MAX mode, a single request might use several times more allowance than a normal request. If you mostly use smaller models, you’ll stretch your allowance much further.
How models and features affect what you can use and what you pay
Not all Cursor features work the same way, or cost the same to use.
Auto vs non-Auto models:
Auto is unlimited on Pro and Ultra. Cursor chooses the model for you, balancing speed and cost.
Non-Auto models (like Claude Sonnet or GPT-4.1) use up your monthly allowance and cost more if you go over.
MAX mode:
Gives you bigger context and longer reasoning, but uses more allowance per request.
The bigger the context, the faster your allowance runs out.
BYO API key limits:
You can connect your own API key for some models to avoid using your allowance.
But key features, like Tab and Apply from Chat, run on Cursor’s own models and can’t be billed to your key.
Why this matters: If most of your work is Tab or Auto, you can stay within Pro’s limits. If you run MAX mode or specific non-Auto models all day, expect to need more than the base plan.
What happened during the June 2025 pricing rollout and why it frustrated developers
On June 16, 2025, Cursor rolled out its new usage-based pricing. The change replaced request limits with dollar-based usage pools, but the announcement left out key details developers needed to budget their usage.
Main issues developers raised:
Confusion about “unlimited”, many thought it applied to all models, not just Auto.
No live usage tracker, you couldn’t see in real time how much of your allowance was gone.
Short notice, the switch happened without a clear transition period, so extra charges hit immediately.
By July 4, Cursor posted an apology, clarified that unlimited only applied to Auto, and offered refunds for unexpected usage between June 16 and July 4.
While the refund helped, Reddit threads and forum posts show many developers still hesitant about the model because tracking is still limited.
The incident highlighted a key lesson: when pricing is tied to usage, visibility and predictability matter as much as the rate itself.
How to choose the right Cursor plan for your workflow
Picking the right plan comes down to how often you use non-Auto models and how heavy your requests are.
If you mostly use Tab and Auto:
Go with Pro ($20), you’ll have unlimited Auto and likely stay within the $20 non-Auto allowance.
If you run MAX mode or premium non-Auto models daily:
If you’re part of a team needing SSO and admin controls:
Use Teams ($40/user), same features as Pro plus usage tracking and security features for orgs.
If you want predictable cost above all else:
Stick to Auto and avoid overages, or use BYO API key where possible.
The easiest way to decide: Track your model usage for a week. If you’re blowing through Pro’s $20 allowance in days, Ultra or Teams will prevent constant overage charges.
Hidden costs and upgrade traps to watch out for
Cursor’s pricing table doesn’t always show the extra ways you can spend more than you expect.
BYO API key limitations
You can connect your own API key for some models to bypass your allowance.
But key features like Tab and Apply from Chat always run on Cursor’s own models, so they can’t be billed to your key.
Background Agents
Billed separately at the model’s API rate.
No fixed monthly cap, you need to set your own spend limit.
Bugbot subscription
Not included in Pro/Ultra. Costs extra ($40/mo for Pro, $40/user for Teams).
MAX mode
Larger context windows and deeper reasoning use more credits per request.
Heavy MAX usage can burn through your pool in days, even on Ultra.
Upgrade pressure
If you regularly hit your allowance early, you may feel forced into Ultra or Teams.
Without real-time usage tracking, it’s hard to judge when you’re nearing that point.
Knowing these helps you avoid unexpected charges and choose a pricing plan based on actual, not assumed, usage.
How to replicate Cursor’s pricing with Flexprice
Complete guide to replicate Cursor AI code editor multi-tier pricing structure with usage-based billing in flexprice.io.
Cursor uses a sophisticated multi-tier pricing model with AI model usage-based scaling:
Plan
Base Price
Key Features
Hobby
$0/month
2K Tab completions, 50 slow requests, 14-day Pro trial
Pro
$20/month
Unlimited Tab, $20 API credits, unlimited Auto model
Ultra
$200/month
Everything in Pro + 20x usage limits on all models
Teams
$40/user/month
Pro features + team collaboration + admin dashboard
Enterprise
Custom pricing
Teams features + SSO + compliance + priority support
Prerequisites
flexprice.io account
API key ready
Understanding of AI model pricing and token consumption
Knowledge of developer tools and IDE billing models
Step 1: Get Your API Key
Log in to your flexprice.io dashboard
Navigate to Settings → API Keys
Copy your API key
Step 2: Create Core Usage Features
Create metered features for all Cursor usage metrics:
curl --location 'https://api.cloud.flexprice.io/v1/features' \
-X POST \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"name":"Privacy Mode","type":"binary","description":"Code is never trained on, enhanced privacy controls"}'
Max Mode Feature
curl --location 'https://api.cloud.flexprice.io/v1/features' \
-X POST \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"name":"Max Mode","type":"binary","description":"Enhanced accuracy with more powerful AI models"}'
Background Agents Feature
curl --location 'https://api.cloud.flexprice.io/v1/features' \
-X POST \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data '{
"name":"Background Agents","type":"binary","description":"AI agents that work in the background on code tasks"}'
curl --request POST \
--url 'https://api.cloud.flexprice.io/v1/plans' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--data '{
"name":"Cursor Hobby Plan","description":"Free forever for personal projects","lookup_key":"cursor_hobby","prices":[],"entitlements":[{"feature_id":"feat_tab_completions_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit":2000,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_slow_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit":50,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_fast_requests_123","feature_type":"metered","is_enabled":false,"is_soft_limit":false,"usage_limit":0,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_frontier_usage_123","feature_type":"metered","is_enabled":false,"is_soft_limit":false,"usage_limit":0,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_privacy_mode_123","feature_type":"binary","is_enabled":false},{"feature_id":"feat_max_mode_123","feature_type":"binary","is_enabled":false},{"feature_id":"feat_background_agents_123","feature_type":"binary","is_enabled":false}]}'
Step 5: Create Pro Plan
curl --request POST \
--url 'https://api.cloud.flexprice.io/v1/plans' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--data '{
"name":"Cursor Pro Plan","description":"Everything in Hobby, plus unlimited usage","lookup_key":"cursor_pro","prices":[{"amount":"2000","billing_model":"FLAT_FEE","currency":"USD","description":"Pro Plan Base Fee","type":"RECURRING","billing_period":"MONTHLY","billing_period_count":1},{"amount":"100","billing_model":"PER_UNIT","currency":"USD","description":"Frontier Model Usage overage (per dollar)","type":"USAGE","tier_mode":"VOLUME","tiers":[{"unit_amount":"100","up_to":null}],"filters":{"feature":"frontier_usage"}},{"amount":"100","billing_model":"PER_UNIT","currency":"USD","description":"Background Agent Usage overage (per dollar)","type":"USAGE","tier_mode":"VOLUME","tiers":[{"unit_amount":"100","up_to":null}],"filters":{"feature":"background_agent_usage"}}],"entitlements":[{"feature_id":"feat_tab_completions_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_frontier_usage_123","feature_type":"metered","is_enabled":true,"is_soft_limit":true,"usage_limit":20,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_fast_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_slow_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_tool_calls_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_background_usage_123","feature_type":"metered","is_enabled":true,"is_soft_limit":true,"usage_limit":0,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_privacy_mode_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_max_mode_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_background_agents_123","feature_type":"binary","is_enabled":true}]}'
Step 6: Create Ultra Plan
curl --request POST \
--url 'https://api.cloud.flexprice.io/v1/plans' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--data '{
"name":"Cursor Ultra Plan","description":"Everything in Pro, plus 20x usage limits","lookup_key":"cursor_ultra","prices":[{"amount":"20000","billing_model":"FLAT_FEE","currency":"USD","description":"Ultra Plan Base Fee","type":"RECURRING","billing_period":"MONTHLY","billing_period_count":1},{"amount":"100","billing_model":"PER_UNIT","currency":"USD","description":"Frontier Model Usage overage (per dollar)","type":"USAGE","tier_mode":"VOLUME","tiers":[{"unit_amount":"100","up_to":null}],"filters":{"feature":"frontier_usage"}},{"amount":"100","billing_model":"PER_UNIT","currency":"USD","description":"Background Agent Usage overage (per dollar)","type":"USAGE","tier_mode":"VOLUME","tiers":[{"unit_amount":"100","up_to":null}],"filters":{"feature":"background_agent_usage"}}],"entitlements":[{"feature_id":"feat_tab_completions_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_frontier_usage_123","feature_type":"metered","is_enabled":true,"is_soft_limit":true,"usage_limit":400,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_fast_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_slow_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_tool_calls_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_background_usage_123","feature_type":"metered","is_enabled":true,"is_soft_limit":true,"usage_limit":0,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_privacy_mode_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_max_mode_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_background_agents_123","feature_type":"binary","is_enabled":true}]}'
Step 7: Create Teams Plan
curl --request POST \
--url 'https://api.cloud.flexprice.io/v1/plans' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--data '{
"name":"Cursor Teams Plan","description":"Everything in Pro, plus team features","lookup_key":"cursor_teams","prices":[{"amount":"4000","billing_model":"FLAT_FEE","currency":"USD","description":"Teams Plan Base Fee per user","type":"RECURRING","billing_period":"MONTHLY","billing_period_count":1},{"amount":"100","billing_model":"PER_UNIT","currency":"USD","description":"Frontier Model Usage overage (per dollar)","type":"USAGE","tier_mode":"VOLUME","tiers":[{"unit_amount":"100","up_to":null}],"filters":{"feature":"frontier_usage"}},{"amount":"100","billing_model":"PER_UNIT","currency":"USD","description":"Background Agent Usage overage (per dollar)","type":"USAGE","tier_mode":"VOLUME","tiers":[{"unit_amount":"100","up_to":null}],"filters":{"feature":"background_agent_usage"}}],"entitlements":[{"feature_id":"feat_tab_completions_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_frontier_usage_123","feature_type":"metered","is_enabled":true,"is_soft_limit":true,"usage_limit":20,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_fast_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_slow_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_tool_calls_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_background_usage_123","feature_type":"metered","is_enabled":true,"is_soft_limit":true,"usage_limit":0,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_privacy_mode_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_max_mode_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_background_agents_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_team_collaboration_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_admin_dashboard_123","feature_type":"binary","is_enabled":true}]}'
Step 8: Create Enterprise Plan Template
curl --request POST \
--url 'https://api.cloud.flexprice.io/v1/plans' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--data '{
"name":"Cursor Enterprise Plan","description":"Everything in Teams, plus enterprise features","lookup_key":"cursor_enterprise","prices":[{"amount":"10000","billing_model":"FLAT_FEE","currency":"USD","description":"Enterprise Plan Base Fee per user (starting price)","type":"RECURRING","billing_period":"MONTHLY","billing_period_count":1}],"entitlements":[{"feature_id":"feat_tab_completions_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_frontier_usage_123","feature_type":"metered","is_enabled":true,"is_soft_limit":true,"usage_limit":100,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_team_collaboration_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_admin_dashboard_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_sso_integration_123","feature_type":"binary","is_enabled":true}]}'
Step 9: Create Bugbot Add-on Plans
Bugbot Pro Add-on
curl --request POST \
--url 'https://api.cloud.flexprice.io/v1/plans' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--data '{
"name":"Bugbot Pro","description":"AI-powered code reviews and bug detection","lookup_key":"bugbot_pro","prices":[{"amount":"4000","billing_model":"FLAT_FEE","currency":"USD","description":"Bugbot Pro monthly fee","type":"RECURRING","billing_period":"MONTHLY","billing_period_count":1}],"entitlements":[{"feature_id":"feat_code_reviews_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_pull_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit":200,"usage_reset_period":"MONTHLY"}]}'
Bugbot Teams Add-on
curl --request POST \
--url 'https://api.cloud.flexprice.io/v1/plans' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--data '{
"name":"Bugbot Teams","description":"Team-wide code reviews with pooled usage","lookup_key":"bugbot_teams","prices":[{"amount":"4000","billing_model":"FLAT_FEE","currency":"USD","description":"Bugbot Teams per user monthly fee","type":"RECURRING","billing_period":"MONTHLY","billing_period_count":1}],"entitlements":[{"feature_id":"feat_code_reviews_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_pull_requests_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"}]}'
Step 10: Create Student Discount Plan
curl --request POST \
--url 'https://api.cloud.flexprice.io/v1/plans' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--data '{
"name":"Cursor Pro Student","description":"50% off Pro plan for verified students","lookup_key":"cursor_pro_student","prices":[{"amount":"1000","billing_model":"FLAT_FEE","currency":"USD","description":"Pro Student Plan Base Fee (50% off)","type":"RECURRING","billing_period":"MONTHLY","billing_period_count":1},{"amount":"100","billing_model":"PER_UNIT","currency":"USD","description":"Frontier Model Usage overage (per dollar)","type":"USAGE","tier_mode":"VOLUME","tiers":[{"unit_amount":"100","up_to":null}],"filters":{"feature":"frontier_usage"}}],"entitlements":[{"feature_id":"feat_tab_completions_123","feature_type":"metered","is_enabled":true,"is_soft_limit":false,"usage_limit": -1,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_frontier_usage_123","feature_type":"metered","is_enabled":true,"is_soft_limit":true,"usage_limit":20,"usage_reset_period":"MONTHLY"},{"feature_id":"feat_privacy_mode_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_max_mode_123","feature_type":"binary","is_enabled":true},{"feature_id":"feat_background_agents_123","feature_type":"binary","is_enabled":true}]}'
Balancing flexibility and predictability in Cursor’s pricing
Cursor’s hybrid model offers flexibility, you can use any supported model, scale context size, and choose between unlimited Auto or pay-per-use non-Auto. This works well for developers who want control and are willing to manage usage actively.
The trade-off is predictability. If you don’t track which models you use or how often you’re in MAX mode, costs can jump unexpectedly. The June 2025 rollout showed that even well-intentioned changes can frustrate users if the rules aren’t clear and the tools to monitor usage aren’t in place.
For most developers, the best approach is to start small, track your usage for a month, and only move up when you know exactly why you need the extra headroom. Flexibility is valuable, but only if you can see, predict, and justify the cost.