<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/claude-code-plan-mode-how-it-works-and-when-to-use-it-qqnsvheqq" -->

---
title: Claude Code Plan Mode: How It Works and When to Use It
description: Claude Code's plan mode lets Claude research a codebase and draft a plan before editing anything, so a wrong assumption gets caught before a diff lands. You...
canonical: https://daily.dev/posts/claude-code-plan-mode-how-it-works-and-when-to-use-it-qqnsvheqq
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Claude Code Plan Mode: How It Works and When to Use It | daily.dev
og:description: Claude Code's plan mode lets Claude research a codebase and draft a plan before editing anything, so a wrong assumption gets caught before a diff lands. You...
og:url: https://daily.dev/posts/claude-code-plan-mode-how-it-works-and-when-to-use-it-qqnsvheqq
og:image: https://api.daily.dev/og/posts/QqnSVHEQq.png
og:image:alt: Claude Code Plan Mode: How It Works and When to Use It
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Claude Code Plan Mode: How It Works and When to Use It

**[Alex CloudStar](https://daily.dev/sources/alexcloudstar)** · [@alexcloudstar](https://daily.dev/alexcloudstar) · 16 min read · 0 upvotes · 0 comments

## Summary

Claude Code's plan mode lets Claude research a codebase and draft a plan before editing anything, so a wrong assumption gets caught before a diff lands. You can turn it on with Shift+Tab, the /plan slash command, the --permission-mode plan flag, or the permissions.defaultMode setting. Inside plan mode Claude can read files and run shell commands to explore but can't touch source files until you approve. Pressing Ctrl+G opens the plan in your editor for edits. The one caveat: in an interactive terminal with bypass permissions enabled, those blocks aren't enforced, so plan mode is a workflow, not a security boundary.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://alexcloudstar.com/blog/claude-code-plan-mode-2026>

## Questions this post answers

### How do I turn on plan mode in Claude Code?

Press Shift+Tab repeatedly until the status bar shows '⏸ plan mode on', type /plan with an optional task description, start the CLI with claude --permission-mode plan, or set permissions.defaultMode to 'plan' in .claude/settings.json. On Windows, use Alt+M if Shift+Tab doesn't cycle modes due to missing VT input support in your Node or Bun runtime.

_daily.dev readers tuning their Claude Code workflow can track setup details like this one._

### Is Claude Code's plan mode a real security boundary that prevents edits?

No, it is a workflow safeguard, not an enforced security boundary. Plan mode blocks edits by instructing Claude not to make them and denying tools, but in an interactive terminal with bypass permissions enabled (via --dangerously-skip-permissions), those blocks are not enforced and Claude can edit without prompting. Real restrictions require a separate permissions and sandbox setup.

_Developers deciding how much to trust AI agent guardrails can follow permission-mode nuances like this on daily.dev._

### What is opusplan in Claude Code and when should I use it?

Opusplan is a model alias that uses the Opus model during plan mode's research and planning phase, then switches to Sonnet for executing the approved edits. It matches the work split where a stronger model helps most during planning while execution is largely mechanical, and can be selected with the /model command.

_Teams weighing model trade-offs for AI coding agents can keep up with options like opusplan on daily.dev._

## Similar posts on daily.dev

- [Untitled](https://daily.dev/posts/untitled-0strkzctw) · SitePoint · 0 upvotes · 0 comments
- [4 Claude Code settings I change before letting it touch a project](https://daily.dev/posts/4-claude-code-settings-i-change-before-letting-it-touch-a-project-x4q0kzxh9) · XDA Developers · 1 upvotes · 0 comments
- [What Actually Is Claude Code’s Plan Mode?](https://daily.dev/posts/what-actually-is-claude-code-s-plan-mode--a34ebzt60) · Armin Ronacher · 2 upvotes · 0 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#devtools](https://daily.dev/tags/devtools), [#claude-code](https://daily.dev/tags/claude-code), [#prompt-engineering](https://daily.dev/tags/prompt-engineering)

[View this post on daily.dev](https://daily.dev/posts/claude-code-plan-mode-how-it-works-and-when-to-use-it-qqnsvheqq)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Claude Code Plan Mode: How It Works and When to Use It","url":"https://daily.dev/posts/claude-code-plan-mode-how-it-works-and-when-to-use-it-qqnsvheqq","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/claude-code-plan-mode-how-it-works-and-when-to-use-it-qqnsvheqq"},"datePublished":"2026-10-27T06:53:06.509Z","dateModified":"2026-10-28T03:59:50.783Z","description":"Claude Code's plan mode lets Claude research a codebase and draft a plan before editing anything, so a wrong assumption gets caught before a diff lands. You...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/23397ba401c8970d870de3308e381b98?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/23397ba401c8970d870de3308e381b98?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Alex CloudStar","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Person","name":"Alex Cloudstar","url":"https://daily.dev/alexcloudstar","image":"https://media.daily.dev/image/upload/s--xA-1aKK7--/f_auto/v1767564650/avatars/avatar_ZUjetzkwG7V5behQOpH0X?_a=BAMAK+ZW0","description":"Hi there! 👋🏻  I'm a Senior Full-Stack Developer oriented on Javascript","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":1180}},"commentCount":0,"discussionUrl":"https://daily.dev/posts/claude-code-plan-mode-how-it-works-and-when-to-use-it-qqnsvheqq","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ai-agents,devtools,claude-code,prompt-engineering","timeRequired":"PT16M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Alex CloudStar","item":"https://daily.dev/sources/alexcloudstar"},{"@type":"ListItem","position":3,"name":"Claude Code Plan Mode: How It Works and When to Use It"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/claude-code-plan-mode-how-it-works-and-when-to-use-it-qqnsvheqq#faq","mainEntity":[{"@type":"Question","name":"How do I turn on plan mode in Claude Code?","acceptedAnswer":{"@type":"Answer","text":"Press Shift+Tab repeatedly until the status bar shows '⏸ plan mode on', type /plan with an optional task description, start the CLI with claude --permission-mode plan, or set permissions.defaultMode to 'plan' in .claude/settings.json. On Windows, use Alt+M if Shift+Tab doesn't cycle modes due to missing VT input support in your Node or Bun runtime. daily.dev readers tuning their Claude Code workflow can track setup details like this one."}},{"@type":"Question","name":"Is Claude Code's plan mode a real security boundary that prevents edits?","acceptedAnswer":{"@type":"Answer","text":"No, it is a workflow safeguard, not an enforced security boundary. Plan mode blocks edits by instructing Claude not to make them and denying tools, but in an interactive terminal with bypass permissions enabled (via --dangerously-skip-permissions), those blocks are not enforced and Claude can edit without prompting. Real restrictions require a separate permissions and sandbox setup. Developers deciding how much to trust AI agent guardrails can follow permission-mode nuances like this on daily.dev."}},{"@type":"Question","name":"What is opusplan in Claude Code and when should I use it?","acceptedAnswer":{"@type":"Answer","text":"Opusplan is a model alias that uses the Opus model during plan mode's research and planning phase, then switches to Sonnet for executing the approved edits. It matches the work split where a stronger model helps most during planning while execution is largely mechanical, and can be selected with the /model command. Teams weighing model trade-offs for AI coding agents can keep up with options like opusplan on daily.dev."}}]}
```

