When Andrej Karpathy called the future of programming “vibe coding,” he wasn’t joking. It was a reflection of a real shift already underway—one where the developer tells the machine what they want, and the machine figures out the syntax, the structure, the logic. The details become irrelevant. Adjust the sidebar padding? Tell Cursor. Rewrite a function in Rust? Tell Cursor. In this new era, code doesn’t need to be understood. It just needs to be shaped.
There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper…
— Andrej Karpathy (@karpathy) February 2, 2025
Cursor, an AI-native code editor developed by Anysphere, burst onto the scene in 2024. Built on top of VS Code and powered by GPT-class LLMs, Cursor wasn’t marketed as a Copilot. It was pitched as an autonomous co-developer. Engineering teams at OpenAI, Spotify, Uber, Instacart, and even Major League Baseball began quietly adopting it. The product delivered a fluid, almost eerie development experience, and it did it with a simple pitch: Don’t code harder—talk smarter.
Cursor made AI feel native to the development process. Not just a layer on top, but a full collaborator that could refactor, debug, and write code in context. In a market crowded with AI coding tools, Cursor stood out by turning the editor itself into the interface, conversation, not autocompletion, was the main event.
But as the product matured, a different story began to emerge, one not about innovation, but about silence. Cursor has become a case study in what happens when developer delight meets centralized control, pricing opacity, and a creeping sense of manipulation.
Cursor’s Max plan unlocks access to top-tier models: GPT-4.0, Claude 3.7 Sonnet, Gemini 2.5 Pro. But what that access actually includes is anyone’s guess. Cursor doesn’t publish a pricing matrix. It doesn’t explain how many tool calls are included, how those calls are priced, or what limitations come with each model. Users swipe their cards and hope for the best.
That opacity has forced developers—an audience not known for complacency—to reverse-engineer Cursor’s billing system using credit card statements. Many suspect that older, non-Max models have been quietly degraded to nudge users into upgrading. Others report promised features, like GPT-4’s 128k token context window, being mysteriously capped at 60k within Cursor. Claude 3.7 Sonnet, by contrast, supports a full 120k tokens. But there’s no explanation for the discrepancy. It simply exists.
Tool calls are another black box. These are automated function plugins that the AI uses to perform actions like reading files or executing commands. Every tool call costs money but users don’t control when they happen, can’t see how many are triggered, and have no option to turn them off. A single query could trigger a dozen tool calls, silently inflating the bill.
The real frustration isn’t the cost but the lack of control. Cursor’s users aren’t casual consumers. They’re engineers. The kind who track changelogs, run benchmarks, and dig into logs. Hiding basic operational details from them feels less like protecting users and more like disrespecting them.
Pricing isn’t the only point of tension. Cursor’s AI itself has started drawing boundaries in ways that feel increasingly paternalistic.
One example made waves on a developer forum when a user named ‘janswist’ shared an interaction with the assistant. He was building a simple racing game, and after 800 lines of generated code, he asked Cursor to keep going. The AI refused. Its reason? “Continuing this pattern of work can lead to dependency and reduced learning opportunities.”
Cursor, which marketed itself as a hands-off assistant that lets you just “talk to code,” had decided to become a teacher instead. Developers have reported similar inconsistency: one day the assistant eagerly restructures an entire project, the next day it lectures them on becoming a better engineer. The assistant shifts between helpful coworker and passive-aggressive senior dev, with no warning and no transparency.
And that’s the problem. Cursor hasn’t disclosed how these behaviors are tuned. Are there moral guardrails? Autonomy limits? Why is the AI allowed to refuse certain tasks?
Cursor isn’t alone in facing these dilemmas. Every AI-native product right now is wrestling with questions of user agency, friction, and monetization. But what makes Cursor’s case unique and more frustrating is how clearly it could do better.
It already has the product. It already has the audience. It’s winning the technical game. But it’s losing on communication.
Instead of clearly outlining changes, limitations, or new policies, Cursor has kept users guessing. Product updates happen quietly. Feature rollbacks are unannounced. Important details like token limits or tool call pricing are missing from the documentation. This creates a feedback loop of frustration and suspicion.
Nowhere is this clearer than with the Max plan. The marketing promises access to the best models. But what that access really includes is how many tokens, how many calls, how much compute is not spelled out. Cursor’s subscription page doesn’t distinguish between “Claude 3.7” and “Claude 3.7 Sonnet.” It doesn’t disclose context window caps. And it doesn’t tell users what they’re trading off between models.
Some developers now suspect that older models have been intentionally nerfed with slower responses, inconsistent outputs to make Max plans more appealing. While unconfirmed, there’s enough anecdotal evidence that the theory has gained traction. The timing, aligned with the Max plan’s rollout, hasn’t helped.
Cursor still works. It still offers one of the most seamless coding experiences available. And its impact on the developer workflow is undeniable. But it’s also become a case study in how quickly trust can erode when communication breaks down.
The fixes are clear. Start with transparency. Publish a real pricing matrix. Disclose context limits. Let users control or at least monitor tool calls. And if a model is being restricted for business reasons, say that and most engineers will understand.
Cursor doesn’t need to change its core product. It just needs to treat its users like what they are: developers, not customers. Technical peers, not revenue streams.