Yes, formatting is a pain. I’m too lazy to type it myself. It turned out to be so inefficient compared to what I can dictate into my own tool: OpenAI transcribes everything, then applies the formatting, and I just paste the text. Beautiful!
Now I love dictating by voice instead of typing. It used to seem that typing was so easy—so “easy”—and thanks to ten-finger typing everything happened very quickly. But compared to what you can rattle off by voice, it’s like night and day.
And those dashes the transcription adds, of course—they look completely out of place.
Maybe it helps. I feel there is nothing a deployment could really break that 24 hours actively watching and hot patching couldn't fix. One day painful monitoring, but a big problem less :)
Reading all these glowing reviews of Claude Code, I still get the feeling that either everyone’s been paid off or it’s just the die-hard fans of terminal windows and editors like Emacs and Vim. Using the terminal is right up their alley—it’s in their DNA.
Every time I read comments saying Claude Code is far better than Cursor, I fire it up, pay for a subscription, and run it on a large, complex TypeScript codebase. First, the whole process takes a hell of a lot of time. Second, the learning curve is steep: you have to work through the terminal and type commands.
And the outcome is exactly the same as with the Claude that’s built into Cursor—only slower, less clear, and the generated code is harder to review afterward. I don’t know… At this point my only impression is that all those influencers in the comments are either sponsored, or they’ve already shelled out their $200 and are now defending their choice. Or they simply haven’t used Cursor enough to figure out how to get the most out of it.
I still can’t see any real advantage to Claude Code, other than supposedly higher limits. I don’t get it. I’ve already paid for Claude Code, and I’m also paying for Cursor Pro, which is another $200, but I’m more productive with Cursor so far.
I’ve been programming for 18 years, write a ton of code every single day, and I can say Cursor gives me more. I switch between Gemini 2.5 Pro—when I need to handle tasks with a big, long context—and Claude 4.0 for routine stuff.
So no one has convinced me yet, and I haven’t seen any other benefit. Maybe later… I don’t know.
I think it’s because a lot of people deeply misunderstand what the hard parts of software development actually are. Most of the time, programs won’t involve novel or complicated algorithms or whatnot. It’s mostly just gluing ideas together. But that all comes after the specification, design, architecture, planning, etc.
I think it can also be deceptive the same way it can be in basically any trade: it’s easy for the job to get “done” and work. It’s hard to do it properly in a way that it has a lasting durability. With A.I. we can spit out these programs that work and look done. And for prototypes or throwaways and such, that’s probably wonderful! But that’s not going to fly if you’re building a house to spec for people who are going to live in it for 30 years.
Yeah, writing code has been near trivial since I started working 12 years ago. Used Intellij since 2012. The difficult part was always reading old code and figure out the boundaries where backward comparibility breaks and figure out how to execute a rollout safely.
>it’s easy for the job to get “done” and work. It’s hard to do it properly in a way that it has a lasting durability. With A.I. we can spit out these programs that work and look done. And for prototypes or throwaways and such, that’s probably wonderful! But that’s not going to fly if you’re building a house to spec for people who are going to live in it for 30 years.
Let’s be honest, that’s what most companies pay good salaries for most software developers for.
When staring at a new job or project, do you more find yourself praising the architecture and quality? Or wondering how it got to this point?
Moving fast isn’t necessarily always the wrong choice. Often it’s the right choice… for a time…
Maybe AI will disrupt the rush to market phase. Maybe that makes complete sense, tbh. But there’s a whole realm of sober engineering that still needs to be done properly.
I used to feel similarly. But recently started using Claude Code and it does feel a lot better than Cursor for me
I'm not sure why. However, Claude does seem to know better where things are and knows not to make unnecessary changes. I still need to guide it and tell it to do things differently some times, but it feels like it's a lot more effective
Personally, I also like that usually it just presents to me only one change/file at a time, so it's easier for me to review. Cursor might open several files at once, each with a tons of changes, which makes it a lot harder for me to understand quickly
Btw, I use Claude Code in a terminal pane inside VSCode, with the extension. So Claude does open a file tab with proposed changes
> Personally, I also like that usually it just presents to me only one change/file at a time, so it's easier for me to review
This is interesting. I haven't used Cursor, but one of my frustrations with Claude Code is that some of the individual changes it asks me to approve are too small for me to make a decision. There are cases where I almost denied a change initially, then realized Claude's approach made sense once I saw the full change set. Conversely, there are cases where I definitely should have stopped Claude earlier.
It doesn't help that Claude usually describes its changes after it has made the full series, instead of before.
...really, what I'd like is an easy way to go back in time, wherein going back to an earlier point in the conversation also reverted the state of the code. I can and do simulate this with git to some extent, but I'd prefer it as a layer on top of git. I want to use git to track other things.
> some of the individual changes it asks me to approve are too small for me to make a decision. There are cases where I almost denied a change initially, then realized Claude's approach made sense once I saw the full change set
Yes, I've adapted to just review quickly, then if it makes sense as part of the task, let it keep going until it's done with the whole thing. Most of the times, by the end it does the right thing
I love that it doesn't auto-commit everything, ala aider, so it's pretty painless to undo stuff
I also keep a TODO.md file with a plan of everything I want to do for the current ticket/PR. I tell CC to keep track of things there. CC takes stuff from there, breaks it down into its own subset of tasks and when finished I tell it to update the TODO.md with the progress. I also tell it to stage files and create commits
The way I use it, it feels like I'm still programming, but I don't need to write code or run commands by myself, nor get stuck googling stuff up. I can just tell CC to do almost anything for me. It takes away the tediousness of what I want to accomplish
> I love that it doesn't auto-commit everything, ala aider, so it's pretty painless to undo stuff.
Yeah, I'm definitely glad it doesn't commit for me. The main issue I have is that I'm never sure how granular to make my commits. Sometimes I make them very granular because I'm experimenting with Claude and I want to be able to revert to any point in the conversation—but now I have to write a message each time to keep track of which is which. Conversely, when I don't make the commits as granular I loose the ability to roll back, and sometimes regret it.
Also, sometimes Claude gets a bit too smart! Let's say I decide I want Claude to try again with a slightly different prompt. I save my current changes in a branch, roll back, to the previous state, and ask Claude to try again. Sometimes Claude will say "I see this is already implemented in the XX branch. Let me continue to build on that implementation."
Yeah, sometimes I love it when it checks the git log and properly finds reference code for what I’m trying to implement, but other times I really want it to just do it differently and can get annoying
Other times I’ll tell it about an issue that I want to solve and it will come up with a solution I don’t want. I’ll tell it to take a different approach and it will listen for a bit, then all of a sudden just try to go back to its first approach and I need to steer it again, multiple times even
> but now I have to write a message each time to keep track of which is which
I ask it to write my commits. Usually it’s also pretty smart about which files to include based on the most recently addressed tasks. I have it run git add and git commit under my supervision
A repo Im working on, has some rather annoying hooks that check linting when committing (and aggressively modify the files to fix formatting). If I forget to manually check before committing, then I end up with a “wrong” commit containing the incorrectly formatted files, and a bunch of uncommitted files with the formatting changes. CC most of the times will see the error messages, and automatically propose the proper commands to run for undoing or amending the commit to include the formatting changes
If you like Claude Code but either (1) prefer an agent that doesn't ask for review on each file edit or (2) miss the IDE for things like reviewing diffs, I'd humbly submit you try out Amp: https://ampcode.com. It has both a CLI and VS Code extension, and we built it from the ground up for agentic coding, so no asking for permission on each edit, a first-class editor extension (personally I spend more and more time reviewing diffs and VS Code's diff view is great), and it employs subagents for codebase search and extended thinking (using a combo of Sonnet and o3) to maximize use of the context window.
I rarely had Cursor do unwanted changes for me. Maybe this is about prompting? I am very particular with what I want and I try to be as verbose as I can and explain the context as well plus hint which files I believe it should put attention to.
How can you prove you’re not a bot?
I get the feeling I’ve seen a comment like this somewhere before.
Tell us what you do—how, under what conditions, and in which programming languages. What exactly makes it better? Does it just search for files? Well, that’s hardly objective.
So far the impression is… well, you say it only seems better. But you won’t get far with that kind of reasoning.
Objectively, it now seems to me that Claude the cat is better, because everyone around says it’s better. Yet no one has actually explained why. So the hype is inflated out of thin air, and there are no objective reasons for it.
From what I see, you have to get your claude.md instructions right, and most of it is using planning mode. The CLI is exactly how you interact with it. It's less vibe code and what I'd call supervisory code.
It's less about writing code, more about building an engine that codes. It's hands off but unlike Cursor, it's not as eyes-off. You do observe and interrupt it. It is great for full on TDF - it figures out the feature, writes the test for the feature, fails the test, rewrites the code to pass. But at some point, you realize you got the instructions wrong and because you're outside the loop, you have to interrupt it.
I think it's a natural progression, but it's not for everyone. The people who hated not being able to write functions will hate claude code even more. But some people love writing their engines.
I'm just full of joy building again. It's hard being a manager, kids, jaded with the front end framework dance. Now I can just build build build and get my ideas out to users faster than they can decide.
What people haven't realised yet is that Cursor isn't a product, it's a collection of features that every product is feverishly working to add.
The key take away here is that save for the deep integration, there is a strategy for working with a best in class agent solution agnostic of tooling.
These learnings will eventually coalesce into "best practices" that people will apply using the editor or IDE of their choice and all these vscode forks will have died off.
Arguably this is why I'm still long on GitHub Copilot. Love them or hate them Microsoft/GitHub are proven winners in feature parity work and have such a big moat today. Why use a VS Code fork when you can "use the real thing"?
Microsoft/GitHub has even signaled confidence that they can compete feature by feature with the forks by even open sourcing much of the Copilot integration in VS Code.
Aesthetically, I like VS Code Copilot/Copilot Chat UIs/UX for the most part, certainly better than I like Claude Code and more than I like Cursor, too.
I used it for 2 weeks with the cheap $17/mo sub. It is equal parts amazing, and frustrating.
I ended up with 8k lines of rust and 12k lines of markdown. I think those markdown designs and explicit tasks were required the same way unit tests with a test harness are required to make the human-tool interaction work.
However, I’m not sure if the ‘magic’ is VC-subsidy or something else.
It did make rust (a language i do not know) feel like a scripting language. … the github repo is ‘knowseams’.
Expecting everyone to change their editor/ide is a big hurdle, and cursor doesn't support everything well like iOS development. A tool that works independently from your editor of choice is much easier to adopt. It's also much easier to script and automate.
Each use case, which for many is a project-by-project thing, likely determines the right tool for the job.
For new projects, I find Claude Code extremely helpful, as I start out with a business document, a top-level requirements document, and go from there. In the end (and with not a lot of work or time spent) I have a README, implementation plan, high-level architecture, milestones, and oftentimes a swagger spec, pipeline setup and a test harness.
IMHO pointing CC at a folder of a big typescript project is going to waste a ton of compute and tokens, for minimal value. That is not a good use of this tool. I also have a pretty strong opinion that a large, complex typescript codebase is a bad idea for humans too.
Point CC at a python or go repo and it is a whole 'nother experience. Also, starting out is where CC really shines as stated above.
For a big complex typescript repo I would want very specific, targeted help as opposed to agentic big-picture stuff. But that also minimizes the very reason I'd be reaching for help in the first place.
I’m very effective with JetBrains IDEs, VSCode is not in the same league. I’m very effective with a terminal. Claude Code is just enough of a bridge between models and my IDE to enhance my workflow without ruining my IDE. That’s it. I don’t pay $200.
Some of it is taste. Personally, I dislike VSCode and its descendants; it feels bloated and like I’m always being advertised to inside the product. I want my editor to disappear from thought, and Sublime does this for me.
A lot of people don't realize that you can completely change the vscode UI. All the side bars in particular - just get rid of them. You're left with a blank screen on which syntax-highlighted code appears with LSP and either the command palette or if you want to be more vim/emacs-y then basically every operation is key-bindable.
I assume that on subsequent runs, it's less offensive, but every time I start a blank VSCode setup, I find myself repulsed by a series of pop-ups, persistent tooltips, extra tabs, etc., that are at best uninteresting and unwarranted. It definitely has strong Windows-y my-computing-environment-is-an-obstacle-course vibe.
The key to productivity with these tools (as with most things) is a tight feedback loop.
Cursor has an amazing tab completion model. It uses a bunch of heuristics to try to understand what you're doing and accelerate it. It's a bit like a very advanced macro engine, except I don't have to twist my brain into a pretzel trying to program my editor - it just works, and when it doesn't I press Esc, which takes about half a second. Or I reach for the agentic mode, where the iteration cycle is more like 30 seconds to a minute.
With the fully agentic editors, it takes more like 15 to 30 minutes, and now it's a full on interruption in my flow. Reviewing the agent's output is a chore. It takes so much more mental bandwidth than the quick accept/reject cycle in the editor. And I have to choose between giving it network access (huge security hazard) or keeping it offline (crippling it in most codebases).
I find that for throwaway codebases where I don't care about maintenance/security/reliability, I can put up with this. It's also incredibly useful when working with a language or framework that I don't fully understand (but the model understands better). But for most of my work it produces poor results and ends up being a net negative for productivity - for now.
I'm sure this will improve, but for now I consistently get better results in Cursor.
And so you don’t think I just dropped in to try it out: no, I’ve been using Cursor every day for many months. I set up the rules very precisely, make maps, write instructions and constraints so the LLM understands how to work with the current codebase—where to find things, what to do, what not to do, what things should look like. I try to write as concisely as possible so everything fits in the context window.
I have a monorepo, so different instructions and rules live in different corners of it, which I manually add as needed. Doing all this with Claude is hard: it kind of works, but it’s a kludge. It’s much easier to manage through the UI. As the saying goes, it’s better to see something once than to remember it ten times, type a command, and configure it.
I can say the same about Vim and Emacs users. No one has yet proven to me they can code and navigate faster than an ordinary programmer using a trackpad or a mouse and keyboard. It’s purely a matter of taste. I’ve noticed that people who love those tools are just bored at work and want to entertain their brains. That’s neither good nor bad, but it doesn’t give a real boost.
By the way, there’s a study (a bit old, admittedly) showing that working with an LLM still doesn’t provide a massive speed-up in programming. Yes, it spits out code quickly, but assembling a finished result takes much longer: you have to review, polish, start over, throw things out, start again. It’s not that simple.
Speaking of Claude, he’s a real master at shitting in the code. At the speed of sound he generates a ton of unnecessary code even when you ask him not to. You ask for something minimalist, nothing extra—he still slaps on a pile of code with useless tests that outsmart themselves and don’t work.
That’s the downside. Overall, it’s easier to program when you just say what to do instead of sitting there straining your own brain. But even then it’s not simple. If you yourself haven’t figured out very carefully what you’re doing, you’ll end up with crap. I almost always throw away what I wrote with an LLM when I was tired. I don’t think there’s ever been an exception.
The only way to write something decent is to dig in thoroughly: draw diagrams, write everything out, and only then tell the LLM exactly what to do. Then double-check, make sure it didn’t write anything extra, delete the excess. And only like that, in small chunks. The “make me a feature, I pressed a button and walked away” mode doesn’t work if the task is even slightly complex.
Yeah, I got carried away—had to let it out. I have a lot to say about LLMs and programming with them, and not just about Cursor and Claude. The tools completely upended the way we program...
I remember a few projects before all the AI where I would setup templates, little code generators, patterns to follow. Just make it really easy to do the right things. Was so easy to get things done. Was a small team, like minded, easy to row in the same direction. Your post reminded me of that.
I too notice this about Claude, I've written commands, massaged Claude.md, even hooks. Given it very precise feature guides. I see the same issues you do. Feels like Claude has a lazy lever built in to it.
I play GPT O3 off it constantly, it takes the spec, a repomix slice of the Claude work and gives a new gap.md for Claude to pursue. Rinse and repeat. It works but your cursor flow seems better.
My highest velocity was about 1.6 fib complexity points a day over thirty years, now it's 4.3 with Claude the last three weeks which is nuts. I'm a total hack, I think I could get it up to nine if I was a bit more organized. Probably won't have to, just wait for the next iteration of the Claude models.
Yeah, accurately since 2008. Before that was just a guess but it wasn't at all fast. I've worked a lot of places but always insisted on story points based on estimated dev complexity.
My biggest piece of starting advice would be use it for exploration not generation. It can be great for understanding code bases and looking at git history.
Context is key, so it is also really helpful having a CLAUDE.md file; the /init command can create one for you.
If you are going to use it for generation (writing code); plan mode is a must. Hit shift-tab twice.
Finally; I'm mostly using the claude 4 sonnet model, but make sure to tell it to "ultrathink" (use those words); this means it can use more thinking tokens.
I think you need to be a bit more explicit in your usage. I use Claude Code as the plugin in Cursor, to me the marriage of all the great, tastes great, less filling. You see all the changes as you normally would in VSCode / Cursor, but the Claude Code command line UI is absolutely bonkers better than the Cursor native one. They really have it dialed in beautifully in my opinion.
I used Cursor daily for about six months before switching to CC and it took awhile. TUI is not my first choice. But their tools and prompts make it work fare more coherently, and I've had far fewer train wrecks in my code since fully switching a few weeks ago. The IDE extension helps.
Cursor and code completion is such a time saver for me. Having the next few lines guessed feels magic.
Having an agent completely design/write a feature still feels weird. I like everything being hand written, even if I actually just tab completed and edited it slightly
So far my feeling is that cursor is a bit better for working on existing large codebases, whereas claude does a good job planning and building greenfield projects that require a lot of code.
That does net out to meaning that Cursor gets used way more often, atm.
I am a software developer with over 25 years of professional experience and have been working with coding agents for quite some time starting with AutoGPT and now using Claude Code almost 24/7 orchestrated via Task Master to automatically spin up new instances working on a multi layer project.
You are absolutely right. A large portion are influencers (I would estimate around 95% of those you see on YouTube and forums) that are full of hype. I think most are not affiliated with Anthropic or any vendor, they are just trying to sell a course, ebook or some "get rich with AI" scheme.
What I appreciate about Claude Code:
- Since it is a terminal/CLI tool it can be run headlessly from cron jobs or scripts. This makes it easy to automate.
- I appreciate the predictable pricing model. A flat monthly fee gives me access to Claude Sonnet and Opus 4 in five-hour sessions each with its own usage limit that resets at the start of a new session. There is a fair use policy of around 50 sessions per month, but I haven’t hit that yet. I deliberately run only one instance at a time as I prefer to use it responsibly unlike some of the "vibe" influencers who seem to push it to the limit.
That's it. Despite being a CLI based tool, Claude Code is remarkably out of the box for what it offers.
That said, no coding agent I have encountered can fully ingest a large inconsistent legacy codebase especially one with mixed architectures that accumulated over years. This limitation is mainly due to context size constraints, but I expect this to improve as context windows grow.
i hate terminal stuff and refuse to write code in terminals, and i still think claude code has better results than cursor IDE with sonnet 4. it might be a mixture of it mixing in opus (which i never really used with cursor) or it might be that there's a bigger context window or its agentic process is somewhat different. im not entirely sure. but i feel like it gets things right more consistently and introduces fewer issues. it might also be the use of CLAUDE.md which i think has helped a ton in consistently making sure its following best practices for my project
Claude Code + Cursor is my setup. Claude Code is my workhorse that I use for most tasks.
For small tiny quick changes, I use Cursor in auto.
For architecture consulting I use Cursor chat with Grok 4.
Claude Code is much better at banging out features than Cursor’s Claude. And Claude itself is better than other models as a coding workhorse.
All that said: while we may all code, we are building wildly different things that have much different specific problems to solve so it doesn’t surprise me that there isn’t a universal setup that works best for everybody.
Yes 2.5 pro and o3. I’ve been very impressed with Grok 4 so far for this purpose. It’s very thorough and accurate. Granted my time with grok 4 is limited to a few days but I’ve already given it challenging problems and the results were exceptional.
Die hard fans. I tried so many Claude models. Some are ok. Really. Surprisingly some versions of Sonnet are better than Opus. So the latest isn't always the greatest. Models are specialized sometimes (intentionally designed that way or not).
I think people just need to try a bunch to be honest. I think that we will get to a point (or are already there) where some models just resonate better with you and your communication (prompt) style.
But after using a bunch...I have to say that Gemini 2.5 Pro is consistently the best one I've used yet. It's pricey, but it just works.
I'm still looking for a good local model, but it's just going to be a while until anything local can match Gemini. It will eventually I think, but it'll take some time.
I probably won't be using Claude Code, but I'm glad it works for some folks.
IMO: The people who are obsessed with Claude Code are the people who weren't really engineers to begin with. For them, any level of productivity is "extremely impressive" and "going to kill engineering jobs" because they never really understood what software engineers do, and had no sense of what the demarcations on the scale of productivity even should be.
The reason why they like Claude Code specifically over Cursor isn't because they were fans of terminal windows; on the contrary, its because CC is simpler. Cursor is complicated, and its interface communicates to the user that eventually you might be grabbing the wheel. Of course, experienced engineers want to grab the wheel; working together with the AI toward some goal. But these CC-stans don't. All that extra stuff in the UI scares them, because they wouldn't know what to do with it if they had to do something with it.
Its this particular kind of person that's also all over /r/ClaudeAI or /r/Cursor complaining about rate limits. If you've ever used these products, you'd realize very quickly: The only way you're hitting rate limits so quickly on the paid plans is if the only code that's being outputted is from the AI, nonstop, for eight hours a day, using only the most expensive and intelligent models. The only people who do this are the people who have no brain of their own to contribute to the process. Most CC/Cursor users don't hit rate limits, because they're working with the AI, like a tool, not managing it like a direct report.
I dont think you should apologize if the article reflects ideas youve synthesized yourself. Has using LLMs to translate your thinking improved your use of the language?
I don't consider myself a professional writer, but I want to share some useful information with others. LLMs assist me greatly in various areas. Translation is my top use, followed by solving complex tasks like setting up intricate infrastructure using Kubernetes, Google Cloud, Terraform, and CDKTF, all of which have incredibly extensive APIs.
This. Proprietary software tends to be very inflexible, often low quality, and difficult to integrate. Fighting with these often causes more work than just doing from scratch or adapting open source code.
Yea, it is a totally fan to work with this code after a responsible developer leaves a company. No types, no annotations, no abstractions, no migrations, just plain SQL.
I can't read if you're being snarky or if you are being earnest.
If snarky, is this based on something that actually happened to you? If so, I would love to hear how that actually went about, and what it is you are unable to grasp when things aren't bogged down by complexity?
If earnest, I'm glad more people prefer code that isn't littered with premature abstractions, redundant types, and useless comments expressing what can be more clearly read in the actual code.
Now I love dictating by voice instead of typing. It used to seem that typing was so easy—so “easy”—and thanks to ten-finger typing everything happened very quickly. But compared to what you can rattle off by voice, it’s like night and day.
And those dashes the transcription adds, of course—they look completely out of place.