Cursor or Claude Code for the old and incomplete codebase? How was my decision made
I have another project where there are three years of decisions made on layers, two refactors that never saw the light of day, and a misc directory that I dare not open. Last month I deliberately tried Cursor and Claude Code on it for two purposes.
For deciphering the mess, the terminal agent proved superior. It told me why a background task executed twice and tracked down the problem through five files without my even looking at any of them. For minor changes in user interface, the editor was superior since inline diffs allowed me to accept one line and reject the next.
So I currently use the agent for exploration and the editor for polishing, even though it is not easy to switch back and forth. In any case, both are bad at what the other does well.
Of course, this doesn't apply to everyone. I work on a Rails application with a single developer, while your mileage will vary if you work on a large monorepo or on a typed frontend.
What codebase characteristics or configuration led you to prefer one solution over the other? Have you seen a configuration where a single tool did both?
Replies
i like your point about using different tools for exploration and polishing. Sometimes trying to make one tool do everything creates more work than it saves.
@rahul_manjhi1 I’d lean toward the terminal agent when debugging because following the execution flow across files is essential. Inline diffs still feel safer to me for delicate UI changes.
The agent patched an old module and wrote a test that passed right away. Reverting the fix showed the test still passed, because it had tested the mock and not the failure. On legacy code, break the test first to see if it actually touches the bug.
feels like the split is less about the tool and more about whether you know what to change yet. on old code you mostly dont, so exploring is most of the work. one thing id try is having the terminal agent write a short notes file of what it traced before you jump to the editor, so the second session isnt starting blind. did the double running job fix stick or did it come back somewhere else
I was originally an infrastructure engineer, so I'm used to living in a terminal. I started out with iTerm2 on the Mac, but there were a few things I just couldn't get past, so I built my own. It's called Ultenix.
For previewing I use Firefox. You can set it to never keep cache, so I'm not loading old CSS or JavaScript while I'm developing.
For SaaS those two are all I need. Mac, iOS and Android apps work the same way, I just tell Claude Code what to do in the terminal through Ultenix.