Plan mode prevents mistakes. Trust your gut. Ask for research before implementing. Request pushback on decisions.
Part of the Claude Code Field Guide series.
Beyond tools and workflows, how you interact with Claude matters. These patterns improve results across any task.
Plan Mode: Think Before You Build
Plan mode is one of Claude Code's most powerful features. Before writing any code, Claude:
- Analyzes the codebase
- Proposes solutions
- Identifies tradeoffs
- Writes an implementation plan
- Waits for your approval
Only then does implementation begin.
This prevents the "code first, think later" trap. I've caught architectural mistakes, missed requirements, and overcomplicated solutions in the planning phase—before any code was written.
Use plan mode for anything non-trivial. The few minutes spent reviewing a plan saves hours of rework.
Trust Your Gut
When something feels off, it usually is.
Claude's responses might seem confident while containing subtle errors. If you notice a detail that doesn't quite make sense, investigate. Developer intuition catches things that pure reasoning misses.
Don't let Claude's fluency override your experience. If a solution feels overcomplicated, it probably is. If an approach seems to miss something, it probably does.
Stop and clarify before proceeding. It's much easier to course-correct early than to undo completed work.
Step Back When Lost
Sometimes Claude gets stuck in context—attempting the same failing approach, going in circles, or missing the obvious. The accumulated context becomes a trap.
When this happens, you have two options:
Option 1: Fresh conversation- Start over in a new session
- Summarize the problem from scratch
- Let Claude approach it without the baggage of failed attempts
- Spin up a new agent to tackle the specific problem
- Describe the situation fresh, as if to someone new
- The subagent has clean context and fresh perspective
Both work because fresh context often solves problems that accumulated context couldn't. The subagent approach has the advantage of not losing your main conversation's history.
Ask Claude to Challenge You
LLMs default to agreement—all of them. This isn't always helpful.
When making decisions, explicitly request pushback:
"I'm planning to use Redis for caching. Before I commit to this,
argue against it. What are the downsides? What alternatives should
I consider? Challenge my assumptions."
This surfaces considerations you might miss. Claude will identify tradeoffs, edge cases, and alternatives that a yes-man approach would skip.
Extended Thinking
For complex problems, signal that you want depth over speed. Instead of "think harder," I describe the context:
"We have time. No rush. Quality is strongly preferred over speed.
Reconsider the approach. Validate assumptions. Challenge anything
that seems off. Back up recommendations with reasoning."
This triggers extended reasoning—Claude spends more time analyzing before responding.
I use this for:
- Architecture decisions with multiple tradeoffs
- Debugging subtle issues
- Code that requires understanding complex state
The difference is noticeable. Quick prompts get quick answers. Signaling that thoroughness matters gets thorough analysis.
Research Before Implementing
Claude's training has a cutoff. For anything where current best practices matter, explicitly ask for research:
"Before implementing, search online for how others solve this.
What's the industry-wide best practice? How do similar projects
in this space handle it? Find existing patterns we can follow."
This prevents reinventing wheels and surfaces solutions you wouldn't have thought to ask about. Claude can search documentation, find GitHub examples, and identify established patterns.
I use this for:
- Integration patterns (how do others connect X to Y?)
- Error handling strategies in specific frameworks
- Performance optimization techniques
- Security best practices for the technology stack
The combination of Claude's knowledge plus live research often surfaces better solutions than either alone.
Voice Input
Typing long prompts gets tedious. Voice input changes the workflow.
WisprFlow (and similar tools) provide system-wide voice-to-text. Press a hotkey, speak, release, and your words appear as text.
This is transformative for:
- Stream of consciousness: Describe what you want without structuring it first
- Complex requirements: Speak for a minute, let Claude organize your thoughts
- Code reviews: Narrate issues while looking at the code
- Documentation: Dictate explanations naturally
I often voice-dump a rough description, then let Claude structure it into a proper specification or plan.
The workflow:
- Press hotkey
- Describe what you want in natural speech
- Release hotkey
- Claude receives your transcribed text
- Iterate with follow-up voice prompts
It's faster than typing for anything longer than a sentence. The friction reduction encourages more thorough prompts.
Rubber Duck Debugging
When debugging gets stuck, force Claude to explain step by step:
"Walk me through this code line by line. At each step, explain what
state you expect and what could go wrong. Think out loud."
This rubber duck technique works. Claude often catches its own mistakes mid-explanation. The act of verbalizing forces careful reasoning.
I use this when:
- A fix "should work" but doesn't
- The bug is intermittent
- Claude has tried multiple approaches without success
- I suspect Claude is pattern-matching rather than reasoning
The key is demanding explicit reasoning at each step, not just a summary. Make Claude show its work.
Back to Claude Code Field Guide
Previous: Subagents: Orchestration Without Context Pollution