Cursor has recently become more damaging than it is useful

I’m writing this, not as a list of complaints for the sake of complaining, but in the hope that someone will either confirm that they are having the same issues, or explain to me if I am doing something wrong…

Context: I am an amateur (but competent) coder, and have been working on a personal project in Next JS for a few hours most evenings for the past 6 months. Up until I signed up for Cursor Pro at beginning of September, I had been ‘hand-coding’ (as I have done for decades), and more recently for a couple of months had been using Claude 3.5 Sonnet to copy and paste coding solutions, which was working very well.

For several weeks I had found Cursor Pro to be astonishingly good and a massive time saver, cutting out the copying and pasting from Claude AI. I have been astonished at how good Cursor has been, and it has made some of the inevitable drudgery of coding very enjoyable.

However, over the past 3 or 4 days I have found that Cursor completions are less than useful; it has got to the point where Cursor is creating more problems than solutions.

The simplest of requests is either failing completely (trashing code, removing functionality, breaking imports), implementing features that were explicitly excluded in the prompt, or code suggestions are made in Composer without an option to ‘Apply’ the changes.

Example 1: “Add two buttons to the ‘Edit’ component; ‘Apply’ & ‘Cancel’ (bottom-right of the component). Both buttons should write the action to the console log and hide the component.”

Previously, this would have done exactly what I expected, but Cursor completely removed the design of the existing component and replaced it with a ShadCN UI Dialog with the requested buttons. The project is using ShadCN UI, but I did not mention “Dialog” in the prompt, and there wasn’t a Dialog in the component.

Example 2: Cursor correctly created a ‘bare’ (no functionality other than a label) TestComponent according to a prompt. The only mistake Cursor made was to create a new folder for the component instead of creating it in the folder that was explicitly stated in the prompt (using @Folder). I moved the component into the required folder and advised Cursor where I had moved the component to, but Cursor has changed the import for the component to reference the original (now non-existent) folder on the following 6 completions despite me explicitly stating what the correct component location is and requesting that the import should not be changed in the last 5 of those prompts.

Example 3: “Add an ‘Edit’ button to the TestComponent. When clicked, the button should log the text ‘Edit’ to the console. Do not implement any additional functionality. Do not change any functionality other than as instructed in this prompt”.

Cursor attempted to implement complete and irrelevant ‘Edit’ functionality into other areas of the project, deleting / overwriting existing functionality and requiring me to revert changes to several other code files.

Example 4: Submitting any prompt results in code being generated in Composer, but no ‘Apply’ button. This happens frequently and has cost me perhaps 50-100 fast requests.

Example 5: Prompts for a simple feature such as adding a button without any functionality has removed almost half the existing functions and half the existing code from related components.

Example 6: On numerous occasions over the past few days, Cursor has been modifying code and, when reaching the final (approximately) 10 lines of code, stops updating and duplicates the whole code again. For example, Cursor is updating 200 lines of code, it reaches line 190, removes the last few lines (that have nothing to do with the prompted changes), and adds all 200 lines of code to the end, resulting in approximately 400 lines of code, half of which is duplicated.

In general, I am finding that cursor is now attempting to implement vastly overcomplicated solutions, ignoring extremely explicit prompt instructions, and frequently breaking code.

I would say that for perhaps 75% of last 100 or so prompts, Cursor has been more damaging and time-wasting than it has been useful.

Unless Cursor improves, my plan is to cancel my Cursor subscription in a week or so, renew my Claude AI subscription and return to copying and pasting from Claude AI to VS Code, which is very disappointing. Cursor has been amazing for a few weeks - a massive time-saver (and quite frankly, amazingly good and enjoyable), but now it is costing me time and becoming an unpleasant and very irritating experience.

Am I doing something wrong? Can anyone advise what I can do to improve the results I am getting from Cursor? Are others experiencing these issues?

[Edit: I have modified this post slightly to make it less of a rant (which was not my intention), and to clarify/add more examples of issues].

4 Likes

Claude AI changed drastically about 16 days ago. Has not been the same since. Good luck.

1 Like

While I don’t have as many examples as you off the top of my head, I can tell you that I’ve been struggling lately with the quality of responses in Cursor as well, mentioned it in my thread yesterday or the day before. But I’m new to coding with AI (just started my second month with Cursor) so it’s hard for me to know if this is normal or abnormal or if I just suck at interacting with models at this point.

Yesterday I had some issue in the project I was working on, and asked Cursor chat (sonnet) how I could resolve it. The response had me editing several files, adding a useEffect, etc. In actuality the solution to the problem required changing just one line of code. When I asked chat if it agreed with the solution or saw any problems with it, trying to get an idea of why it didn’t suggest the simplest thing in the first place, it was enthusiastic about it and recommended using it rather than its previous response.

I haven’t used Composer, only the sidebar Chat, so I can’t say anything about it yet. But anyway, yes, I’ve also been struggling a lot lately and feeling sometimes like I’m going in circles with chat and burning through requests unnecessarily due to the quality of responses. But being so new to this, I’m still trying to figure out if Cursor is the problem or if I’m the problem. :sweat_smile:

Same exact issue as well. Was doing great last week and suddenly this past few days have been beyond terrible.

We are talking about not able to make some extremely simple changes, mistakes after mistakes and applying… nothing.

I am not entirely convinced that it is a claude issue alone, since it is failing at updating files too, period.

It is really too bad, as cursor without those abilities has no commercial viability :frowning:

I’ve been lurking here at the forum considering whether to give cursor a try, so I’ve been using Claude Sonnet 3.5 in copy and paste mode for months, 8-16 hours a day.

I can tell you, without a doubt, that something changed with Claude. It has been forgetful, even after one response. It is lazier, it is dumber. It used to be sharp and helpful. Now it takes, reminder after reminder, to get tasks done, and they usually end in failure. Every once in a while, the old Claude makes an appearance, but only briefly. I haven’t yet found a pattern for that brief appearance, still looking.

Besides the obvious scientific truth of entropy, I believe they updated Claude 3.5 on or around the 6th of Sept., and it has, literally, been a clown :clown_face: show since then.

I still use Claude because it’s the only game in town. I tossed my ChatGPT subscription a while ago, because it was useless, in my opinion, for coding. I haven’t yet tried their “new” model yet. I’m going to wait to hear what other experiences coder’s have with it first. If anyone can make some suggestions for another workflow assistant (“AI”), please share. I haven’t yet found any, so it’s ol’ Claude for now.

Thanks

This thread is a good example of the different layers at play…

When something breaks all of a sudden, is it the fault of Cursor, Claude, other? Lots of black boxes at play and none of us know what is going on under the hoods.

Once we have something that “works”, it would be nice if we had the option of freezing versions but APIs and LLMs will often change without warning.

2 Likes

It would be nice to freeze an option that works, but developers jobs rely on breaking stuff, accidentally. :wink: I look forward to the day, if it ever comes, that we host our own LLM’s, economically, that actually work.

I’m experiencing the exact same issues when using the composer for simple C++ applications:

  • Files are created in incorrect directories
  • Code sections unrelated to the current edit are deleted or modified
  • Entire code sections are duplicated without reason
  • Code is generated in the chat dialog even when explicitly instructed to directly edit the file
  • Fully functional code sections are replaced with “Unchanged part of code” comments, seemingly out of laziness

I had already noticed these mistakes and added explicit instructions in the “Rules for AI” settings, but Cursor appears to completely ignore them. Even a simple rule like “write all code and comments in English, not in my native language” has no effect.

Moreover, it’s incredibly tedious to track and revert changes, as the Cursor assistant is incapable of precisely undoing a modification or even “reverting to a specific version of the file”. Overall, I find that verifying Cursor hasn’t broken anything with each commit is more time-consuming than manually copy-pasting code chunks.

I’m seriously considering switching back to vanilla Claude as well.

Here’s an update to my original post:

Cursor seems to have improved quite dramatically over the past couple of days (which was the weekend, so I had more opportunity to use it).

I am no-longer getting numerous errors introduced, and prompts are being followed much more closely. I think it’s back to the quality I was experiencing up to a few days ago (that is to say, the experience is now very good again).

For the last day or so, I haven’t had the issue of the ‘Apply’ button not being available, which is a relief; that was such a massive time-waster (and a waste of fast requests).

On a separate note I updated Cursor to the latest version (after I noticed the improvements to the code-quality), and I like the way that Composer is now pinned as a panel, the same as the Chat window. I find it much more natural; the floating window was frequently in the way.

I suppose that some issues are to be expected with an early version, but it is irritating to be paying for something and not to be able to use it.

For the time being, I am happy with the current state of things, and will continue my subscription, assuming the improved experience continues.

1 Like

yes, same! This didn’t start happening until the latest update. Is there a place we can go to downgrade? The update to 0.41.2 was fantastic. 0.41.3 started the issues for me