The Decision Framework
Sometimes things get messy. Code gets tangled, features conflict, or you realize you want something completely different. Knowing when to push through vs. start fresh is a critical skill.
Keep Iterating When...
- ✓The core works, you're just refining — Basic functionality is there, you're adding polish
- ✓You have meaningful progress — 50%+ of what you want is working
- ✓The issue is isolated — One specific thing is broken, rest is fine
- ✓You understand what's wrong — You can describe the problem clearly
Start Fresh When...
- ✗The foundation is wrong — You chose the wrong framework or approach
- ✗Requirements changed drastically — You want something fundamentally different
- ✗Too many intertwined bugs — Fixing one thing breaks another
- ✗You've been stuck for 30+ minutes — Time to try a different approach
- ✗Claude seems confused — Responses are inconsistent or contradictory
The "Soft Restart"
Sometimes you don't need to delete everything — you can start a fresh Claude session while keeping your good code:
- 1. Save the files that are working well
- 2. Note what you like about the current implementation
- 3. Exit Claude Code (type
/exit) - 4. Start a new Claude Code session
- 5. Explain what you're building with fresh context
- 6. Ask Claude to incorporate the good parts from existing files
The Clean Slate
When you need to truly start over:
$ mkdir my-project-v2
$ cd my-project-v2
$ claude
Starting in a new folder gives you a completely clean slate with no baggage.
💡 The PM Mindset
Think of each attempt as a sprint. Sometimes you learn more from a failed sprint than a successful one. The knowledge of what didn't work makes version 2 much better.