Interaction Modes
Claude Code offers three distinct modes to match different workflows and requirements.
What You Get with Different Modes
Each mode optimizes for different priorities:
- Chat Mode: Interactive review with full control over changes
- Auto Accept Mode: Streamlined execution without confirmation prompts
- Plan Mode: Complete strategic overview before any execution
How to Switch Modes
Use Shift+Tab to cycle through modes:
Chat Mode → Auto Accept → Plan Mode → Chat ModeThe current mode appears in your status line.
Chat Mode (Default)
Interactive review and approval of changes.
What You Get
- Claude presents changes for your review
- You approve or modify suggestions before applying
- Full control over every change
- Highest safety level
How It Works
- Claude analyzes your request
- Presents proposed changes
- Waits for your approval
- Applies only approved changes
- Continues with next steps
Best For
- Production code development
- Learning and understanding changes
- Critical systems where accuracy matters
- Code you're unfamiliar with
Example Interaction
You: "Add error handling to the login function"
Claude: I'll add try-catch blocks and input validation. Here's what I'll change:
File: src/auth/login.js
+ Add input validation
+ Wrap API call in try-catch
+ Add specific error messages
Approve these changes? (y/n)Auto Accept Mode
Automatic change application for trusted operations.
What You Get
- Changes are applied immediately
- No confirmation prompts interrupt flow
- Faster workflow for routine tasks
- Reports what was done after completion
How It Works
- Claude processes your request
- Immediately applies changes
- Reports what was done
- Continues without interruption
Best For
- Prototyping and rapid iteration
- Boilerplate generation
- Test file creation
- Documentation updates
- Personal projects where mistakes are low-cost
Safety Considerations
Still requires confirmation for:
- File deletions
- Overwriting critical files
- System-level operations
- Environment variable changes
Example Workflow
You: "Create a user profile component with TypeScript"
Claude: Creating user profile component...
✓ Created: src/components/UserProfile.tsx
✓ Created: src/components/UserProfile.test.tsx
✓ Updated: src/components/index.ts
✓ Created: src/types/user.ts
Component created with TypeScript interfaces and test file.Plan Mode
Strategic planning before execution.
What You Get
- Complete approach outlined upfront
- Opportunity to modify plans before execution
- Understanding of dependencies and order
- Step-by-step execution after approval
How It Works
- You describe what you need
- Claude creates a detailed plan
- You review and can modify the plan
- You approve, modify, or cancel
- Plan executes step-by-step after approval
Best For
- Complex multi-file features
- Architectural changes
- Debugging investigations
- Team collaboration (share plans first)
- Understanding complete scope before starting
Example Interaction
You: "Add authentication to the application"
Claude: [PLAN] Here's my approach:
1. Set up authentication infrastructure
- Install dependencies (passport, bcrypt, jsonwebtoken)
- Create auth middleware
- Set up session management
2. Create user model and database schema
- User model with email, password, profile
- Migration files for database
3. Implement authentication endpoints
- POST /api/auth/register
- POST /api/auth/login
- POST /api/auth/logout
4. Add authentication to existing routes
- Protect private endpoints
- Add user context to requests
Review this plan? (approve/modify/cancel)Mode Comparison
| Aspect | Chat Mode | Auto Accept | Plan Mode |
|---|---|---|---|
| Speed | Moderate | Fast | Slow initially |
| Control | High (per change) | Low | High (strategic) |
| Safety | Highest | Lower | High |
| Interruption | Frequent | None | Once (planning) |
| Best Use Case | Production | Prototyping | Architecture |
| Learning | Excellent | Limited | Excellent |
When to Use Each Mode
Use Chat Mode When
- Working on production code
- Learning new concepts or codebases
- Making critical system changes
- You need to understand each change
- Working with unfamiliar code
Use Auto Accept Mode When
- Rapid prototyping
- Generating boilerplate code
- Creating test files
- Making documentation updates
- Iterating quickly on personal projects
- Applying routine refactoring
Use Plan Mode When
- Implementing complex features
- Making architectural decisions
- Debugging complex issues
- Collaborating with a team
- Need to understand full scope first
- Working on unfamiliar systems
Common Workflow Patterns
Production Development
- Plan Mode: Design architecture and approach
- Chat Mode: Implement with careful review
- Auto Accept: Generate comprehensive tests
- Chat Mode: Final review and refinement
Quick Prototyping
- Auto Accept: Build rapidly without interruption
- Chat Mode: Refine and fix specific details
- Auto Accept: Iterate quickly on feedback
Complex Debugging
- Plan Mode: Analyze the problem and create investigation plan
- Chat Mode: Apply fixes incrementally with review
- Auto Accept: Add regression tests
Team Collaboration
- Plan Mode: Create detailed plan to share with team
- Chat Mode: Execute with team member review
- Plan Mode: Plan next iteration based on feedback
Dynamic Mode Switching
You can switch modes during a conversation:
"Switch to auto-accept mode for the test files"
"Back to chat mode for the API endpoints"
"Use plan mode to figure out the database changes"Safety Features Across All Modes
All modes include safety measures:
- Git integration for change tracking
- Backup creation for important files
- Syntax validation before applying changes
- Respect for .gitignore patterns
- Confirmation for destructive operations
Best Practices
Starting Out
- Begin with Chat Mode until comfortable
- Use Auto Accept for low-risk tasks first
- Try Plan Mode for your next complex feature
Building Trust
- Start with small tasks in Auto Accept
- Review git history after Auto Accept sessions
- Use Plan Mode when unsure about approach
Maintaining Quality
- Commit changes before switching to Auto Accept
- Review diffs after Auto Accept sessions
- Use Chat Mode for final production review
Related
- Context Management → - Control what Claude knows
- Slash Commands → - Direct command shortcuts