Writing Essay

AI · 2 min read

Claude Code's Strengths and Weaknesses in March 2025

Claude Code for hobby refactors, Cursor at work — two tools, two jobs, and where each one still breaks.

In this article3 sections

After using Claude Code for hobby projects and Cursor AI at work, I stopped treating them as substitutes. Cursor helps me ship inside the editor. Claude Code slows the conversation down enough that I think through the task and learn from the refactor.

Claude Code Makes Me Explain the Task

Claude Code finds bugs I miss — race conditions, security holes. Its refactoring turns messy code into clean structures while explaining every step. I’ve watched it restructure entire software engineering codebases and explain why each change matters. That feedback loop taught me more than the refactoring itself.

Test generation is where it saves the most time. It writes tests, fixes failures, and catches edge cases I skip. Git workflow runs through natural language: commits, PRs, branch management. No context switching.

Where It Breaks Down

Review niche APIs carefully Claude Code occasionally invents non-existent methods or libraries when working with niche technologies and sometimes generates partial code snippets that require additional prompting to complete.

You have to review everything. In my work, Cursor’s editor context reduced some of those mistakes. I did not measure a hallucination rate for either tool.

In these March 2025 sessions, Claude Code handled TypeScript syntax but missed constraints I expected it to catch. I still needed the compiler to check its edits. Complex architectural decisions also fall flat — it plans well for straightforward tasks but loses coherence on multi-system designs.

CLI vs IDE: Different Jobs

Cursor AI at work means less context-switching. It sees my open files, understands my project structure, and suggests inline. That makes it faster for shipping.

Claude Code on hobby projects means more exploration. The conversation format forces me to think through what I want before asking. Implementation takes longer, but I learn more in the process.

Was this useful?

What was missing?

Thanks for the feedback.