The biggest mistake people make with Claude Code is micromanaging. You type “open this file, find this function, change this line.” That’s doing Claude’s job for it and doing it worse.
The Manager Approach
Instead of step-by-step instructions, give Claude:
- The goal: what you want done
- The context: why it matters
- The constraints: what to avoid
Bad: Open src/auth.ts, find the login function, add a rate
limiter that allows 5 attempts per minute.
Good: Add rate limiting to our login endpoint. 5 attempts per
minute per IP. We're using Express and Redis is already
in the stack. Don't add new dependencies.
Let Claude Figure Out the How
Claude is better than you at navigating a codebase it just indexed. Let it:
- Find the right files
- Understand the existing patterns
- Choose the implementation approach
- Run tests to verify
Your job is to review the output and course-correct, not to dictate every move.
When to Micromanage
There are times to be specific:
- Naming conventions: “Call it
rateLimiter, notlimiter” - Architecture decisions: “Use middleware, not inline checks”
- Specific libraries: “Use
express-rate-limit, not a custom solution”
The rest, let Claude handle.
Tip
If you find yourself typing more than 3 lines of instructions for a simple change, you’re probably over-directing. State the goal, add one constraint, and let Claude work.