How Cursor's pricing change threatened its UX
Cursor messed up. Their new pricing went into effect a few weeks ago. And it didn’t take long before people noticed. And they weren’t amused:
Any price change that’s not a discount will always be followed by allegations of greed, rug-pulling or deception. And that’s often true. Some companies raise prices just because they can.
This Cursor thing wouldn’t be worth writing about if the situation didn’t contain a healthy dose of “this time it’s different”.
Before we dive into what’s different, let’s explore what happened.
How Cursor messed up its pricing change
Cursor’s pricing has always been $20/month, mirroring the pricing of Claude, ChatGPT and others. For this, you got unlimited autocompletes and 500 requests.
A request was basically a prompt to Cursor’s AI features. In mid-June, Cursor moved from including requests to including a compute budget of $20 a month. Everything over that users had to pay as an overage.
Users almost universally disliked this because they suddenly had to worry not only about requests, but about how many tokens those requests would consume.
As an example, the request “put a blue button there” takes few tokens because the code is short and simple. The request “create an invite to team feature which hooks into our email API for invitations, gives invited org-level access and automatically unlocks the feature flag for team settings, oh and please make the invite button blue” takes a ton of tokens.
If users simplify their requests to save on compute, they get less value from Cursor while paying the same price. At the same time, Cursor shot itself in the foot by treating each request the same, which meant their margins fluctuated and they likely even lost money on smart users who maximized their requests.
To complicate margins even further, AI APIs have varying costs—and users typically prefer the more expensive reasoning models.
Cursor was stuck: They could either make pricing more complicated by distinguishing between simple and complex requests (and confuse users) or price directly to compute to protect their margins—which is what they did.
To run a good business and continue growing, Cursor needed to evolve their pricing. But they messed it up in two ways:
They didn’t communicate the changes well and users either ran into paywalls or incurred heavy overages.
Their new pricing made the user experience worse (while changing none of the interface or product)
Before we dive into this, I want to highlight that Cursor did apologize for missing the mark, offered refunds for unexpected overages and let existing users opt out of the new pricing. So rather than an allegation, read this as a post-mortem and lessons we can learn about pricing AI products.
Why Cursor’s pricing change wasn’t just greed
While the Twitter mob views rug pulls and greed everywhere, I don’t think this is true here. Of course, Cursor is optimizing to run a better business.
But most don’t understand the reality of building AI products. At Lago, we have a front seat to AI pricing and monetization and see things like these every day: Each bit of usage has a cost, so marginal costs make the 80-90% gross margins of pre-AI SaaS impossible.
It also means you might have 2 customers paying $10k a year, one of which earns you $8k in profit while the other earns you $2k. You need to accept some variance in margins, but I suspect Cursor’s model sometimes let those margins dip into the negative.
The “request” unit was great for users, but bad for Cursor. Because it helped UX.
How “request pricing” made for great UX (and why compute pricing doesn’t)
UX isn’t just about the hover animations, interface buttons or other visual aspects. It’s about the entirety of users engaging with your product. And pricing shapes that experience.
Requests are intuitive to users while compute isn’t. If you know that you’re not low on requests, you can get into flow and work well with Cursor. An abstract unit like compute costs is much less intuitive—especially because it’s composed of two other abstract metrics (tokens and model). Do you want to monitor this while working?
Because nobody maintains their compute costs, the new Cursor pricing either became a hidden bill (annoying) or “you have usage until you hit the paywall” (annoying).
A core thing we’ve learned is that consumption-based pricing (or pay-as-you-go pricing) makes sense when somebody gets paid to monitor it—i.e. site reliability engineers. But the closer somebody is to being an end user, the more it complicates usage.
Ultimately, users don’t want to overthink every single interaction. And they’d like to know.
How to communicate a pricing change
Cursor did publish their pricing changes on June 16th:
I don’t know whether an email was also sent, whether there were in-app notifications, etc.. But the most important part of any price change is to clarify to a user what’s changing for them. Cursor instead opened with an option for a higher-priced plan aimed at power users.
Instead, there should’ve been personalized communication that tells users exactly what’s changing and why. If Cursor explained that it’s simply not economical to treat every request the same, acceptance would’ve been higher!
So what will they do better next time?
Where will Cursor’s pricing go in the future?
While Cursor certainly learned something from this, there are deeper questions here. Because as soon as your price anchors to another company’s API costs, you’re a reseller.
Reselling isn’t a bad business model. And in some ways every SaaS company is a reseller.
But it also means Cursor needs to differentiate on UX and the interface to compete with model providers. OpenAI’s purchase of Windsurf, Google’s Gemini IDE and Anthropic’s release of Claude Code are signs that the model providers want a part of Cursor’s pie.
And that means Cursor is competing with its own vendors, who obviously have much higher margins on their own models.
This means Cursor needs to do one of three things:
Orchestrate models so well that the experience is much better than any model vendor’s coding app.
Win on distribution with a UX/collaboration experience no one else can win.
Bolster its margins by developing its own models.
CEO Michael Truell has stated that Cursor is already working on its own models. Besides, Cursor is already winning on distribution.
An early hint at the future of Cursor’s pricing is that “auto” requests are unlimited. Auto requests route the requests to the most appropriate models. I’m sure those optimize for Cursor’s margins by using its own models or the cheaper ones offered by model providers.
Cursor has a massive advantage: It knows what a highly valuable target market wants to build—and how they ship it. This is extremely valuable and could lead to cheaper development of a better, more specialized model to code.
And if Cursor can build the best model for code for much cheaper than anyone else, could they ship the first truly unlimited AI coding app?