CoreCodeБлог

Руководства

Режимы разрешений Claude Code: default, acceptEdits, plan, auto и bypassPermissions

Опубликовано · Проверено

Большинство тех, кто ищет, как пропустить запросы разрешений, устали подтверждать одно действие за другим. Эта страница следует документу Anthropic Choose a permission mode и объясняет, что каждый режим разрешений позволяет Claude делать без вопросов, как переключать режимы и почему bypassPermissions уместен только в изолированных средах. Названия режимов, флаги, ключи настроек и поведение взяты из этого документа, проверено 30 октября 2026 г.

Главное
  • Режим разрешений определяет, какие действия Claude может выполнять в сессии без предварительного вопроса к вам. default отображается в CLI как Manual, и без запроса выполняется только чтение.
  • Согласно документу, начиная с Claude Code v2.1.283 режим auto — встроенный стартовый режим разрешений для интерактивных сессий в терминале и VS Code. Если запросов по-прежнему много, проверьте, не находитесь ли вы уже в режиме auto.
  • Чтобы получать меньше запросов, не отключая защиту полностью: используйте acceptEdits или auto, где действия за вас проверяет отдельная модель-классификатор. В документе сказано, что bypassPermissions не защищает от prompt injection и непреднамеренных действий.
  • Используйте bypassPermissions только в изолированных средах, таких как контейнеры и виртуальные машины. Правила deny блокируют в каждом режиме, включая его.
  • Переключайте режимы по кругу через Shift+Tab; стартовый режим задаётся через --permission-mode или permissions.defaultMode.

Режимы разрешений

В документе сказано, что режим разрешений определяет, какие действия Claude может выполнять в сессии без предварительного вопроса к вам. В режиме Manual Claude Code останавливается и спрашивает вас перед большинством действий, которые правят файлы, выполняют команды оболочки или обращаются к сети. Таблица ниже — таблица из документа о том, что выполняется без запроса разрешения в каждом режиме. Режим Manual приведён под своим значением в конфигурации — default.

РежимЧто выполняется без вопросовПодходит для
defaultТолько чтениеПроверки каждого действия самостоятельно, чувствительной работы
acceptEditsЧтение, правки файлов и типовые команды файловой системы (mkdir, touch, mv, cp и т. д.)Итераций над кодом, который вы проверяете
planЧтение, а также команды, одобренные классификатором, если доступен режим autoИзучения кодовой базы перед изменением
autoВсё, с фоновыми проверками безопасностиДолгих задач, снижения усталости от запросов
dontAskЧтение файлов внутри ваших рабочих каталогов и заранее одобренные инструменты; всё, что вызвало бы запрос, отклоняетсяЖёстко ограниченного CI и скриптов
bypassPermissionsВсёТолько изолированных контейнеров и виртуальных машин

Режим, проверяющий каждое действие, называется Manual в CLI, в claude --help, в расширениях VS Code и JetBrains и в приложении для рабочего стола. Его значение в конфигурации — default, его используют hooks и интеграции SDK. CLI принимает manual как алиас везде, где вы вводите это значение, например claude --permission-mode manual или "defaultMode": "manual".

Переключение режимов

Во время сессии: нажмите Shift+Tab, чтобы переключать режимы разрешений по кругу. Из auto первое нажатие переключает на default, а затем цикл идёт default → acceptEdits → plan. Необязательные режимы вставляются после plan. Строка состояния показывает активный режим:

РежимСтрока состояния
defaultсерый ⏸ manual mode on
acceptEdits⏵⏵ accept edits on
plan⏸ plan mode on
auto⏵⏵ auto mode on
dontAsk⏵⏵ don't ask on
bypassPermissions⏵⏵ bypass permissions on

Не каждый режим входит в стандартный цикл:

Включённые необязательные режимы вставляются после plan: сначала bypassPermissions, последним auto. Если включены оба, на пути к auto вы будете проходить через bypassPermissions.

Из запроса разрешения для Bash: в режимах разрешений Manual и acceptEdits, когда доступен режим auto, Claude Code добавляет в запрос разрешения для команды Bash пункт Yes, and switch to auto mode. Выберите его, чтобы одобрить команду и переключить сессию на режим auto. Запросы инструмента PowerShell этот вариант не предлагают, а ему нужен Claude Code v2.1.247 или новее. Claude Code не добавляет этот вариант в запросы, вызванные одним из ваших правил ask или hook, потому что режим auto всё равно показывает вам такие запросы, так что переключение их не уберёт.

При запуске: передайте режим разрешений флагом. Тот же флаг --permission-mode работает с -p для неинтерактивных запусков.

claude --permission-mode plan

Как значение по умолчанию: задайте permissions.defaultMode в нужной области. В VS Code нажмите на индикатор режима внизу поля ввода или закрепите стартовый режим через claudeCode.initialPermissionMode.

В каком режиме стартует сессия

Когда вы начинаете новую сессию в терминале, Claude Code берёт режим разрешений из первого из применимых источников:

  1. Флаг --permission-mode или --dangerously-skip-permissions
  2. permissions.defaultMode в файле настроек
  3. Встроенное значение по умолчанию

В Claude Code v2.1.283 и новее встроенное значение по умолчанию в терминале или через расширение VS Code — auto. В более ранних версиях это auto на тарифах Pro, Max или Team в сессиях, получающих feature flags, и default в остальных случаях. Для claude -p и Agent SDK встроенное значение по умолчанию — default. Оно также default, если какой-либо файл настроек задаёт disableAutoMode равным "disable". Когда флаг, файл настроек или встроенное значение выбирают auto, но режим auto для сессии недоступен, Claude Code запускает сессию в режиме Manual.

Место, где вы задаёте настройку, имеет значение, и документ здесь конкретен:

Чтобы задать стартовый режим разрешений дляСделайте так
Одной сессии, которую вы вот-вот запуститеПередайте режим разрешений флагом, например claude --permission-mode default
Каждой терминальной сессии, запускаемой на этой машинеЗадайте permissions.defaultMode в ~/.claude/settings.json
Каждой терминальной сессии, запускаемой в одном проектеЗадайте permissions.defaultMode в .claude/settings.json проекта. Сессии, запускаемые в терминале, учитывают все значения, кроме auto и bypassPermissions
Каждой терминальной сессии в вашей организацииЗадайте permissions.defaultMode в managed settings

Если вы зададите "auto" в .claude/settings.json или .claude/settings.local.json, значение не вступит в силу. Если вы зададите "bypassPermissions" в этих двух файлах, оно тоже не вступит в силу, и сессия стартует в режиме Manual. Этот пример делает так, что каждая терминальная сессия на вашей машине стартует в режиме Manual; сохраните его в ~/.claude/settings.json:

{
  "permissions": {
    "defaultMode": "default"
  }
}

В следующей запущенной сессии строка состояния покажет ⏸ manual mode on.

acceptEdits: автоодобрение правок файлов

Режим acceptEdits позволяет Claude создавать и править файлы в вашем рабочем каталоге без запроса. Пока этот режим активен, строка состояния показывает ⏵⏵ accept edits on. Помимо правок файлов, он автоматически одобряет типовые команды Bash для файловой системы: mkdir, touch, rm, rmdir, mv, cp и sed. Как и для правок файлов, автоодобрение действует только для путей внутри вашего рабочего каталога или additionalDirectories.

Запрос по-прежнему появляется для:

Документ советует использовать acceptEdits, когда вы хотите просматривать изменения в редакторе или через git diff постфактум, а не подтверждать каждую правку на месте. Нажмите Shift+Tab один раз из режима Manual, чтобы войти в него, или сразу запустите с ним:

claude --permission-mode acceptEdits

plan: сначала изучение, без правок

Режим plan говорит Claude изучать и предлагать изменения, не внося их. Claude читает файлы, выполняет команды оболочки для исследования и пишет план, но не правит ваш исходный код. За исключением интерактивных терминальных сессий с доступным bypass permissions, правки остаются заблокированными, пока вы не одобрите план.

Что происходит с командой оболочки во время планирования, зависит от сессии, и применяется первый подходящий случай:

Войдите в режим plan, нажав Shift+Tab или поставив /plan перед одним prompt. Можно также начать в режиме plan из CLI:

claude --permission-mode plan

Нажмите Shift+Tab ещё раз, чтобы выйти из режима plan, не одобряя план. Когда план готов, Claude представляет его и спрашивает, как продолжить:

Нажмите Ctrl+G, чтобы открыть предложенный план в текстовом редакторе по умолчанию и отредактировать его напрямую, прежде чем Claude продолжит. Чтобы сделать режим plan режимом по умолчанию для терминальных сессий проекта, задайте defaultMode равным plan в .claude/settings.json.

auto: классификатор проверяет за вас

Режим auto позволяет Claude выполнять действия без обычных запросов разрешений. Отдельная модель-классификатор проверяет действия до их выполнения и блокирует всё, что выходит за рамки вашего запроса, направлено на незнакомую инфраструктуру или, по-видимому, продиктовано враждебным содержимым, прочитанным Claude. Явные правила ask по-прежнему вызывают запрос.

Предупреждение из документа: режим auto сокращает число запросов разрешений, но не гарантирует безопасность. Используйте его для задач, где вы доверяете общему направлению, а не вместо проверки для чувствительных операций.

Режим auto доступен, только когда ваш аккаунт отвечает всем этим требованиям:

Заблокировано по умолчанию, среди более длинного списка в документе: загрузка и выполнение кода вроде curl | bash, отправка чувствительных данных на внешние эндпоинты, деплои и миграции в продакшене, force push, выдача прав IAM или прав на репозиторий и необратимое уничтожение файлов, существовавших до начала сессии. Разрешено по умолчанию: локальные операции с файлами в вашем рабочем каталоге, установка зависимостей, объявленных в ваших lock-файлах или манифестах, и HTTP-запросы только для чтения. Выполните claude auto-mode defaults, чтобы вывести полные списки правил в виде JSON.

Классификатор воспринимает границы, которые вы называете в разговоре, как сигнал блокировки: скажите Claude «don't push», и он заблокирует подходящие действия, даже если правила по умолчанию их разрешили бы. Однако границы не сохраняются как правила, а сжатие контекста может убрать сообщение, в котором граница была названа. Для жёсткой гарантии в документе сказано вместо этого добавить правило deny.

Запасной вариант: заблокированное действие показывает уведомление и перечисляется в /permissions на вкладке Recently denied, где можно нажать r, чтобы повторить его с ручным одобрением. Если классификатор блокирует действие 3 раза подряд или 20 раз суммарно, режим auto приостанавливается, и Claude Code снова начинает задавать вопросы; одобрение запрошенного действия возобновляет режим auto. Эти пороги не настраиваются.

Стоимость и задержка: в документе сказано, что запросы классификатора могут выполняться на другой модели, чем выбранная вами в /model. На тарифах Enterprise и в аккаунтах, использующих Claude API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, вызовы классификатора учитываются в вашем расходе токенов. Каждая проверка отправляет часть транскрипта плюс ожидающее действие, добавляя обращение к серверу перед выполнением. Чтение и правки в рабочем каталоге вне защищённых путей классификатор пропускают, так что накладные расходы создают главным образом команды оболочки и сетевые операции. Там, где сервер проверяет действия в составе запросов модели сессии, отдельных вызовов классификатора нет. Когда вы направляете ANTHROPIC_BASE_URL на шлюз LLM или прокси, Claude Code v2.1.278 и новее по умолчанию спрашивает сервер, но переходит на собственные запросы классификатора, если шлюз или прокси отбрасывает запрос на проверку или её результаты. Если /status показывает Auto mode server как Enabled, запросы классификатора отправляются только для вызовов вне проверки сервером. О денежной стороне см. нашу заметку о том, как тратить меньше токенов.

bypassPermissions: пропуск всех проверок

Режим bypassPermissions отключает запросы разрешений и проверки безопасности, так что вызовы инструментов выполняются немедленно, включая запись в защищённые пути. Именно этот режим ищет большинство запросов «пропустить запросы разрешений», и предупреждения документа недвусмысленны.

Предупреждение из документа: используйте этот режим только в изолированных средах, таких как контейнеры, виртуальные машины или dev-контейнеры без доступа в интернет, где Claude Code не может повредить вашу хост-систему.

Предупреждение из документа: bypassPermissions не защищает от prompt injection и непреднамеренных действий. Для фоновых проверок безопасности при заметно меньшем числе запросов используйте вместо него режим auto. Администраторы могут заблокировать этот режим, задав permissions.disableBypassPermissionsMode равным "disable" в managed settings.

Как его включить и какие есть ограничения:

Даже в этом режиме каждое из действий, которые ни один режим не одобряет автоматически, по-прежнему вызывает запрос или отказ: инструменты, подпавшие под явное правило ask, инструменты, требующие взаимодействия с пользователем, такие как AskUserQuestion, и распознанные удаления критичных путей через rm и rmdir, такие как rm -rf / и rm -rf ~. В документе также отмечено, что проверка критичных путей может пропустить некоторые команды, поэтому она не заменяет средство уровня операционной системы, например песочницу.

dontAsk: только заранее одобренные инструменты

Если вы задаёте режим dontAsk, Claude Code автоматически отклоняет каждый вызов инструмента, который иначе вызвал бы запрос к вам. Чтение файлов внутри ваших рабочих каталогов, команды Bash только для чтения, действия, соответствующие вашим правилам permissions.allow, и вызовы, одобренные hook PreToolUse, по-прежнему выполняются. В документе сказано использовать этот режим для конвейеров CI или ограниченных сред, где вы заранее определяете, что Claude может делать; сессия никогда не ждёт ввода. О написании hooks см. наше руководство по hooks. Задайте его при запуске флагом:

claude --permission-mode dontAsk

Пример из документа для CI с точным списком разрешённого:

claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"

Правила вместо общих режимов

В документе сказано, что режимы задают базовый уровень, а поверх можно наложить правила разрешений, чтобы заранее одобрить или заблокировать конкретные инструменты:

Синтаксис правил — в документе Anthropic Permissions; о команде /permissions см. команды Claude Code.

Защищённые пути

Запись в небольшой набор путей никогда не одобряется автоматически, кроме режима bypassPermissions (и интерактивных терминальных сессий в режиме plan с доступным bypass permissions). Это предотвращает случайную порчу состояния репозитория и собственной конфигурации Claude. В default и acceptEdits появляется запрос, в auto они уходят классификатору, а в dontAsk отклоняются. Защищённые каталоги включают .git, .vscode, .idea, .husky и .claude (с несколькими исключениями); защищённые файлы включают .gitconfig, .bashrc, .zshrc, .npmrc, .mcp.json и .claude.json, среди прочих. Полный список — в разделе Protected paths документа. Правила permissions.allow в файлах настроек не одобряют заранее запись в защищённые пути.

Какой режим выбрать

Эти рекомендации — наше прочтение разделов выше, а не официальное дерево решений:

FAQ

Как сделать, чтобы Claude Code не спрашивал разрешение постоянно?

Сначала проверьте текущий режим: его показывает строка состояния, а Shift+Tab переключает его по кругу. Чтобы получать меньше запросов, варианты из документа идут от наименее открытого к наиболее открытому: acceptEdits (без запроса для правок файлов и типовых команд файловой системы), auto (классификатор проверяет за вас) и bypassPermissions (все проверки выключены, только изолированные среды). В документе прямо сказано, что bypassPermissions не защищает от prompt injection, и советуется использовать режим auto, чтобы получить заметно меньше запросов при фоновых проверках безопасности.

Почему режим auto недоступен или почему моя сессия стартовала в Manual?

Причины из документа: сессия не отвечает требованиям доступности (неподдерживаемая модель или disableAutoMode в файле настроек) либо Anthropic временно отключила его на стороне сервера. Одна легко упускаемая деталь: defaultMode: "auto" в .claude/settings.json или .claude/settings.local.json не вступает в силу, поэтому терминальная сессия стартует в Manual без ошибки. Перенесите его в ~/.claude/settings.json. В VS Code claudeCode.initialPermissionMode не принимает auto; вместо этого один раз выберите Auto в индикаторе режима.

Правда ли, что bypassPermissions никогда не спрашивает?

Нет. В документе сказано, что даже в этом режиме явные правила ask, инструменты, требующие взаимодействия с пользователем, такие как AskUserQuestion, и распознанные удаления критичных путей через rm и rmdir по-прежнему вызывают запрос или отклоняются, а правила deny по-прежнему блокируют. Это не то же самое, что безопасно: в документе также сказано, что режим не защищает от prompt injection и непреднамеренных действий, поэтому ему место в изолированных средах.

Источники