Back to blog
Guide

Claude Code Mode Guide: Plan Mode, Auto-Accept, and Default Mode Explained

Skill Gallery TeamFebruary 6, 20267 min read

"I started using Claude Code and it edited my files before I was ready." "When should I use Plan Mode?" If you've just started with Claude Code, the different modes can be confusing.

Claude Code has three modes, each defining what Claude is allowed to do. Understanding how they work helps you prevent unintended changes while staying productive.

This article explains each mode's behavior, how to switch between them, and when to use each one, based on the official Anthropic documentation.

The Three Modes in Claude Code

Claude Code offers three modes with different permission levels. The current mode is always displayed at the bottom of the terminal, so you can check it at a glance.

When you switch modes, you'll see an "accept edits on" indicator. Because of this, some people call it "Edit mode," but the official name is "Auto-Accept Mode." This article uses the official terminology throughout.

Default Mode

This is the standard mode. Claude asks for confirmation before editing any file or running any command.

Characteristics:

  • Confirmation required before file edits
  • Confirmation required before command execution
  • Best for beginners or when you want to review every change

Best for:

  • Getting started with Claude Code
  • Working with production-critical code
  • When you want to review changes carefully

Auto-Accept Mode

This mode automatically approves file edits. Claude applies proposed changes without asking for confirmation.

Indicator: accept edits on

Characteristics:

  • File edits are applied automatically without confirmation
  • Command execution (bash, etc.) still requires confirmation
  • Significantly increases working speed

Best for:

  • Repetitive bulk changes (adding type definitions, formatting, etc.)
  • Creating new files from scratch
  • When your code is under Git version control and easy to revert

Plan Mode

In this mode, Claude only creates plans without editing files. You review the plan first, then execute the changes separately.

Indicator: plan mode on

Characteristics:

  • No file edits or command execution
  • Only read-only operations (viewing files, searching, etc.)
  • Creates an implementation plan for you to review before execution

Best for:

  • Understanding the big picture before implementing complex features
  • Investigating and analyzing an existing codebase
  • Discussing the approach with your team before coding
  • Assessing the impact of large-scale refactoring

How to Switch Modes

Switch modes using the Shift+Tab key.

Switching During a Session

Each press of Shift+Tab cycles through the modes in this order:

Default Mode -> Auto-Accept Mode -> Plan Mode -> Default Mode (back to start)

To reach Plan Mode, press Shift+Tab twice.

Specifying a Mode at Startup

To start directly in Plan Mode, use a flag when launching:

claude --permission-mode plan

Changing the Default Mode

You can set a default mode per project. Add the following to .claude/settings.json:

{
  "permissions": {
    "defaultMode": "plan"
  }
}

In VS Code, you can change this through the claudeCode.initialPermissionMode setting.

Mode Comparison Table

ModeFile EditsCommand ExecutionBest For
DefaultRequires confirmationRequires confirmationBeginners, careful work
Auto-AcceptAuto-approvedRequires confirmationFast implementation, repetitive tasks
Plan ModeNot allowedNot allowed (in principle)Research, design, planning

Tools Available in Plan Mode

In Plan Mode, Claude's available tools are restricted. This completely prevents unintended changes.

Available Tools (Read-Only)

  • Read - Display file contents
  • LS - List directory contents
  • Glob - File pattern search
  • Grep - Text search within files
  • Task - Subagent for research
  • WebFetch - Fetch web content
  • WebSearch - Web search
  • NotebookRead - Read Jupyter notebooks

Unavailable Tools (Write Operations)

  • Edit / MultiEdit - File editing
  • Write - File creation
  • Bash - Command execution
  • NotebookEdit - Notebook editing

Practical Usage Patterns

Pattern 1: Plan Mode to Default Mode (Two-Stage Approach)

An effective pattern for implementing complex features.

  1. Create a plan in Plan Mode — Press Shift+Tab twice to enter Plan Mode. Give an instruction like "I want to migrate the auth system to OAuth2. Create a detailed plan." Claude investigates the codebase and presents an implementation plan.
  2. Review and refine the plan — Review the proposed plan. Ask follow-up questions if anything is unclear. Move on once the plan looks good.
  3. Implement in Default Mode — Press Shift+Tab to return to Default Mode. Say "Now implement this plan." Review each change as it's made.

Pattern 2: Moving Fast with Auto-Accept

Effective for large batches of repetitive changes.

Example: Adding type definitions to all files

  1. Press Shift+Tab once to switch to Auto-Accept Mode
  2. Instruct "Add type definitions to all functions"
  3. Claude automatically edits all files
  4. Review the changes with git diff afterward

Important: Always commit your work before using Auto-Accept Mode. Having a clean Git state means you can easily revert any unwanted changes.

Pattern 3: Investigation-Only with Plan Mode

Plan Mode is useful when you want to understand an existing codebase.

  1. Press Shift+Tab twice to enter Plan Mode
  2. Ask "Investigate and explain how authentication works in this project"
  3. Claude reads the code and provides an explanation
  4. No files are modified at all

Opus Plan Mode (Automatic Model Switching)

Plan Mode has an extended feature called "Opus Plan Mode." This uses Opus (the high-capability model) for planning and automatically switches to Sonnet (the fast model) for implementation.

How to Set It Up

Run the /model command and select the "Use Opus in plan mode, Sonnet otherwise" option.

Benefits

  • Leverages Opus's strong reasoning for planning
  • Uses Sonnet for fast, cost-effective implementation
  • Eliminates the need to manually switch models

Things to Keep in Mind

Detailed planning with Opus can consume tokens quickly, making it easier to hit rate limits. If usage limits are a concern, sticking with Sonnet for everything may be more predictable.

Frequently Asked Questions

Q. Does Plan Mode still count toward usage limits?

Yes. Plan Mode only prevents edits—your conversation with Claude still happens normally. Reading files, running searches, and other interactions all consume tokens, so they count toward your usage limits.

Q. Is the conversation preserved when switching modes?

Yes. Switching modes keeps all conversation context intact. You can create a plan in Plan Mode and seamlessly continue implementation in Default Mode.

Q. Can I switch modes in the VS Code extension?

Yes. In the VS Code extension, you can set the default mode through claudeCode.initialPermissionMode in Settings. You can also switch during a conversation via the / command menu.

Q. What if Auto-Accept makes an unwanted change?

If you're using Git, you can easily revert with git checkout or git restore. We recommend committing frequently when working with Claude Code. You can also press Esc to interrupt Claude mid-operation.

Summary

Here's a quick recap of Claude Code's three modes:

  • Default Mode: Every change requires confirmation. The safest choice for beginners and careful work.
  • Auto-Accept Mode: File edits are auto-approved. Great for speeding through repetitive tasks.
  • Plan Mode: Read-only mode for planning. Ideal for understanding the full picture before complex implementations.

Switching is as easy as pressing Shift+Tab. Using the right mode for the situation helps you avoid unexpected changes while making the most of Claude Code's capabilities.

Start with Default Mode to get comfortable, then gradually try Auto-Accept and Plan Mode as you build confidence.

claude-codeplan-modeauto-acceptworkflowbeginner

Related posts