
Generated by the author with AI.
Two months ago, I thought I had perfected my AI coding workflow.
I posted a blog breaking down how I used Cursor and its AI agent features to build productivity apps faster than ever before. Developers resonated. But here I am again, because everything changed.
This isn’t just an update. This is a total replacement. I dropped Cursor’s AI tools almost entirely. And after using Claude Code for just one week, I don’t think I’m ever going back.
Why I Switched to Claude Code (And Stopped Using Cursor Agents)
I used Cursor religiously for over a year. It’s a powerful AI pair-programming experience. But after Claude Code’s pricing shift, I gave it a shot. And what I found blew me away:
- Claude Code lives in the terminal. No GUI. No editor. Just an agent that can drop into any repo and work.
- It solved complex bugs Cursor agents couldn’t.
- It generates more thoughtful, higher-quality solutions.
Cursor still runs in my dev environment, but only as a basic code editor now. All AI work? That’s Claude Code.
Getting Started with Claude Code
Before diving into the workflow, here’s how simple it is to set up Claude Code:
- Install via NPM:
npm install -g @anthropic-ai/claude-code
2. Authenticate (on first run):
claude
Follow the prompt to log into your Anthropic account (Pro or Max plan required).
3. You’re ready to go. Now you can run the claude command in any terminal, in any codebase, and just start chatting with it:
claude
From there, ask it questions, request features, or give it tasks like:
> add a login form using React> fix the bug in UserController
Now, let’s get into the actual workflow I use every day.
My Claude Code Workflow:
Here’s exactly how I work with Claude Code to ship features, debug issues, and build complex systems faster than ever.
1. Start in Plan Mode (Always)
Claude Code has a special mode called plan mode. Activate it with Shift + Tab inside the terminal interface.

Why it matters: Plan mode doesn’t touch your files. It just thinks.
When you submit a request — like “Add user authentication to this project”, Claude won’t start writing code right away. Instead, it outlines a comprehensive plan:
- What files it will modify
- The logic it intends to add or delete
- Potential edge cases or limitations
How I use it:
- I always begin in plan mode
- Review the plan line-by-line
- Give it a go/no-go decision based on clarity and scope
- Ask clarifying questions if anything feels off
This one habit alone has prevented dozens of unnecessary file changes and costly bugs. It’s like a dry run for your request.
2. Generate and Maintain a claude.md File
Think of claude.md as the operating manual Claude follows while working in your repo.
Use the /init command and it will automatically generate this file. But don’t stop there:
What I include in mine:
- Frameworks used (e.g. “This is a Next.js project”)
- Styling rules (e.g. “Use Tailwind utility classes only”)
- Naming conventions (e.g. “All components must use kebab-case”)
- Architectural notes (e.g. “State management handled via Redux”)
You can also add to it conversationally:
“Hey Claude, remember that we never mutate props directly in React.”
It will update the file on its own. This is way more reliable than ad-hoc reminders.
3. Use Git as Your Checkpoint System
Claude Code doesn’t offer a restore feature like Cursor.
My workaround:
- Commit constantly
- Use descriptive commit messages
- Treat commits like time-stamped checkpoints
Before allowing Claude to execute a plan, I make a commit:
$ git commit -am "Pre-Claude change: added placeholder login logic"
Then if Claude’s change introduces regressions or breaks unrelated parts of the codebase:
$ git reset --hard HEAD~1
No risk. No stress. And yes — it saved me at least 5 times in one week.
4. Feed It Screenshots (Seriously)
You can drag & drop screenshots into the Claude terminal interface.
Use cases I’ve tested:
- Console error messages (e.g. “Uncaught TypeError”)
- Web app UI bugs (e.g. layout breaks)
- Design handoffs (e.g. Figma previews, mockups)
Claude parses the image and incorporates that context into its response, often better than I expect. It’s basically doing visual debugging and frontend development off of JPEGs.
5. Drag and Drop Entire Folders for Context
Want to supercharge Claude’s understanding of your stack? Just drag in another codebase.
Real example:
- I was working on the web app front end
- I dragged in the
backend/folder from another repo - Asked Claude: “Use this to understand the API endpoints available, don’t modify it.”
Claude parsed the whole thing. Later, it used that knowledge to:
- Build more accurate API integration logic
- Avoid asking redundant questions
- Even warn me when a backend method didn’t exist
Important: It won’t modify the external folder unless you explicitly say so.
6. Use URLs Like Bookmarks, It Can Browse
Claude Code has built-in web browsing capabilities. Paste a URL to official documentation, and it will read and cite from it.
But here’s the wild part:
- You don’t even need to paste links.
- You can just say: “Use the latest Notion API v2.4.”
- Claude goes and fetches the relevant docs, reads them, and executes accordingly
This has completely eliminated my need to babysit it through external documentation.
7. Use Sub-Agents for Massive Tasks
Claude can fork itself. Literally.
If you’re running a giant task — like porting an iOS app to Android — you can say:
“Break this up into subtasks and spin up sub-agents to handle them in parallel.”
And it will.
Use cases I’ve tested:
- UI migration + business logic separation
- Component-by-component translation between frameworks
- Background optimization while I do something else
The first time I tried this, it spun up 10 agents concurrently. A task that should’ve taken 60+ minutes? Done in under 15.
8. Ask It to QA Its Own Work
After every major change, I ask Claude:
“Double-check everything. What might this have broken?”
It often:
- Detects dependency conflicts
- Warns about cascading failures
- Suggests edge-case handling (like empty state fallbacks)
This step catches the 5% that even senior devs can overlook.
9. Review the Output Like a Real PR
This step is critical.
Claude Code is so good that you’ll be tempted to just trust it. Don’t.
I treat it like a human teammate:
- Read every modified file
- Run unit tests
- Use linters + TypeScript to catch structural issues
- Compare diffs against original functionality
Even when it’s right, it’s good to know why.
So Why Is Claude Code Better?
Cursor uses the same models (Sonnet 4, Opus).
So what gives?
Here’s my hypothesis:
- Cursor aggressively compresses context to save tokens
- Claude Code does not, it maximizes context and quality
- Claude Code loses money on heavy users like me
Someone even built a script to measure token usage. In one week, I used $300 worth of API tokens, for $20.
Claude Code is probably running at a loss to win devs.
Will this last? Probably not. But for now, it’s an insane value.
The Catch (Because of Course There’s One)
Claude Code isn’t perfect.
- $200/month is steep if you’re not a professional dev
- No built-in checkpointing (manual Git commits only)
- Slow execution times on big tasks (30+ mins sometimes)
But if you make money from software? The ROI is ridiculous.
Who Should Use This
Use Claude Code if:
- You build apps full-time
- You care about speed and quality
- You can afford $200/mo for a 10x boost
Stick with Cursor if:
- You’re a hobbyist
- You’re just learning
- You need a cheaper (still great) tool
Cursor is still excellent. But for now? Claude Code is in a different league.
A message from our Founder
Hey, Sunil here. I wanted to take a moment to thank you for reading until the end and for being a part of this community.
Did you know that our team run these publications as a volunteer effort to over 3.5m monthly readers? We don’t receive any funding, we do this to support the community. ❤️
If you want to show some love, please take a moment to follow me on LinkedIn, TikTok, Instagram. You can also subscribe to our weekly newsletter.