Руководства
Режимы разрешений 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 |
Не каждый режим входит в стандартный цикл:
auto: появляется, когда доступен режим auto; переключение на него меняет режим разрешений без запроса подтверждения.bypassPermissions: появляется после запуска с--permission-mode bypassPermissions,--dangerously-skip-permissions,--allow-dangerously-skip-permissionsилиpermissions.defaultMode: "bypassPermissions"в пользовательских настройках,--settingsили managed settings. Вариант с--allow-добавляет режим разрешений в цикл, не активируя его.dontAsk: в цикле не появляется никогда; задайте его через--permission-mode dontAsk.
Включённые необязательные режимы вставляются после 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 берёт режим разрешений из первого из применимых источников:
- Флаг
--permission-modeили--dangerously-skip-permissions permissions.defaultModeв файле настроек- Встроенное значение по умолчанию
В 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.
Запрос по-прежнему появляется для:
- путей вне этой области
- записи в защищённые пути
- распознанных удалений критичных путей через
rmиrmdir touchс чем-либо, кроме простых путей к файлам, например с опцией, glob или префиксом вродеtimeout 5илиLANG=C- всех остальных команд Bash, кроме встроенного набора только для чтения
Документ советует использовать acceptEdits, когда вы хотите просматривать изменения в редакторе или через git diff постфактум, а не подтверждать каждую правку на месте. Нажмите Shift+Tab один раз из режима Manual, чтобы войти в него, или сразу запустите с ним:
claude --permission-mode acceptEdits
plan: сначала изучение, без правок
Режим plan говорит Claude изучать и предлагать изменения, не внося их. Claude читает файлы, выполняет команды оболочки для исследования и пишет план, но не правит ваш исходный код. За исключением интерактивных терминальных сессий с доступным bypass permissions, правки остаются заблокированными, пока вы не одобрите план.
Что происходит с командой оболочки во время планирования, зависит от сессии, и применяется первый подходящий случай:
- Интерактивные терминальные сессии с доступным bypass permissions: к командам планирования не применяется ни классификатор, ни запрос.
- Режим auto доступен и настройка
useAutoModeDuringPlanвключена, а по умолчанию она включена: классификатор проверяет команды оболочки, кроме удалений критичных путей, вместо запроса к вам. Одобренные команды выполняются, отклонённые блокируются. - Режим auto недоступен или
useAutoModeDuringPlanвыключена: команды вне встроенного набора только для чтения запрашивают одобрение.
Войдите в режим plan, нажав Shift+Tab или поставив /plan перед одним prompt. Можно также начать в режиме plan из CLI:
claude --permission-mode plan
Нажмите Shift+Tab ещё раз, чтобы выйти из режима plan, не одобряя план. Когда план готов, Claude представляет его и спрашивает, как продолжить:
- Yes, and use auto mode: одобрить и начать в режиме auto. Если режим auto для вашей сессии недоступен, этот пункт читается как Yes, auto-accept edits. Если вы запустили сессию с включённым bypass permissions, вместо этого он читается как Yes, and switch to BYPASS PERMISSIONS (no further prompts) for this session.
- Yes, manually approve edits: одобрить и проверять каждую правку по отдельности.
- No, keep planning: остаться в режиме plan и сказать Claude, что изменить.
Нажмите Ctrl+G, чтобы открыть предложенный план в текстовом редакторе по умолчанию и отредактировать его напрямую, прежде чем Claude продолжит. Чтобы сделать режим plan режимом по умолчанию для терминальных сессий проекта, задайте defaultMode равным plan в .claude/settings.json.
auto: классификатор проверяет за вас
Режим auto позволяет Claude выполнять действия без обычных запросов разрешений. Отдельная модель-классификатор проверяет действия до их выполнения и блокирует всё, что выходит за рамки вашего запроса, направлено на незнакомую инфраструктуру или, по-видимому, продиктовано враждебным содержимым, прочитанным Claude. Явные правила ask по-прежнему вызывают запрос.
Предупреждение из документа: режим auto сокращает число запросов разрешений, но не гарантирует безопасность. Используйте его для задач, где вы доверяете общему направлению, а не вместо проверки для чувствительных операций.
Режим auto доступен, только когда ваш аккаунт отвечает всем этим требованиям:
- Тариф: все тарифы.
- Организация: на Team и Enterprise режим auto доступен по умолчанию. Администраторы могут отключить его для организации, задав
permissions.disableAutoModeравным"disable"в managed settings. - Модель: в Anthropic API и Claude Platform on AWS — Claude Opus 4.6 или новее, Sonnet 4.6 или новее, Haiku 5.5 либо модель Fable. В Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сессиях шлюза приложений Claude с выполненным входом — только Claude Sonnet 5 или новее, Opus 4.7 или новее, Haiku 5.5 и модели Fable. Более старые модели, включая Sonnet 4.5, Opus 4.5, Haiku 4.5 и модели claude-3, не поддерживаются ни у одного провайдера.
- Провайдер: доступен по умолчанию в Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сессиях шлюза приложений Claude с выполненным входом.
Заблокировано по умолчанию, среди более длинного списка в документе: загрузка и выполнение кода вроде 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.
Как его включить и какие есть ограничения:
- Нельзя войти в
bypassPermissionsиз сессии, запущенной без его включения. Включите его при запуске черезpermissions.defaultMode: "bypassPermissions"илиclaude --permission-mode bypassPermissions. Флаг--dangerously-skip-permissionsравнозначен. - При первом запуске интерактивной сессии с включённым этим режимом Claude Code показывает диалог с предупреждением, где нужно принять на себя ответственность за действия, выполненные без проверок разрешений. Если вы соглашаетесь, Claude Code задаёт
skipDangerousModePermissionPromptравнымtrueв~/.claude/settings.json, и последующие сессии пропускают диалог. Если отказываетесь, Claude Code завершается. - В Linux и macOS Claude Code отказывается стартовать в режиме
bypassPermissions, если запущен от root или подsudo. Внутри распознанной песочницы проверка пропускается автоматически. Чтобы работать автономно в контейнере, используйте конфигурацию dev-контейнера, которая запускает Claude Code от имени пользователя без прав root. - В VS Code bypass permissions требует переключателя Allow dangerously skip permissions в настройках расширения; без него режим не появляется в индикаторе.
- Облачные сессии не учитывают
defaultMode: "bypassPermissions"или"dontAsk"из ваших файлов настроек, так что закоммиченные в репозиторий настройки не могут запустить облачную сессию в режиме bypass-permissions.
Даже в этом режиме каждое из действий, которые ни один режим не одобряет автоматически, по-прежнему вызывает запрос или отказ: инструменты, подпавшие под явное правило 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"
Правила вместо общих режимов
В документе сказано, что режимы задают базовый уровень, а поверх можно наложить правила разрешений, чтобы заранее одобрить или заблокировать конкретные инструменты:
- Правила deny блокируют в каждом режиме, включая
bypassPermissions. - Правила allow не действуют в
bypassPermissions. - Чтобы требовать контрольную точку с участием человека перед определёнными командами, оставаясь в режиме auto, добавьте правила
permissions.ask. - При входе в режим auto широкие правила allow, дающие выполнение произвольного кода, отбрасываются: общие
Bash(*)илиPowerShell(*), интерпретаторы с подстановочными знаками вродеBash(python*), команды запуска менеджеров пакетов и правила allow дляAgent. Узкие правила вродеBash(npm test)продолжают действовать, а Claude Code восстанавливает отброшенные правила, когда вы выходите из режима auto. - Ещё один способ получать меньше запросов без классификатора, из типовых конфигураций документа: режим Manual плюс песочница Bash в режиме auto-allow. Выполните
claude --permission-mode default, затем/sandboxи выберите auto-allow. Нужна встроенная песочница Bash в macOS, Linux и WSL2.
Синтаксис правил — в документе 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 в файлах настроек не одобряют заранее запись в защищённые пути.
Какой режим выбрать
Эти рекомендации — наше прочтение разделов выше, а не официальное дерево решений:
- Незнакомый код, чувствительная работа:
default(Manual). - Итерации над кодом, за которым вы следите:
acceptEdits, а изменения потом просматривайте черезgit diff. - Вы хотите разобраться в кодовой базе, прежде чем её трогать:
plan. - Долгие задачи, где вы не хотите, чтобы вас прерывали, но хотите сохранить проверки безопасности:
auto, помня, что, по документу, он не гарантирует безопасность. - CI и скрипты:
dontAskсо списком--allowedTools. - По-настоящему автономные запуски:
bypassPermissions, только в изолированной среде вроде контейнера или виртуальной машины, от имени пользователя без прав root.
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 и непреднамеренных действий, поэтому ему место в изолированных средах.
Источники
- Claude Code: Choose a permission mode (каждый режим, флаг, ключ настройки, сочетание клавиш и ограничение на этой странице)
- Claude Code: Permissions (правила allow, ask и deny; ссылка из документа выше, здесь не цитируется построчно)
- Claude Code: Configure auto mode (доверенная инфраструктура для режима auto; ссылка из документа выше, здесь не цитируется построчно)