This chapter walks you through the 11 most costly mistakes beginners make with Claude Code, and how to avoid them. Each one comes from a real experience. Reading time: 10 minutes.
Mistake 1, not creating a CLAUDE.md
The cost: every session is inconsistent. Claude uses different conventions, puts files anywhere, picks random colors, forgets the business rules.
The fix: create the CLAUDE.md at the very start of the project (see chapter 3). It's literally your number one investment, 30 minutes that save dozens.
Warning sign: if you catch yourself repeating "use the project palette" or "files go in src/components/", your CLAUDE.md is incomplete.
Mistake 2, asking for everything at once
The cost: "Build me a complete project management app with auth, dashboard, billing, analytics, and an AI assistant" equals guaranteed disaster. Claude will ship a superficial result, full of shortcuts, and impossible to maintain.
The fix: break it down into features, one at a time, with a plan for each one. Every feature should be delivered, tested, and committed before moving on to the next.
Rule: if your request contains more than 3 "and"s, it's too big. Break it down.
Mistake 3, jumping in without a plan
The cost: Claude makes technical choices without asking you. After 30 minutes of coding, you discover it picked the wrong approach. Everything has to be redone.
The fix: 10 minutes of brainstorming plus planning equals 2 hours of rework avoided. The ratio can't be beaten. See chapter 5.
Exception: simple bug fixes and cosmetic tweaks don't need a plan.
Mistake 4, blindly accepting the result
The cost: Claude can make subtle mistakes, a flipped condition, an unhandled edge case, a security issue. If you don't test, those bugs land in production.
The fix: ALWAYS test visually on localhost. Only you know if the UX matches your vision. Claude can't see your screen.
At a minimum, verify:
- Normal behavior works
- Error cases are handled (bad input, empty data)
- Responsive (mobile) works
- Copy is correct (accents, grammar)
Mistake 5, not iterating
The cost: you settle for a first draft that "works" instead of an excellent result. The perceived quality of your app suffers.
The fix: 2-3 iterations equals an excellent result. The first draft is the structure, the iterations are the polish.
Typical iteration examples:
- "Increase the spacing, it's too cramped"
- "Add an animation when the data loads"
- "The error message is too technical, rephrase it for a non-developer"
Mistake 6, skipping the checks
The cost: you pile up invisible errors that blow up later. One bad type here, a broken import there, and suddenly your build stops compiling with 47 errors.
The fix: typecheck plus lint after every change. Non-negotiable. Takes 5 seconds and saves hours of debugging.
Tip: with a well-configured permissions file (chapter 9), Claude runs these checks automatically without asking.
Mistake 7, writing vague prompts
The cost: random output, frustration, 3-4 round-trips to get what you actually wanted.
The fix: see chapter 4. Short version: context, what, criteria, constraints. 30 seconds of phrasing saves 10 minutes of corrections.
Mistake 8, not saving memory
The cost: tomorrow, Claude has forgotten everything. It re-suggests approaches you already rejected. It repeats mistakes you already fixed. It wastes time rediscovering the context.
The fix: at the end of a productive session, say "Update the project memory." 30 seconds that make the difference. See chapter 10.
Mistake 9, doing everything sequentially
The cost: you waste time waiting for each task to finish when some of them could run in parallel.
The fix: spot the independent tasks and say so explicitly:
"Run in parallel: the SQL migration, the UI component, and the unit tests. These 3 tasks are independent."
Claude spins up 3 agents at the same time instead of going one after the other. Gain: 3x faster.
When NOT to parallelize: when one task depends on another's output (e.g., TypeScript types depend on the SQL migration).
Mistake 10, ignoring context management
The cost: your conversation with Claude gets long, it passes 70-80% context. Suddenly it forgets your conventions, repeats fixes you already made, makes inconsistent choices. You waste 20 minutes before realizing it's a context problem, not a logic one.
The fix: keep an eye on the context (via /context or the status line). /compact at 60%. /clear if you switch topics. /rewind (Esc Esc) if Claude goes off the rails, instead of trying to fix it in an already polluted context.
Warning sign: Claude starts "forgetting" rules it was respecting at the start of the session. That's the signal to compact.
Mistake 11, never running /review
The cost: "It works" doesn't mean "it's solid". The review catches real bugs: security holes (user data exposed), unhandled edge cases (what happens if the list is empty?), dead code that bloats the app.
The fix: /review before every important commit. It's like asking a colleague to re-read your work, a fresh pair of eyes catches what the author no longer sees.
Real example: on Panettone, a review caught sensitive data being logged to the console. Without the review, that data would have been visible in production.
Takeaway: these 11 mistakes are ranked by impact. Fix them in order: the
CLAUDE.md is the most critical, context management and review are the most
underrated. Each one is easy to avoid once you know about it.