Разрешения и режимы разрешений
- Что означают три вердикта разрешений (allow / ask / deny)
- Как правила разрешений сопоставляют инструмент с шаблоном
- Шесть режимов разрешений и когда использовать каждый
- Почему режим auto теперь стартовый для интерактивных сессий — и как от него отказаться
- Как режим auto заменяет запросы подтверждения классификатором безопасности
- Как составить разумный стартовый allowlist, который сокращает запросы, не жертвуя безопасностью
- Где хранить правила разрешений проекта и личные правила
Разрешения определяют, что Claude Code может делать, не останавливаясь, чтобы спросить вас. Настроите хорошо — получите рабочий поток без потери контроля; настроите плохо — будете либо подтверждать всё не глядя, либо тонуть в запросах.
Три вердикта
Любое возможное действие получает один из вердиктов:
Правила обычно сопоставляют инструмент с шаблоном, например allow Bash(npm run test:*) или deny Read(./.env).
Разрешить инструмент + шаблон
Bash(npm run test:*)
Запретить инструмент + шаблон
Read(./.env)
Режимы разрешений
Режим задаёт общую политику сессии. Их шесть. Распространённые режимы переключаются через Shift+Tab, либо задайте permissions.defaultMode в настройках.
| Режим | Выполняется без запроса | Когда использовать |
|---|---|---|
default (отображается как Manual) | Только чтение | Повседневная работа, чувствительные изменения |
acceptEdits | Чтение, правка файлов, типовые команды файловой системы | Доверенная, чётко ограниченная сессия правок |
plan | Чтение, а также команды, одобренные классификатором, если доступен режим auto; никогда не правит ваш исходный код | Крупные или рискованные задачи — см. Plan Mode |
auto (стартовый режим интерактивных сессий с v2.1.283) | Всё, с проверкой классификатором безопасности | Длинные задачи, где настоящий риск — усталость от запросов |
dontAsk | Чтение файлов в ваших рабочих каталогах и заранее одобренные инструменты; всё, что вызвало бы запрос, отклоняется | Жёстко ограниченные CI и скрипты |
bypassPermissions | Всё, без проверок | Только песочницы/контейнеры — никогда на машине с секретами |
Режим auto теперь по умолчанию в Claude Code
Начиная с Claude Code v2.1.283, auto — встроенный стартовый режим интерактивных сессий в терминале и VS Code на всех тарифах и у всех провайдеров. В более ранних версиях он был режимом по умолчанию для новых сессий только на тарифах Pro, Max и Team, начиная с 14 августа 2026 года. Обоснование Anthropic (по результатам собственных тестов с участием более 1000 платных пользователей): классификатор поймал 89 % вредных действий против 13,6 % при ручной проверке — потому что привыкшие пользователи подтверждали около 97 % ручных запросов, не читая их.
Два исключения сохраняют ваш замысел:
- Если вы задали
permissions.defaultModeв пользовательских настройках, он остаётся как есть, пока вы не примете однократное предложение переключиться в приложении. - Если значение по умолчанию задаёт ваша организация (управляемые настройки Team/Enterprise), ничего автоматически не меняется.
Режимы можно переключать посреди сессии через Shift+Tab. Связанное изменение, уже действующее на этих тарифах: вызовы классификатора в режиме auto больше не учитываются в ваших лимитах использования.
Включить заранее (до 14 авг.) — сделать auto режимом по умолчанию
~/.claude/settings.json
{
"permissions": {
"defaultMode": "auto"
}
}Сохранить прежнее поведение с запросами после 14 авг.
~/.claude/settings.json
{
"permissions": {
"defaultMode": "default"
}
}Как на самом деле работает режим auto
auto — золотая середина между подтверждением каждого шага и отключением безопасности. Вместо того чтобы спрашивать вас, отдельная модель-классификатор проверяет каждое действие перед выполнением и блокирует всё, что выходит за рамки вашего запроса, затрагивает незнакомую ей инфраструктуру или похоже на действие, продиктованное враждебным контентом, который Claude только что прочитал. Явные правила ask по-прежнему останавливаются и спрашивают вас.
Блокируются, например, curl | bash, force push, деплой и миграции в продакшене, rm -rf по неразрешённым переменным, подмена транскрипта, разрушительные git-команды, отбрасывающие незакоммиченную работу, и отправка секретов на внешние адреса — а рутинная работа (локальные правки, установка заявленных зависимостей, HTTP только для чтения, push в вашу собственную ветку) проходит без остановок. Если одно и то же действие блокируется снова и снова, режим auto приостанавливается и возвращает запросы вам.
Режим auto не гарантирует безопасность — он сокращает число запросов, но не отменяет необходимости проверять чувствительные операции. Доступность зависит от тарифа, модели и (на Team/Enterprise) переключателя администратора. Если вы действительно запускаете задачи без присмотра (cron, облачные сессии, CI), сочетайте его с Hardening Autonomous Runs — auto всё равно не то же самое, что bypassPermissions.
- bypassPermissions место в песочнице. Работа на вашей настоящей машине с отключёнными запросами — именно так агент и оказывается там, куда ему не следовало лезть. Оставьте его для одноразовых окружений — если на самом деле вам нужно меньше запросов, используйте вместо него режим auto. См. Hardening Autonomous Runs по адресу /docs/security/hardening-autonomous-runs.
Разумный стартовый allowlist
Цель: заранее разрешить безопасное и повторяющееся; разрушительное оставить на ask или deny.
- Чтение файлов, запуск ваших команд тестов/lint/сборки, git status/diff.
- Установка зависимостей, запись файлов вне проекта, сетевые вызовы.
- Чтение секретных файлов (.env, файлы ключей), force-push, rm -rf.
Храните правила проекта в settings.json (общий файл), а личные переопределения — в settings.local.json.
- Пусть система учится на ваших подтверждениях: несколько раз одобрите одну и ту же безопасную команду — и вы точно будете знать, что добавить в allowlist, превратив повторяющиеся запросы в одно правило.
- Три вердикта: allow (без запроса), ask (по умолчанию — пауза и подтверждение), deny (никогда).
- Правила сопоставляют инструмент с шаблоном, например Bash(npm run test:*) или Read(./.env).
- Шесть режимов задают политику сессии: default (Manual), acceptEdits, plan, auto, dontAsk, bypassPermissions.
- С v2.1.283 auto — стартовый режим интерактивных сессий в терминале и VS Code на всех тарифах; заданный вами defaultMode остаётся на месте, а значения по умолчанию, управляемые организацией, не затрагиваются.
- Режим auto проверяет каждое действие классификатором безопасности вместо запросов к вам — это средство от усталости от запросов, а не bypassPermissions.
- Составьте allowlist: безопасное и повторяющееся — allow, средний риск — ask, разрушительное — deny.
- Общие правила хранятся в settings.json; личные переопределения — в settings.local.json.
Проверьте себя
0/6Далее
- settings.json: система конфигурации
- Hooks — детерминированно применяйте правила сверх allow/deny
- Sandbox Credential Masking — позвольте
gh,npmиawsпроходить аутентификацию, не выдавая реальный секрет команде в песочнице - Безопасность и ответственное использование