Claude Code plan mode: что блокирует агент, что остаётся активным и что меняется после approve

Соло-разработчик с Claude Code в терминале часто ловит ложное чувство безопасности: после Shift+Tab агент не правит файлы — и кажется, что можно «просто обсудить план». Разбор rulestack на Dev.to совпадает с документацией Anthropic по permission modes: approve переключает режим сессии целиком, а не один diff; перечитать границы стоит до 14 августа 2026, когда auto mode станет дефолтом для новых сессий Pro, Max и Team.
Что plan mode реально останавливает
Plan mode просит агента исследовать репозиторий и предложить изменения без внесения правок в исходники. Claude читает файлы, запускает shell для разведки, формирует план — но редактирование кода в рабочей директории заблокировано до approve плана.
Блокируются три класса действий:
- Правки файлов в рабочей директории — до утверждения плана.
- Shell-команды вне read-only набора — без auto mode каждая такая команда требует отдельного approve; при доступном auto mode и включённом по умолчанию
useAutoModeDuringPlanкоманда уходит в classifier auto mode: разрешённые выполняются, отклонённые блокируются. - Записи в protected paths —
.git,.claude,.vscode, shell rc,.mcp.jsonи другие защищённые пути: в обычном plan mode не auto-approve, а prompt; при auto mode во время планирования — classifier; в сессиях с доступным bypass permissions — разрешены.
Важная путаница для тех, кто настраивает rules и subagents: permission mode plan ≠ Plan agent (тип subagent). Синтаксис правил Agent(Plan) относится к subagent, а не к режиму разрешений сессии.
Что агент может делать во время планирования
Три сценария, которые документация и пост разводят явно:
- Чтения и встроенный read-only command set — без промптов, базовая линия.
- При доступном auto mode и
useAutoModeDuringPlan: on(по умолчанию) — остальные shell-команды во время планирования маршрутизируются в classifier auto mode: тесты и сборка могут идти без ручного approve на каждую команду. - Без auto mode — всё вне read-only набора требует approve по одной команде.
В версиях v2.1.212–v2.1.217 была регрессия: команды вне read-only набора промптились в любом случае, даже при доступном auto mode. В актуальных релизах снова classifier.
Plan mode не подменяет sandbox: команды, которые sandbox разрешает, но которые не read-only, всё равно идут через prompt или classifier — «auto-allow if sandboxed» plan mode не включает.
Approve: выход из plan mode и новый permission mode
Когда план готов, Claude предлагает три варианта:
| Опция | Эффект |
|---|---|
| Yes, and use auto mode | Approve + сессия переходит в auto mode (если auto недоступен — текст «Yes, auto-accept edits» → acceptEdits; при bypass-enabled сессии — «Yes, and bypass permissions») |
| Yes, manually approve edits | Approve + каждая правка ревьюится отдельно |
| No, keep planning | Остаётся в plan mode, правки по плану |
Ключевое: approve выводит из plan mode и переключает permission mode сессии на выбранный вариант. Plan mode — staging area, не постоянное состояние. Следующую задачу снова планируют через Shift+Tab или префикс /plan.
Дополнительные детали из поста rulestack: Ctrl+G открывает план во внешнем редакторе; опция showClearContextOnPlanAccept — approve с очисткой planning context; при accept без явного --name или /rename сессия может получить имя по содержимому плана.
Shift+Tab, /plan и выход без approve
В CLI базовый цикл Shift+Tab переключает default (Manual) → acceptEdits → plan. В plan mode статус-бар показывает ⏸ plan mode on.
Если включены расширенные режимы, после plan в цикл могут входить bypassPermissions (первым) и auto (последним); dontAsk в цикл не входит.
Другие входы в plan mode:
- префикс
/planна один промпт — plan mode на один ответ без смены режима сессии; claude --permission-mode plan(включая-pдля non-interactive).
Выход без approve: снова Shift+Tab — можно уйти из plan mode, не утверждая план.
В VS Code режим задаётся indicator и claudeCode.initialPermissionMode; в Desktop — selector per folder (Plan из selector не sticky, только текущая сессия); в JetBrains — как CLI в терминале IDE.
Два подводных камня в агентном цикле
Bypass-available сессии (--dangerously-skip-permissions и эквиваленты): plan mode становится инструкцией, не enforcement — правки и shell во время планирования могут выполняться без промптов. Для соло-разработчика, который гоняет агент с ослабленными permissions, «plan» не даёт той защиты, которую обещает UI.
Protected paths — три режима поведения в зависимости от auto/bypass (см. таблицу блокировок выше). Агент, который трогает .mcp.json или .claude, в plan mode не получает тихий auto-approve — это точка, где classifier и prompt реально работают.
С 14 августа 2026 auto mode — дефолтный permission mode для новых сессий на Pro, Max и Team. Поведение classifier-reviewed команд во время plan mode (useAutoModeDuringPlan) станет нормой, а не исключением — семантика approve и «что всё ещё работает» в планировании перестаёт быть нишевой темой.
Когда автор поста рекомендует plan mode
Мнение rulestack (не позиция Anthropic):
- незнакомый репозиторий или cross-cutting change → plan mode;
- research без правок →
/planили Explore subagent; - понятная задача в доверенном репо → сразу
acceptEditsили auto.
Дефолт plan mode на проект задаётся в .claude/settings.json:
{
"permissions": {
"defaultMode": "plan"
}
}
Исключение VS Code extension: defaultMode в settings-файле не задаёт стартовый режим сессии extension — нужен claudeCode.initialPermissionMode: "plan" в user settings VS Code.
Вывод: режим планирования в Claude Code — штатный режим разрешений терминального агента для кода, не плагин. Паттерн «сначала план, потом правки» через Shift+Tab и утверждение плана как граница между read-only планированием и исполнением; связка с классификатором автоматического режима во время планирования — практический контроль побочных эффектов команд агента. Различие Plan agent (субагент) и режима разрешений plan — обязательно знать для дисциплины rules и skills в агентной IDE.
Источники
- rulestack — «Claude Code plan mode: what it actually blocks, what still runs, and what approving switches you into» (Dev.to, 13 августа 2026 UTC по метке публикации API) — Dev.to
- Anthropic — Claude Code permission modes — https://code.claude.com/docs/en/permission-modes (дата доступа в обогащении: 2026-08-13 UTC)