Cursor's usage-based/MAX pricing is bad

… and I’m not talking about the tag. I’m talking about the experience.

I’ve always had a hard time understanding usage-based pricing in Cursor. Like, what’s actually being charged? How much? Etc. But I believe after these most recent updates, things got… worse? And I swear I’m making effort trying to comprehend.

Before I dive into this:

  • Been a paying Cursor Pro customer for quite a few months.
  • Never tried usage-based pricing nor MAX, but only because they sound scary. And not scary in a sense they’ll be expensive - but because I cannot understand how much I am going to pay; I cannot visualize the cost. And here, Cursor team, with all due respect, is where I find you’re doing a borderline bad job.

First of all, https://www.cursor.com/pricing: I understand that maybe you want to keep that page simple, but you introduce this concept of request without… clarifying it? What’s exactly a request? What are my options when I run out of my 500 “requests per month”?

This leads me to my second point… https://docs.cursor.com/. All those answers are (mostly) there, scattered through multiple different pages and subpages and the duty of mounting this expensive jigsaw is totally on us, customers–It really feels like AI-generated markdowns written by a bad model published to production in a very “every man for himself” fashion.

Then… well… let’s focus on this particular page: Cursor – Models & Pricing. Check this out.

At the very beginning of that page I read this:

Then… after scrolling down a bit, this is what I read:

And this was my first reaction. I mean, jokes aside, what to trust?

Then we have this:

Look at the heading Cached Input (MTok)… like, really? Wtf that even means? I simply cannot make sense of this table. What does it tell me? Perhaps a calculator with shiny sliders to measure a rough estimate on cost?

Finally, let’s quickly jump into Cursor – Max Mode… Another jigsaw for me to mount? Where are the numbers? Where’s the straightforward ‘every X turns you pay $Y’ (or something like that)?


Bottom line

I spent an obscene amount of time trying to figure pricing and left with more questions than answers. I’m clueless on usage-based pricing; clueless. Especially for Max.

I want to pay for usage-pricing (500 requests goes out in a day for me). I want to use Max. What I don’t want is affording the risk.

All the above to say,

Dear Cursor team, I know pricing LLMs is complicated. But look at all the great UX you achieved with your editor. Look at all the boundaries you pushed. I doubt you can’t create something awesome for pricing if you commit to it. (And once more: I am not asking to make things cheaper whatsoever. I’m referring exclusively to user experience.)

4 Likes

Showing the current context size and the total requests per chat in the chat with a running total is required for this (Great pricing model, I’m happy with) to work.

2 Likes

+1. I feel there’s a lack of transparency end-to-end. It seems like an ‘inducing to error’ sort of approach. I know it’s not intentional - or that’s what I hope at least, - but the lack of clarity hurts.

To be quite frank, your comment made me realize the current usage-based/MAX pricing is completely ‘hope for the best’ pricing, lol.

because I cannot understand how much I am going to pay;

It literally doesn’t matter, you are not the market for usage-based pricing.

Cursor, used correctly, is a 100x (10,000%) increase in productivity.

For that $100, you get MAGIC. If your lines of code earn $$$, and that dollar amount scales with quality of work, it doesn’t matter as the return on investment is so significantly outsized that nothing else compares.

My example. This specific $14.45 fast-forwarded my features by at-least 20 days of work otherwise. And yes, MAX is that good. Just dump your entire codebase, dump the git diffs on changes it made, ask it to do crazy unnecessary things, ask it to proof-read your code hypothesizing scenarios it mightbreak. MAX is that much better than than using the non-max mode that has to do 10 tool calls to fetch all the context.

Set a budget, experiment with it, you’ll be surprised how much bang for buck you get.

I tried the new MAX system, rather a simple prompt with 3 files attached, o4-mini MAX, it made around 30 tool calls just to edit around 10 lines of code - cost me 12 premium requests. I still am to figure out if I like this or not.

I don’t care about the price — what matters is what it actually does.
If you waste 10–15 requests just repeating the same thing to fix a bug, then the request limit is meaningless.
I just spent 50 requests trying to fix one issue :grinning_face_with_smiling_eyes: — and the solution?
Don’t use it.

I have to agree I switched from Cursor to windsurf because of the pricing, even though I think that Cursor is the better product. I’m just a hobby dev and the surprise billing is off-putting. I cancelled my subscription and I’m kind of scared to use my remaining “free” requests because I’m not sure how free they will be.

After a lot of trial and error I have figured out how it works. It’s based off the model calls as an agent. The fast requests are every time you click ask. 2 fast requests per ask on models like Sonnet 3.7. When you run out of fast requests you can continue to use the models for free, but each ask comes with a warning, of increasing length, that you’re out of fast requests, and to turn on premium model pricing. At first the delay isn’t much, but the more you use it the slower it gets. Eventually it does become unbearable. You pay pay for requests at 4 cents per request (double for Sonnet) is what it costs to turn off the delay. The MAX models get expensive. They are 5 cents per tool use plus the request for the ask. A wrong prompt and you’ll easily hit their 25 tool call warning. A quick burn of $1.25. Once I figured it out it did become easier and more predictable. If you are out of fast requests and you use Auto rather than Agent it uses more of the cheap/free models so it stays pretty quick without incurring extra cost.