Significant drop in code quality after recent update

Hey everyone,

After the last Cursor update, I’ve noticed the code suggestions have gotten way worse. Before, it used to generate clean, well-structured code that followed good practices. Now the code feels really basic, sloppy, and sometimes just wrong.

For example:

  • It used to generate proper Laravel controllers, with form requests, policies, and clean separation. Now it just dumps everything into one messy controller.
  • Blade views used to use my project’s layouts and components properly, styled with Tailwind. Now it gives plain, ugly HTML that doesn’t fit the project at all.

It also feels like the AI just spits out the first idea it has without really thinking about the structure or reading the full context of the prompt.

Has anyone else noticed this? Is it a known issue or is there any fix for it? Right now it’s making it really hard to rely on Cursor for serious work.

Thanks.

1 Like

Hi, not sure it is Cursor’s fault, but same thing is happening here at my end. AI says “Yes you are right“ and repeats the same mistake over and over again. It’s probably the LLM and yesterday as it was announced there were outages and degradation of service. Hopefully today we will see a better performance.

Which model are you using?

Also happening with me. I’m not a programmer or educated in comp-sci and even I (as a weekend programmer) understand how utterly terrible the code outputs are. I use Claude 4 Sonnet w/ Thinking Enabled and its embarassing how bad it can get for simple tasks that I lay out specific instructions for.

Then you have your answer here

Wrong actually - Sonnet 3.5 is good. What they’re referring to is legitimately a common hallucination. You CANNOT trust an LLM to self-identify correctly. Not proof whatsoever.

1 Like

See my response here:

1 Like

Would you say that 3.5 is as good or better than 4 and that you would prompt them the same way to get the result you want?

@2jfs904judsw20600jik

It seems you haven’t grasped the actual issue. This isn’t about hallucination, but about Cursor intentionally making Sonnet 3.5 misidentify itself via a system prompt. Did you read through all the content in that thread?

Unless your definition of “hallucination” is “having its self-identity distorted by a non-existent system prompt from Cursor,” then your original point is moot.

Multiple verifications are making it clear: simple hallucination is not the root cause here.

And, for the record, I’m paying Cursor to use Sonnet 4, not Sonnet 3.5. And I believe many others are doing the same.

I also have the same issue sonnet 4 thinking can’t even implement basic button press functionality

Actually no, Claude 4 sonnet the last 2/3 days has been utterly atrocious in cursor, it has repeatedly broken a text editor attempting to implement code for basic functions, even when I have told it clearly where code goes, nothing else needs to change write this function and it proceeds to make massive sweeping changes or implement code that doesn’t function.

Even eslint has picked up on errors being made.

So Im trying Claude code cli sonnet 4, same instructions, it did exactly as requested. Exactly what I wanted, absolutely nothing more. And as a side benefit it didn’t didn’t throw up tab windows that don’t go away.

I’ve been feeling the same way. The quality has gone downhill so much compared to the start.

Hey, just wanted to confirm that nothing has changed under the hood here - the model you choose is always the one you get, and we haven’t changed anything regarding context windows in this update that should significantly impact the performance of the models!

If you see something obvious that you know should work, but doesn’t, please feel free to flag it with a (non-privacy mode) Request ID, so the team can take a look.

As Dean says above, this can often be attributed to either rules that have a negative effect on the output, or an overloaded context window!

I tested 4 times with one prompt (for create simple landing).

  • Claude 4 in Cursor
  • Claude 3.5 in Cursor
  • Auto mode
  • Claude 4 on Claude site

Claude 4 through the site.

Claude 4 Cursor.

Claude 3.5 Cursor.

Auto mode.

In my opinion Claude 4 is Claude 4. 3.5 make it worse and unusable.
And I’m surprised with auto, maybe it’s 3.7? (I know about dynamic model changing in auto)

#backoldpricebtn

1 Like

Then why this “Sonnet 4” totally skipping “thinking” in my case and spit out just anything, resulting in very basic code that deserves only to be trashed? Excessive context issue you’re promoting does not explain this at all. I know very well what Sonnet 4 is capable of, and it was not Sonnet 4 at all. Also, this “misidentification hallucination” issue - very specific and widespread hallucination, isn’t it?

Y’all should really just test Sonnet through the API to double check if you can’t believe, this is my chat with OpenRouter for Claude Sonnet 4 and it also says the same thing

I believe there were some issues with Sonnet 4 thinking, where Anthropic would return a response without thinking which we had to mitigate ourselves. I’ll check with the team on this, but I know it’s definitely still Sonnet 4 responding, and with the new pricing plan, you wouldn’t be getting penalized for this.

As @Jeremy has pointed out, even Sonnet 4 via the API has the same issue - this is by no means a Cursor-only issue!

Let’s stop calling it hallucination, that’s a lazy excuse. What’s actually happening is a silent fallback to Claude 3.5 Sonnet, likely due to capacity issues or internal outages. And the worst part? Users are being charged full usage-based rates as if they got Claude 4 Sonnet.

If Cursor wants to be taken seriously, it needs to stop hiding behind model labels and show real routing logs, fallback flags, or model hashes. Until then, this isn’t confusion, it’s a design flaw that costs users money.

1 Like

I’ve read it fully. IT IS NOT SONNET3.5 stop being dense.

Can you then explain why:

  1. It says its cutoff date is 3.5’s cutoff date
  2. It says it doesn’t know any version of that is past 3.5 ’s cutoff date
  3. Why there was a sharp drop in code quality when using Claude 4 Sonnet in Cursor, but the quality remains high when using it in Claude Code