SpyBara
Go Premium

permission-modes.md 2026-09-21 22:59 UTC to 2026-09-22 23:59 UTC

This page contains 131 additions and 114 deletions.

2026
Thu 10 23:00 Sat 12 03:02 Sun 13 21:00 Fri 18 23:58 Sat 19 23:57 Tue 22 23:59 Fri 25 23:58

Выберите режим разрешений

Контролируйте, будет ли Claude просить разрешение перед редактированием файлов или выполнением команд. Переключайте режимы с помощью Shift+Tab в CLI, индикатора режима в VS Code или селектора режима в Desktop.

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

На планах Pro, Max и Team встроенный начальный режим разрешений — это режим auto. Какой режим начинается в сеансе охватывает интерфейсы и параметры, которые изменяют начальный режим разрешений. Вы также можете изменить режим разрешений работающего сеанса в любое время.

Available modes

Каждый режим делает различный компромисс между удобством и контролем. В таблице ниже показано, что Claude может делать без запроса разрешения в каждом режиме. 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". Метка Manual и псевдоним manual требуют Claude Code v2.1.200 или более поздней версии. Метка настольного приложения не зависит от вашей версии CLI.

Записи в защищённые пути никогда не одобряются автоматически, кроме режима bypassPermissions и сеансов Plan Mode, где доступны разрешения на обход, то есть сеансов, запущенных способом, который помещает bypassPermissions в цикл режимов.

Режимы устанавливают базовый уровень. Наложите правила разрешений сверху, чтобы предварительно одобрить или заблокировать определённые инструменты. Правила отказа блокируют в каждом режиме, включая bypassPermissions. Правила отказа и запроса не применяются к EndConversation, пока Claude всё ещё имеет хотя бы один другой инструмент, который он может вызвать. Правила разрешения не имеют эффекта в bypassPermissions.

Actions no mode auto-approves

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

  • Инструменты, соответствующие явному правилу запроса

  • Инструменты соединителя, которые ваша организация установила на ask, в сеансах, где эта настройка достигает Claude Code

  • Инструменты, требующие взаимодействия с пользователем: встроенный инструмент AskUserQuestion и MCP инструменты, отмеченные requiresUserInteraction

  • rm и rmdir удаления, нацеленные на критический путь, которые не одобряет ни одно правило разрешения или hook PreToolUse с "allow"

  • Защита от кросс-сеансового обмена сообщениями

  • Чтение вне рабочих директорий, пока permissions.blockReadsOutsideWorkingDirectories включено: распознанные команды Bash для чтения файлов и любой неизолированный повтор, который требует одобрения для запуска вне песочницы, запрашивают даже в режиме auto и режиме bypassPermissions. Требует Claude Code v2.1.257 или более поздней версии.

    Команда, которую парсер оболочки не может отследить, такая как команда, которая меняет директорию более одного раза или запускает подоболочку, запрашивает то же самое, даже если она не называет никакой внешний путь. Этот запрос не применяется, когда команда выполняется в песочнице и песочница обеспечивает блокировку.

Распространённые конфигурации

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

Вы хотите Начните с Необходимая изоляция Примечания
Проверить каждое действие самостоятельно Режим Manual: claude --permission-mode default Нет Чувствительная работа, незнакомый код
Итерировать локально с меньшим количеством запросов, без классификатора Режим Manual плюс песочница Bash в режиме auto-allow: claude --permission-mode default, затем запустите /sandbox и выберите auto-allow Встроенная песочница Bash, на macOS, Linux и WSL2 Правила отказа по-прежнему применяются, и правила запроса, которые называют команду, такие как Bash(git push *), по-прежнему запрашивают. Чтобы включить песочницу из файла параметров вместо этого, установите sandbox.enabled на true
Исследовать перед изменением чего-либо claude --permission-mode plan Нет Claude Code блокирует редактирование до тех пор, пока вы не одобрите план
Работать в режиме auto без участия claude --permission-mode auto, встроенный начальный режим разрешений на Pro, Max и Team Нет; песочница или контейнер добавляет защиту в глубину Требует поддерживаемую модель, и ваша организация может отключить режим auto
Запустить в CI с точным списком разрешений claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" Нет, кроме того, что предоставляет ваш CI runner Claude Code в веб-версии игнорирует dontAsk из файлов параметров
Запустить полностью автоматически внутри контейнера claude -p "<prompt>" --dangerously-skip-permissions Требуется: контейнер, виртуальная машина или runtime песочницы; на Linux и macOS запустите его как непривилегированный пользователь Claude Code в веб-версии игнорирует этот режим из файлов параметров. В этом запуске -p несколько вызовов, которые по-прежнему запрашивают, отклоняются вместо этого

Песочница Bash и режим auto работают независимо и объединяются, за исключением случаев, перечисленных в разделе Режимы песочницы. Для полного взаимодействия см. Как песочница связана с разрешениями и режимами разрешений и Как изоляция связана с режимами разрешений.

Какой режим начинается в сеансе

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

  1. Флаг --permission-mode или --dangerously-skip-permissions

  2. permissions.defaultMode в файле параметров

    Если вы установите "auto" в .claude/settings.json или .claude/settings.local.json, значение не вступает в силу, и Claude Code затем использует встроенное значение по умолчанию вместо defaultMode из ~/.claude/settings.json. Если вы установите "bypassPermissions" в этих двух файлах, это также не вступает в силу, и сеанс начинается в режиме Manual. Другие значения применяются из любого файла параметров.

  3. Встроенное значение по умолчанию

Разговоры, которые расширение VS Code запускает, следуют собственному списку расширения в Переключение режимов разрешений. Для режима разрешений, в котором Claude Code запускает возобновленный сеанс, см. режим разрешений при возобновлении.

Встроенное значение по умолчанию auto требует Claude Code v2.1.228 или позже на macOS, Linux и WSL, и v2.1.233 или позже на нативной Windows. На более ранних версиях встроенное значение по умолчанию — Manual.

Встроенное значение по умолчанию зависит от того, как вы запускаете Claude Code, от вашего плана и от того, может ли Claude Code получить свои флаги функций. Первая строка, которая соответствует вашему сеансу, применяется. Таблица охватывает сеансы, которые вы запускаете в терминале или через расширение VS Code; для настольного приложения и claude.ai см. вкладки Desktop и Web в Переключение режимов разрешений.

Как вы запускаете Claude Code Встроенный начальный режим разрешений
Любой файл параметров устанавливает disableAutoMode на "disable" default
Получение флагов функций отключено default
Ваш первый сеанс после установки Claude Code или обновления до версии, которая добавляет это значение по умолчанию, если только после свежей установки Claude Code не получит флаги вовремя default
claude -p или Agent SDK default
Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, Claude Platform on AWS или сеанс подписанного Claude apps gateway default
План Pro, Max или Team, в терминале или через расширение VS Code auto
План Enterprise или ключ API Claude Console default

Когда получение флагов функций отключено или в первом сеансе после установки или обновления, где флаги ещё не прибыли, расширение VS Code игнорирует каждый файл параметров при выборе начального режима разрешений.

Когда флаг, файл параметров или встроенное значение по умолчанию выбирает auto, но режим auto недоступен для сеанса, Claude Code запускает сеанс в режиме Manual вместо этого. Режим auto недоступен, когда сеанс не соответствует требованиям доступности, таким как файл параметров, отключающий его, или модель, которая его не поддерживает, или когда Anthropic временно отключила его на стороне сервера.

В первый раз, когда встроенное значение по умолчанию запускает один из ваших сеансов в режиме auto, Claude Code показывает уведомление, которое ссылается на эту страницу:

  • В терминале один раз в верхней части сеанса
  • В расширении VS Code как карточка на экране нового разговора, которая остаётся до тех пор, пока вы её не закроете

На планах Pro, Max и Team, если ваш ~/.claude/settings.json устанавливает defaultMode отличный от auto и ни один другой файл параметров не устанавливает его, ваши сеансы продолжают запускаться в этом режиме. Claude Code спрашивает один раз в терминале или в расширении VS Code, следует ли изменить параметр на режим auto. Если вы отклоните, ваш параметр остаётся как есть.

Начните в другом режиме разрешений

Вы можете установить начальный режим разрешений для одного сеанса или как значение по умолчанию для каждого сеанса на машине, в проекте или в организации. Когда более одного файла параметров устанавливает permissions.defaultMode, приоритет параметров решает, поэтому значение проекта или управляемое значение превосходит ~/.claude/settings.json. Чтобы изменить режим разрешений уже работающего сеанса, см. Переключение режимов разрешений.

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

Этот пример делает каждый сеанс терминала на вашей машине начинающимся в режиме Manual, чьё значение конфигурации — default. Сохраните его в ~/.claude/settings.json:

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

Следующий сеанс, который вы запускаете, показывает ⏸ manual mode on в строке состояния.

Переключение режимов разрешений

Каждый интерфейс имеет свой элемент управления для переключения режимов разрешений во время сеанса и свой способ выбора режима разрешений, в котором начинаются новые сеансы. Выберите ваш интерфейс, чтобы увидеть его элементы управления.

Во время сеанса: нажмите Shift+Tab для циклического переключения режимов разрешений. Из auto первое нажатие переключается на default, и цикл затем выполняется default → acceptEdits → plan → обратно на default. Дополнительные режимы, описанные ниже, вставляются после plan. Строка состояния показывает активный режим как серый ⏸ manual mode on для default, или как ⏵⏵ accept edits on, ⏸ plan mode on, ⏵⏵ auto mode on, ⏵⏵ don't ask on или ⏵⏵ bypass permissions on.

Не все режимы находятся в цикле по умолчанию:

  • auto: появляется, когда режим auto доступен; циклическое переключение на него переключает режимы без подтверждающего запроса
  • bypassPermissions: появляется после запуска с --permission-mode bypassPermissions, --dangerously-skip-permissions, --allow-dangerously-skip-permissions или permissions.defaultMode: "bypassPermissions" в пользовательских, --settings или управляемых параметрах. Вариант --allow- добавляет режим разрешений в цикл без активации
  • dontAsk: никогда не появляется в цикле; установите его с помощью --permission-mode dontAsk

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

Из запроса разрешения Bash: в режимах разрешений Manual и acceptEdits, когда режим auto доступен, Claude Code добавляет Да, и переключиться на режим auto к запросу разрешения команды Bash. Выберите его, чтобы одобрить команду и переключить сеанс на режим auto. Запросы инструмента PowerShell не предлагают опцию. Требует Claude Code v2.1.247 или позже.

Claude Code не добавляет опцию к запросам, вынужденным одним из ваших правил ask или hook, потому что режим auto по-прежнему показывает вам эти запросы, поэтому переключение их не удалит.

При запуске: передайте режим разрешений как флаг.

claude --permission-mode plan

Как значение по умолчанию: установите permissions.defaultMode в область, которую вы хотите, как описано в Начните в другом режиме разрешений.

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

Автоматическое одобрение редактирования файлов с режимом acceptEdits

Режим acceptEdits позволяет Claude создавать и редактировать файлы в вашем рабочем каталоге без запроса. Строка состояния показывает ⏵⏵ accept edits on, пока этот режим активен.

В дополнение к редактированию файлов, режим acceptEdits автоматически одобряет распространённые команды Bash файловой системы: mkdir, touch, rm, rmdir, mv, cp и sed. Эти команды также автоматически одобряются при префиксе с безопасными переменными окружения, такими как LANG=C или NO_COLOR=1, или обёртками процессов, такими как timeout, nice или nohup. Как и редактирование файлов, автоматическое одобрение применяется только к путям внутри вашего рабочего каталога или additionalDirectories. Пути вне этой области, записи в защищённые пути, удаления rm и rmdir, нацеленные на критический путь, и все остальные команды Bash, кроме встроенного набора только для чтения, по-прежнему требуют запроса.

Когда инструмент PowerShell включен, режим acceptEdits также автоматически одобряет Set-Content, Add-Content, Clear-Content и Remove-Item на путях в области действия, вместе с их распространёнными псевдонимами. Применяются те же правила области действия и защищённых путей, и Remove-Item получает свою собственную проверку. Позиционный аргумент, содержащий символ кавычки, такой как апостроф в Set-Content .\notes.txt "It's done", по-прежнему требует запроса даже на путях в области действия, потому что Claude Code не может статически проверить аргумент, чьи цитируемые и нецитируемые прочтения отличаются. Передайте содержимое через именованный параметр, такой как -Value, чтобы избежать запроса.

Используйте acceptEdits, когда вы хотите проверить изменения в вашем редакторе или через git diff после того, как они будут сделаны, а не одобрять каждое редактирование в строке.

Нажмите Shift+Tab один раз из режима Manual, чтобы войти в него, или запустите его напрямую:

claude --permission-mode acceptEdits

Анализируйте перед редактированием с режимом plan

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

Когда режим auto доступен и параметр useAutoModeDuringPlan включен, что является значением по умолчанию, классификатор проверяет команды оболочки во время планирования вместо запроса у вас. Одобренные команды выполняются, и отклонённые блокируются. В противном случае команды вне встроенного набора только для чтения требуют одобрения, включая когда режим auto-allow песочницы включен. В интерактивных сеансах терминала с доступными разрешениями на обход ни классификатор, ни запрос не применяются к командам планирования; Пропустить все проверки с режимом bypassPermissions охватывает несколько вещей, которые по-прежнему требуют запроса там. В v2.1.212 через v2.1.217 сеансы без доступных разрешений на обход требовали запроса для каждой команды вне набора только для чтения, независимо от того, был ли доступен режим auto.

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

claude --permission-mode plan

Нажмите Shift+Tab снова, чтобы выйти из режима plan без одобрения плана.

Проверьте и одобрите план

Когда план готов, Claude представляет его и спрашивает, как действовать дальше. Из этого запроса вы можете выбрать:

  • Да, и использовать режим auto: одобрить и запустить в режиме auto. Если режим auto недоступен для вашего сеанса, например потому что ваша организация его отключила, эта опция читается как Да, автоматически принять редактирование. Если вы запустили сеанс с включёнными разрешениями на обход, опция читается как Да, и переключиться на BYPASS PERMISSIONS (без дальнейших запросов) для этого сеанса вместо этого.
  • Да, вручную одобрить редактирование: одобрить и проверить каждое редактирование отдельно.
  • Нет, продолжить планирование: остаться в режиме plan и сказать Claude, что изменить.

Одобрение плана выходит из режима plan и переключает сеанс на режим разрешений, который описывает каждая опция одобрения, поэтому Claude начинает редактирование. Чтобы снова планировать, вернитесь в режим plan с помощью Shift+Tab или добавьте префикс к следующей подсказке с /plan.

Нажмите Ctrl+G, чтобы открыть предложенный план в текстовом редакторе по умолчанию и отредактировать его непосредственно перед тем, как Claude продолжит. Когда включена опция showClearContextOnPlanAccept, список получает первую опцию, которая одобряет план и очищает контекст планирования.

Принятие плана также даёт сеансу сгенерированное название на основе плана, если вы уже не назвали сеанс.

Установите режим plan как значение по умолчанию

Чтобы сделать режим plan значением по умолчанию для сеансов терминала проекта, установите defaultMode на plan в .claude/settings.json, размещённый как пример в Начните в другом режиме разрешений показывает. Разговоры, которые расширение VS Code запускает, не читают параметры проекта для начального режима разрешений. Там установите claudeCode.initialPermissionMode на plan в параметрах пользователя VS Code вместо этого.

Исключение запросов разрешения с помощью автоматического режима

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

На планах Pro, Max и Team автоматический режим является встроенным начальным режимом разрешений.

Классификатор также проверяет каждое сообщение, которое Claude отправляет другому агенту с помощью SendMessage, будь то простой текст или структурированное сообщение команды агентов, перед тем как Claude Code его доставит, как в автоматическом режиме, так и в режиме плана, пока классификатор проверяет команды; проверка отправки требует Claude Code v2.1.222 или более поздней версии.

Классификатор также проверяет и одобряет или блокирует удаления rm и rmdir, нацеленные на критический путь, такие как rm -rf / и rm -rf ~, включая случаи, когда удаление находится внутри подстановки команды или процесса.

Автоматический режим также побуждает Claude продолжать работу без остановки для уточняющих вопросов, хотя Claude по-прежнему спрашивает, когда ваш запрос или навык явно на этом основаны. Для более сильного автономного поведения в режиме, который по-прежнему вас спрашивает, установите стиль вывода Proactive.

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

  • План: Все планы.
  • Организация: на Team и Enterprise автоматический режим доступен по умолчанию. Администраторы могут отключить его для организации, установив permissions.disableAutoMode на "disable" в управляемых параметрах.
  • Модель: на Anthropic API и Claude Platform on AWS, Claude Opus 4.6 или более поздней версии, Sonnet 4.6 или более поздней версии, или модель Fable. На Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сеансах Claude apps gateway с входом, только Claude Sonnet 5, Opus 4.7 или более поздней версии и модели Fable. Более старые модели, включая Sonnet 4.5, Opus 4.5, Haiku и модели claude-3, не поддерживаются ни на одном поставщике.
  • Поставщик: доступен по умолчанию на Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сеансах Claude apps gateway с входом.

Если Claude Code сообщает, что автоматический режим недоступен, сначала проверьте эти требования и не устанавливает ли какой-либо файл параметров disableAutoMode. Anthropic также может отключить автоматический режим на стороне сервера, или сервер может отклонить автоматический режим для вашей учетной записи. Сеанс, получивший любой из этих ответов, держит автоматический режим отключенным до конца сеанса, поэтому позже начните новый сеанс.

Отдельное сообщение, которое называет модель и говорит, что автоматический режим "не может определить безопасность" действия, означает, что запрос классификатора не удался. Этот сбой обычно временный, но на Amazon Bedrock он может повторяться до тех пор, пока ваша учетная запись не сможет вызвать названную модель. Смотрите справочник ошибок для причин и что делать.

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

Автоматический режим на Bedrock, Agent Platform или Foundry

На Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и сеансах Claude apps gateway с входом автоматический режим появляется в цикле Shift+Tab по умолчанию. Появление в цикле не изменяет режим разрешений, в котором начинается сеанс: на этих поставщиках сеансы терминала начинаются в вашем defaultMode, который является Manual, если вы его не измените, и разговоры в расширении VS Code начинаются в Manual, если claudeCode.initialPermissionMode или выбранный вами режим в расширении не устанавливает один. На этих поставщиках поддерживаются только Claude Sonnet 5, Opus 4.7 или более поздней версии и модели Fable.

Чтобы сделать автоматический режим режимом разрешений по умолчанию при запуске, установите "permissions": {"defaultMode": "auto"} в пользовательские или управляемые параметры. В сеансах, которые запускает расширение VS Code, вместо этого выберите Auto из индикатора режима. Переключение режимов разрешений охватывает то, что имеет приоритет над этим выбором.

Проверка /doctor предлагает этот пользовательский параметр по умолчанию на этих поставщиках так же, как на Anthropic API.

Чтобы предотвратить использование автоматического режима разработчиками, установите disableAutoMode на "disable" в управляемых параметрах. Это удаляет auto из цикла Shift+Tab, и сеанс, запущенный с --permission-mode auto, начинается в Manual. Сеанс, уже работающий в автоматическом режиме, выходит из него, когда параметр достигает этого сеанса из источника, развернутого администратором, и показывает auto mode disabled by settings. До v2.1.251 работающий сеанс оставался в автоматическом режиме до конца.

В v2.1.158 через v2.1.206 автоматический режим был отключен на этих поставщиках до тех пор, пока вы не установили CLAUDE_CODE_ENABLE_AUTO_MODE=1, и Claude Code игнорировал defaultMode: "auto" на этих поставщиках, если переменная также не была установлена. Переменная по-прежнему принимается для совместимости и не имеет эффекта с v2.1.207 и далее.

Проверка классификатора на стороне сервера

На планах Enterprise и учетных записях, которые используют Claude API, на Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform и Microsoft Foundry, и всякий раз, когда вы указываете ANTHROPIC_BASE_URL на LLM gateway или proxy, Claude Code в автоматическом режиме просит сервер проверить действия, которые идут к классификатору как часть запросов модели сеанса. Где сервер их проверяет, его вердикты решают эти действия. Где он этого не делает, чаще всего потому, что LLM gateway или proxy мешает трафику, или потому, что платформа, регион или учетные данные еще не имеют проверок на стороне сервера, Claude Code возвращается к своим собственным запросам классификатора, и как только этот откат сохраняется для остальной части сеанса, он показывает уведомление о расходах на запросы классификатора на учетных записях, где эти запросы выставляются счетом. Чтобы пропустить запрос к серверу и всегда использовать собственные запросы классификатора Claude Code, установите CLAUDE_CODE_AUTO_MODE_SERVER=0. Переменная не читается при прямом подключении к Anthropic API. Если вы установили CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 и оставили CLAUDE_CODE_AUTO_MODE_SERVER неустановленным, Claude Code также перестает запрашивать сервер.

Запрос к серверу по умолчанию требует Claude Code v2.1.278 или более поздней версии.

Что классификатор блокирует по умолчанию

Классификатор доверяет вашему рабочему каталогу и удаленным хранилищам, которые были для него настроены при запуске сеанса. Удаленное хранилище, добавленное или переориентированное во время сеанса с помощью git remote add или git remote set-url, не является доверенным, и все остальное рассматривается как внешнее до тех пор, пока вы не настроите доверенную инфраструктуру. До v2.1.200 удаленные хранилища, добавленные в середине сеанса, также были доверенными.

Блокируется по умолчанию:

  • Загрузка и выполнение кода, например curl | bash
  • Отправка чувствительных данных на внешние конечные точки
  • Развертывание и миграция в production
  • Массовое удаление в облачном хранилище
  • Предоставление разрешений IAM или репозитория
  • Изменение общей инфраструктуры
  • Необратимое уничтожение файлов, которые существовали до сеанса
  • Force push
  • Фиксация или отправка изменения, которое отправило бы секреты или чувствительные данные за пределы репозитория при его запуске, или расширило бы то, что развертывание раскрывает. Это охватывает рабочий процесс CI или конфигурацию развертывания, которая передает секрет на назначение, которое его еще не получает, скрипт или шаг настройки, который читает хранилище секретов и отправляет данные, и изменение конфигурации, которое расширяет то, что развертывание публикует, такое как реестр, видимость, артефакт или параметр sourcemap. Проверка применяется на любой ветке, применяется даже когда репозиторий является общедоступным, и срабатывает при фиксации или отправке изменения, независимо от того, запускает ли эта фиксация или отправка конвейер; очистка требует назвать эффект выполнения, а не только фиксацию или отправку. До v2.1.211 эта проверка была ограничена ветвью по умолчанию: отправка туда была заблокирована, когда она содержала чувствительное содержимое, изменения скрытые или неправильно описанные относительно того, что вы просили, содержимое перенесенное из-за пределов репозитория или направленное вокруг проверки, которую вы просили
  • git reset --hard, git checkout -- ., git restore ., git clean -fd, git stash drop или git stash clear, которые классификатор предполагает отбросили бы незафиксированные изменения
  • git commit --amend когда фиксация в HEAD не была создана в этом сеансе
  • С v2.1.198, git commit --amend когда фиксация в HEAD уже была отправлена. Переформулировка только сообщения не блокируется: --amend -m без ничего вновь поставленного на сцену, на фиксации, которую Claude создал во время этого сеанса
  • terraform destroy, pulumi destroy, cdk destroy или terragrunt destroy, и применение плана, который уничтожает ресурсы

Claude Code v2.1.195 и более поздние версии блокируют больше категорий по умолчанию. Несколько зависят от записей окружения, таких как чувствительные удаленные цели и защищенные области IaC, которые вы можете сузить до конкретных имен.

  • Запись в менеджер секретов или изменение записей DNS или сертификатов TLS
  • Слияние pull request, который не одобрил ни один человек, одобрение собственного pull request Claude или отключение проверок CI
  • Размещение комментария, который сам по себе является командой для автоматизации, такой как atlantis apply или /deploy или /merge бота
  • Переключение, постепенное развертывание или удаление флага функции production
  • Применение изменений инфраструктуры к защищенной области IaC или осушение и удаление узлов кластера
  • Записи в общий вычислительный кластер, которые выходят за пределы названного вами ресурса, такие как селектор меток или --all, который захватывает задания других пользователей
  • Создание ресурсов Kubernetes, которые работают на каждом узле или перехватывают трафик кластера, такие как DaemonSets и admission webhooks
  • Интерактивные оболочки или port-forwards в чувствительную удаленную цель
  • Открытие туннеля или обратной оболочки, которая делает локальный сервис доступным из общедоступного интернета
  • Вывод живого учетного данного или токена в стенограмму или файл
  • Доступ к местоположению, указанному как местоположение чувствительных данных в вашем окружении, или копирование данных из него. Начиная с v2.1.198, это также блокирует отправку данных из одного на аудиторию, которую запись исключает
  • Маршрутизация установки пакета вокруг вашего внутреннего реестра пакетов на общедоступный реестр. Начиная с v2.1.198, это также применяется, когда вы сказали Claude, что внутренний реестр или зеркало существует в разговоре, а не только когда один указан в вашем окружении
  • Запуск команды с флагом, который отключает защиту безопасности, например --insecure
  • Запуск цикла автономного агента, который работает без одобрения человека или песочницы, такой как запущенный с --dangerously-skip-permissions или --no-sandbox. Начиная с v2.1.198, это также охватывает запуск стороннего агента или eval harness с отключенной изоляцией и одобрением для каждого действия, такой как runner, запущенный с --yes-always
  • Claude in Chrome действия браузера, которые могут отправить содержимое страницы, cookies или учетные данные за пределы origin

Claude Code v2.1.198 и более поздние версии также блокируют эти по умолчанию:

  • Удаление файлов в /tmp, $TMPDIR или другом общем каталоге scratch или cache по подстановочному знаку, glob или фильтру возраста, а не по конкретному названному пути
  • Включение чувствительных деталей в содержимое, отправленное, загруженное, опубликованное или написанное другим людям или общим системам, когда ваше собственное сообщение не авторизовало эти детали для этого получателя. Тела PR и issues, сообщения фиксации и комментарии считаются этим видом исходящего содержимого, когда репозиторий находится вне границы доверия или является общедоступным, включая собственные общедоступные репозитории вашей организации; внутренние пути файлов, кодовые имена, данные живого ответа API, такие как электронные письма или идентификаторы учетных записей, и идентификаторы инфраструктуры считаются чувствительными деталями. Область PR, issue и сообщения фиксации требует Claude Code v2.1.200 или более поздней версии. Живые личные данные из ответа API в теле PR или issue, такие как адрес электронной почты, идентификатор учетной записи или организации или метрика использования, требуют, чтобы вы назвали эти детали и получателя независимо от видимости репозитория или границы доверия. Эта проверка требует Claude Code v2.1.203 или более поздней версии
  • Отправка нажатий клавиш на собственную панель tmux Claude Code для управления его собственным интерфейсом, что классификатор рассматривает как Claude, изменяющий свои собственные разрешения или надзор

Claude Code v2.1.200 и более поздние версии также блокируют эти по умолчанию:

  • Комментирование, удаление или force-passing теста или утверждения, которое охраняет поведение безопасности, такое как аутентификация, контроль доступа, валидация входных данных или песочница
  • Удаление или разборка stateful ресурса, который Claude не создал в сеансе, когда не применяется более конкретное правило удаления и вы не назвали этот ресурс
  • Переориентирование базового URL API, конечной точки proxy, получателя webhook или зеркала реестра на хост третьей стороны, который не подходит для задачи, включая в файлы примеров, такие как .env.example
  • Изменение того, куда идут отправки с помощью git remote set-url или git remote add, если вы не назвали новое удаленное хранилище
  • Отправка секретов или личных или доверенных данных в репозиторий, известный как общедоступный, или отправка конфиденциального материала туда, который не является частью собственной работы этого репозитория. Собственный предмет репозитория dotfiles является единственным исключением для личных или доверенных данных, и содержимое из приватного репозитория, достигающее любой общедоступной поверхности, блокируется так же; оба уточнения требуют Claude Code v2.1.203 или более поздней версии. До v2.1.203 личные данные были сгруппированы с конфиденциальным материалом и блокировались только когда они не были частью собственной работы этого репозитория. Когда видимость репозитория не установлена, классификатор не блокирует только на этом; он судит содержимое по другим правилам вместо этого
  • Открытие pull request против другого репозитория или организации, форк с помощью gh repo fork или отправка в репозиторий третьей стороны, если вы не назвали эту внешнюю цель

Claude Code v2.1.203 и более поздние версии также блокируют эти по умолчанию:

  • Содержимое из чувствительного локального хранилища или из файла, имя, путь или тип которого отмечает его как чувствительный, входящее в фиксацию, отправку, текст PR или issue, gist или paste или публикацию пакета, если вы не назвали как источник, так и назначение. Стенограммы сеансов и журналы разговоров, папки с точками учетных данных и конфигурации, такие как ключи SSH, облачные учетные данные, профили браузера и история оболочки, и экспорты пользовательских данных, все считаются, и приватность репозитория не очищает это

Claude Code v2.1.205 и более поздние версии также блокируют эти по умолчанию:

  • Запись в стенограммы сеансов Claude Code, файлы истории .jsonl в ~/.claude/projects/ или вашем настроенном каталоге конфигурации, прямо или через команду оболочки. Правило также охватывает строки метаданных, которые Claude Code добавляет к каждой записи стенограммы для своих собственных проверок. Чтение стенограммы не блокируется
  • Рекурсивное принудительное удаление, такое как rm -rf "$VAR" или Remove-Item -Recurse -Force $dir, цель которого является переменной оболочки или glob, укорененным в одной, которая не назначена где-либо в разговоре, который видит классификатор. Значение пришло только из более раннего вывода команды, который классификатор никогда не получает, поэтому классификатор не может проверить цель удаления по другим правилам удаления. Блок очищается, когда вы называете точный удаляемый путь, или когда Claude повторно запускает удаление с разрешенным буквальным путем, написанным в команду. Удаления, цель которых классификатор может разрешить, не затронуты. Цели Remove-Item, которые являются голым * или заканчиваются на /* или \*, никогда не достигают классификатора: Claude Code отклоняет их сразу

Claude Code v2.1.257 и более поздние версии также блокируют эти по умолчанию:

  • Запрос учетных данных из конечной точки метаданных облачного экземпляра, такой как 169.254.169.254, или явная аутентификация облачного, кластерного или реестрового вызова с собственной учетной записью обслуживания машины или идентичностью узла
  • Достижение общедоступного хоста маршрутом, отличным от прямого запроса, такой как туннель, обратная оболочка или конфигурация resolver или proxy, переписанная для указания за пределы
  • Чтение учетных данных, которые принадлежат хосту, а не вашей задаче, такие как сертификаты узла или auth реестра контейнеров узла
  • Подключение к или сканирование соседних контейнеров, подов или ВМ, которые Claude не запустил, или узла под контейнером

Если Claude Code работает где-то, что предназначено для разрешения одного из этих, опишите эту настройку в записи Host containment в autoMode.environment.

Claude Code v2.1.261 и более поздние версии также блокируют эти по умолчанию:

  • Размещение или запись ссылки на общедоступный paste, диаграмму или сервис обмена данными в сообщение, текст PR или issue, документ или где-либо еще, где ссылка будет открыта или получена, когда сам URL несет обмениваемое содержимое, если вы не назвали этот сервис

Разрешено по умолчанию:

  • Локальные операции с файлами в вашем рабочем каталоге
  • Установка зависимостей, объявленных в ваших файлах блокировки или манифестах
  • Чтение .env и отправка учетных данных на их соответствующий API
  • Запросы HTTP только для чтения
  • Отправка на любую ветку репозитория, в котором вы работаете, включая ветку по умолчанию. Ветка, не являющаяся веткой по умолчанию, имя которой отмечает ее как цель развертывания или публикации, такая как production или gh-pages, не охватывается: классификатор судит отправку туда по ее собственным условиям. Содержимое отправки по-прежнему проверяется по другим правилам, permissions.deny правила по-прежнему могут блокировать команды push как написано в каждом режиме, и собственная защита ветки удаленного хранилища по-прежнему применяется. До v2.1.211 разрешены были только отправки на ветку, на которой вы начали, ветки, которые создал Claude, и обычные отправки на ветку по умолчанию, и до v2.1.203 любая прямая отправка на ветку по умолчанию была заблокирована

Claude Code v2.1.195 и более поздние версии также разрешают эти по умолчанию:

  • Удаление точных заданий, которые Claude создал ранее в том же сеансе
  • Чтение, проверка или запись кода, конфигов и моделей угроз, связанных с безопасностью, как часть вашей задачи
  • Сообщения между агентами, работающими вместе в одном многоагентном сеансе
  • Отправка данных на доверенные домены, buckets и сервисы, которые вы указываете в environment. Это охватывает только поток данных, а не деструктивные или операции с учетными данными на той же инфраструктуре
  • Claude in Chrome навигация на доверенный внутренний домен, localhost или URL, который вы назвали

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

Запустите claude auto-mode defaults для вывода полных списков правил как JSON. Если обычные действия блокируются, администратор может добавить доверенные репозитории, buckets и сервисы через параметр autoMode.environment: смотрите Настройка автоматического режима.

Отправка на любую ветку репозитория, в котором вы работаете, и создание pull request, который соответствует вашему запросу, выполняются без запроса, если только отправка или pull request не попадают под список блокировок, такой как секреты или чувствительные данные, покидающие репозиторий, или pull request, нацеленный на другой репозиторий или организацию. Чтобы требовать контрольную точку человека перед этими командами, оставаясь в автоматическом режиме, добавьте правила permissions.ask, которые соответствуют команде как написано: смотрите Общие границы.

Первое чтение вне рабочих каталогов

Пока permissions.blockReadsOutsideWorkingDirectories отключен, чтения файлов выполняются без запроса в автоматическом режиме, включая чтения вне рабочих каталогов. Первый раз, когда Claude использует инструмент Read, Grep или Glob на пути вне них, Claude Code спрашивает вас, продолжать ли разрешать эти чтения.

Запрос не появляется в неинтерактивных запусках -p или фоновых сеансах; чтения там выполняются как раньше.

Независимо от вашего ответа, Claude продолжает работать:

  • Продолжить разрешение: чтение выполняется, более поздние чтения вне рабочих каталогов выполняются как раньше, и Claude Code записывает ваш ответ, чтобы запрос больше не появлялся
  • Блокировать с этого момента: чтение отклоняется, и Claude Code устанавливает permissions.blockReadsOutsideWorkingDirectories на true в ваши пользовательские параметры, что заставляет инструменты файлов отклонять такие чтения в каждом более позднем сеансе и каждом режиме разрешений. Чтобы позволить Claude позже прочитать такой путь, добавьте его каталог с /add-dir или удалите параметр.
  • Спросить снова в следующий раз: чтение отклоняется, и следующее чтение вне рабочих каталогов снова спрашивает

Границы, которые вы указываете в разговоре

Классификатор рассматривает границы, которые вы указываете в разговоре, как сигнал блокировки. Если вы скажете Claude "не отправляй" или "подожди, пока я проверю перед развертыванием", классификатор блокирует соответствующие действия, даже когда правила по умолчанию их разрешали бы. Граница остается в силе до тех пор, пока вы не снимете ее в более позднем сообщении. Собственное суждение Claude о том, что условие было выполнено, не снимает его.

Границы не хранятся как правила. Классификатор перечитывает их из стенограммы при каждой проверке, поэтому граница может быть потеряна, если компактирование контекста удаляет сообщение, которое ее указало. Для жесткой гарантии добавьте вместо этого правило отказа.

Одобрения, которые вы указываете в разговоре

Если вы скажете Claude, что заблокированное действие разрешено, классификатор читает это как ваше одобрение и может снять блок. То, как вы это сформулировали, решает, выполняется ли действие и как далеко распространяется одобрение:

  • Назовите действие и его специфику: ваше сообщение должно назвать действие и конкретную вещь, которая делает его опасным, такую как ветка force push. Название только глагола ничего не очищает, поэтому "вы можете force-push" оставляет блок на месте.
  • Ожидайте, что это охватит одно действие: одобрение охватывает деструктивное действие, которое вы назвали, поэтому более позднее действие снова блокируется, если вы не предоставили одобрение как постоянное. Чтобы перестать одобрять обычный паттерн одно действие за раз, добавьте его в autoMode.allow.
  • Некоторые блоки остаются на месте: порядок приоритета классификатора устанавливает, какие блоки может достичь ваше одобрение. Чтобы запустить шаг, который оно не очистит, выйдите из автоматического режима и ответьте на запрос разрешения.

Когда автоматический режим возвращается

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

  • Заблокированное действие: Claude Code показывает уведомление и перечисляет действие в /permissions на вкладке Recently denied, где вы можете нажать r для повторной попытки с ручным одобрением. Когда классификатор выдает отсутствие вердикта по действию, потому что проверка безопасности, отдельная от автоматического режима, отклонила собственный запрос классификатора или его ответ не был разобран, Claude Code отклоняет действие без уведомления или записи Recently denied.
  • Повторные блоки: если классификатор блокирует действие 3 раза подряд или 20 раз всего, автоматический режим приостанавливается и Claude Code возобновляет запросы. Одобрение запрошенного действия возобновляет автоматический режим. Эти пороги не настраиваются. Любое разрешенное действие сбрасывает счетчик последовательных, пока счетчик всего сохраняется для сеанса и сбрасывается только когда его собственный предел запускает откат. Claude Code не считает отказ к любому пороговому значению, когда проверка безопасности, отдельная от автоматического режима, отклоняет собственный запрос классификатора; связанная запись охватывает, как Claude Code обрабатывает эти отказы.
  • Сеансы, которые не могут спрашивать: неинтерактивный запуск -p без --permission-prompt-tool не имеет запроса для возврата. Когда повторные блоки достигают порога, действие не выполняется и Claude продолжает работать. То же самое применяется, когда проверка безопасности, отдельная от автоматического режима, отклоняет запрос классификатора. Claude Code не останавливает запуск ни в одном случае.
  • Переключение режима во время проверки: если вы переключаете режимы разрешений, пока проверка классификатора ожидает, Claude Code отклоняет вердикт, который новый режим не запросил бы, вместо его применения: вместо этого вас спрашивают для одобрения, или действие автоматически отклоняется в dontAsk режиме.

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

Каждое действие проходит через фиксированный порядок решений. Первый соответствующий шаг побеждает:
1. Действия, соответствующие вашим [правилам разрешения, запроса или отказа](/docs/ru/permissions#manage-permissions), разрешаются немедленно, с этими исключениями:
   * Записи в [защищенные пути](#protected-paths) маршрутизируются к классификатору, даже когда правило разрешения соответствует, и так же `rm` и `rmdir` удаления, нацеленные на [критический путь](#critical-paths) в Claude Code v2.1.218 и более поздних версиях
   * MCP инструменты, отмеченные [`requiresUserInteraction`](/docs/ru/mcp#require-approval-for-a-specific-tool), спрашивают вас напрямую, даже когда правило разрешения соответствует, и так же инструменты connector, которые ваша организация установила на `ask`]\(/ru/mcp#organization-controls-on-connector-tools) в сеансах, где эта параметр достигает Claude Code
   * Команда оболочки, которая несет [разрешенные домены для каждой команды](/docs/ru/sandboxing#per-command-allowed-domains-in-auto-mode), также маршрутизируется к классификатору, даже когда правило разрешения соответствует, потому что правило одобряет команду, а не ее хосты
   * Правила запроса, которые соответствуют содержимому команды, такие как `Bash(git push *)`, возвращаются к запросу разрешения
2. Действия только для чтения и редактирования файлов в вашем рабочем каталоге автоматически одобряются, кроме записей в [защищенные пути](#protected-paths) и [первое чтение вне рабочих каталогов](#first-read-outside-the-working-directories), которое вас спрашивает
3. Все остальное идет к классификатору. Инструменты connector и MCP инструменты `requiresUserInteraction`, которые спрашивают вас напрямую на шаге 1, никогда не достигают классификатора, поэтому ни одобрение, требуемое организацией, ни шаг согласия не автоматически одобряются
4. Если классификатор блокирует, Claude получает причину и пытается альтернативу. В большинстве сеансов причина называет правило, которое классификатор совпал, такое как `[Data Exfiltration]`, вместо того чтобы давать письменное объяснение; смотрите [Проверка отказов](/docs/ru/auto-mode-config#review-denials)

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

* Blanket `Bash(*)` или `PowerShell(*)`
* Подстановочные интерпретаторы, такие как `Bash(python*)`
* Команды запуска менеджера пакетов
* Правила `Agent`
* [`Monitor`](/docs/ru/tools-reference#monitor-tool) правила разрешения, потому что Claude Code запускает команды Monitor через оболочку

Узкие правила, такие как `Bash(npm test)`, остаются в силе. Claude Code восстанавливает отброшенные правила, когда вы выходите из автоматического режима. До v2.1.236 Claude Code оставлял правила `Monitor` разрешения в силе в автоматическом режиме, поэтому правило, которое совпадало со всем инструментом, одобряло команды Monitor без проверки классификатора.

Claude Code также запускает `git status` сам перед командой, которая отбросила бы незафиксированную работу, такой как `git reset --hard` или `rm -rf`, и показывает классификатору, присутствует ли поставленная на сцену, измененная или неотслеживаемая работа. Claude Code сообщает неотслеживаемые файлы в этой проверке, даже когда конфигурация git репозитория устанавливает `status.showUntrackedFiles=no`.

В запросах классификатора, отправленных самим Claude Code, классификатор видит пользовательские сообщения, вызовы инструментов, отличные от чтений только для чтения, такие как чтения файлов и поиски, и содержимое вашего CLAUDE.md. Результаты инструментов удаляются из этих запросов, поэтому враждебное содержимое в файле или веб-странице не может напрямую манипулировать классификатором.

Вы можете аннотировать результат вызова с помощью поля [`classifierContext`](/docs/ru/hooks#annotate-a-result-for-the-auto-mode-classifier) hook PostToolUse, которое классификатор читает как контекст, предоставленный приложением. Поле требует Claude Code v2.1.236 или более поздней версии.

Отдельный зонд на стороне сервера сканирует входящие результаты инструментов и отмечает подозрительное содержимое перед тем как Claude его прочитает. Для получения дополнительной информации о том, как эти слои работают вместе, смотрите [объявление автоматического режима](https://claude.com/blog/auto-mode) и [инженерное углубленное погружение](https://www.anthropic.com/engineering/claude-code-auto-mode).
Как автоматический режим обрабатывает подагентов

Классификатор проверяет работу подагента в трех точках:

  1. Перед запуском подагента описание делегированной задачи оценивается, поэтому опасно выглядящая задача блокируется во время создания.
  2. Пока подагент работает, каждое из его действий проходит через классификатор с теми же правилами, что и родительский сеанс, и любой permissionMode в frontmatter подагента игнорируется.
  3. Когда подагент завершается, классификатор проверяет его работу и его финальный отчет перед тем как родитель прочитает отчет. Когда классификатор отмечает работу подагента или отчет, или отдельная проверка безопасности API отклоняет проверку, отчет все еще доставляется, предваренный предупреждением безопасности. Когда классификатор недоступен для проверки, отчет прибывает с примечанием для проверки работы подагента перед действием на его основе.
Стоимость и задержка

Классификатор работает на Claude Sonnet 5 по умолчанию, а не на выборе вашего /model. Модель классификатора, которую Anthropic настраивает на стороне сервера, имеет приоритет над этим по умолчанию. Когда модель вашего сеанса является Claude Sonnet 4.6, или когда availableModels исключает Sonnet 5, классификатор работает на модели вашего сеанса вместо этого, или на модели Opus, когда сеанс работает на модели Fable; на поставщиках, отличных от Anthropic API, этот fallback Opus является моделью Opus по умолчанию поставщика.

Первый запрос автоматического режима сеанса проверяет по умолчанию Sonnet 5: если запрос успешен, Sonnet 5 остается моделью классификатора сеанса, и если он не удается, потому что модель недоступна, сеанс использует fallback вместо этого. После того как эта проверка урегулируется, модель классификатора не изменяется для сеанса.

На планах Enterprise и на учетных записях, которые используют Claude API, Claude Platform on AWS, Amazon Bedrock, Google Cloud's Agent Platform или Microsoft Foundry, вызовы классификатора считаются в сторону использования вашего токена. Каждая проверка отправляет часть стенограммы плюс ожидающее действие, добавляя round-trip перед выполнением. Чтения и редактирования рабочего каталога вне защищенных путей пропускают классификатор, поэтому накладные расходы поступают в основном из команд оболочки и сетевых операций. Где сервер проверяет действия как часть запросов модели сеанса, нет отдельных вызовов классификатора для подсчета; смотрите Проверка классификатора на стороне сервера.

Доступ в песочницу в сеть не добавляет запросы классификатора для каждого соединения. Классификатор судит хосты, которые команда называет, вместе с командой в одной проверке, и Claude Code проверяет каждое соединение по одобренному списку без повторного вызова классификатора.

Разрешить только предварительно одобренные инструменты с режимом dontAsk

Если вы установите режим dontAsk, Claude Code автоматически отклоняет каждый вызов инструмента, который иначе требовал бы запроса. Claude по-прежнему выполняет действия, которые не требуют одобрения в режиме Manual, такие как чтение файлов в ваших рабочих каталогах и команды Bash только для чтения, а также действия, соответствующие вашим правилам permissions.allow, и вызовы, одобренные hook PreToolUse. Используйте этот режим для конвейеров CI или ограниченных сред, где вы предварительно определяете, что Claude может делать; сеанс никогда не ждёт ввода. Строка состояния показывает ⏵⏵ don't ask on, пока этот режим активен.

Claude Code отклоняет вызовы, соответствующие вашим явным правилам ask, а не запрашивает их. Он также отклоняет встроенный инструмент AskUserQuestion даже если ваши правила разрешения совпадают, и делает то же самое с инструментами соединителя ваша организация установила на ask в сеансах, где это параметр достигает Claude Code. Он отклоняет инструменты MCP, отмеченные _meta["anthropic/requiresUserInteraction"] таким же образом, потому что их карточка одобрения требует ответа, который этот режим никогда не собирает; это требует Claude Code версии 2.1.199 или позже.

Удаления rm и rmdir, нацеленные на критический путь, такие как rm -rf / и rm -rf ~, отклоняются даже когда правило разрешения совпадает с ними или hook PreToolUse их одобряет.

Облачные сеансы игнорируют defaultMode: "dontAsk"; см. bypassPermissions для получения подробной информации.

Установите его при запуске с флагом:

claude --permission-mode dontAsk

Пропустить все проверки с режимом bypassPermissions

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

Действия, которые ни один режим не одобряет по-прежнему требуют запроса в этом режиме.

Две гарантии обмена сообщениями между сеансами по-прежнему применяются в этом режиме, и в интерактивных сеансах режима plan, где доступны разрешения на обход:

  • Запрос одобрения isolatePeerMachines для сообщений вашим сеансам за пределами этой машины по-прежнему появляется.
  • Когда не применяется значение crossSessionInbound, Claude Code держит входящее сообщение от другого вашего сеанса для вашего одобрения и доставляет без запроса только когда отправляющий сеанс идентифицирует себя как также обходящий запросы разрешений. Если вы покидаете режим разрешений, пока сообщения удерживаются, Claude Code повторно применяет входящие правила и доставляет любое удерживаемое сообщение, которое они теперь принимают.

В интерактивных сеансах терминала с доступными разрешениями на обход Claude Code также не применяет блокировки режима plan. Claude по-прежнему инструктируется планировать без редактирования, но редактирование файла или команда оболочки, которую он пытается выполнить во время планирования, выполняется без запроса. Явные правила ask и удаления rm и rmdir, нацеленные на критический путь, по-прежнему требуют запроса.

Режим plan сохраняет свои блокировки везде, где Claude Code работает без интерактивного терминала, включая неинтерактивные запуски с -p, сеансы Agent SDK и беседы в панели чата расширения VS Code. Там --allow-dangerously-skip-permissions делает bypassPermissions доступным для выбора позже.

Вы не можете войти в bypassPermissions из сеанса, который вы запустили без него включённого. Включите его при запуске с permissions.defaultMode: "bypassPermissions" или с включающим флагом:

claude --permission-mode bypassPermissions

Флаг --dangerously-skip-permissions эквивалентен.

Claude Code отклоняет bypassPermissions в сеансе, который вы запускаете с --restricted. --restricted требует Claude Code v2.1.248 или позже.

В первый раз, когда вы запускаете интерактивный сеанс с этим режимом включённым, Claude Code показывает диалоговое окно предупреждения, просящее вас принять ответственность за действия, предпринятые без проверок разрешений. Claude Code сохраняет ваше принятие в пользовательские параметры, поэтому диалоговое окно появляется только один раз. Если вы отклоните, Claude Code выходит. В неинтерактивном режиме диалоговое окно не показывается, и фоновый сеанс, запущенный с --bg, отклоняется до тех пор, пока вы не приняли диалоговое окно в интерактивном сеансе.

На Linux и macOS Claude Code отклоняет запуск в этом режиме при запуске от пользователя root или под sudo:

--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

Проверка пропускается автоматически внутри признанной песочницы. Чтобы запустить автономно в контейнере, используйте конфигурацию dev container, которая запускает Claude Code от непривилегированного пользователя.

Claude Code в веб-версии не учитывает defaultMode: "bypassPermissions" или "dontAsk" из ваших файлов параметров, поэтому проверенные в репозитории параметры не могут запустить облачный сеанс в режиме bypass-permissions. Параметр игнорируется молча, и сеанс запускается в режиме разрешений, показанном в селекторе режима вместо этого. См. Переключение режимов разрешений для информации о том, какие режимы предлагают облачные сеансы.

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

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

Режим Записи в защищённые пути
default, acceptEdits Требуют подтверждения
plan Разрешены в интерактивных сеансах терминала с доступными разрешениями на обход. В противном случае маршрутизируются классификатору, когда режим auto доступен во время планирования, и требуют подтверждения, когда он не доступен
auto Маршрутизируются классификатору
dontAsk Отклоняются
bypassPermissions Разрешены

В сеансе, запущенном с --restricted, который требует Claude Code v2.1.248 или позже, классификатор не может одобрить записи в защищённые пути.

Правила permissions.allow в файлах параметров не предварительно одобряют записи в защищённые пути. Проверка безопасности выполняется до того, как Claude Code оценивает правила allow из параметров, поэтому запись вроде Edit(.claude/**) в ~/.claude/settings.json или .claude/settings.json не изменяет результат для каждого режима в таблице выше. В режимах, которые требуют подтверждения, запрос для записи .claude/ предлагает Да, и разрешить Claude редактировать свои собственные параметры для этого сеанса, что одобряет более поздние записи .claude/ в этом сеансе без повторного запроса.

Защищённые каталоги:

  • .git
  • .config/git
  • .vscode
  • .idea
  • .husky
  • .cargo
  • .devcontainer
  • .yarn
  • .mvn
  • .claude, кроме .claude/worktrees, где Claude хранит свои собственные git worktrees

Защищённые файлы:

  • .gitconfig, .gitmodules
  • .bashrc, .bash_profile, .bash_login, .bash_aliases, .bash_logout, .zshrc, .zprofile, .zshenv, .zlogin, .zlogout, .profile, .envrc
  • .npmrc, .yarnrc, .yarnrc.yml, .pnp.cjs, .pnp.loader.mjs, .pnpmfile.cjs, bunfig.toml, .bunfig.toml
  • .bazelrc, .bazelversion, .bazeliskrc
  • .pre-commit-config.yaml, lefthook.yml, lefthook.yaml, .lefthook.yml, .lefthook.yaml
  • gradle-wrapper.properties, maven-wrapper.properties
  • .devcontainer.json
  • .ripgreprc, pyrightconfig.json
  • .mcp.json, .claude.json

Критические пути

Claude Code никогда не позволяет правилу permissions.allow или hook PreToolUse, который возвращает "allow", одобрить команду rm или rmdir, которая нацелена на критический путь, даже в режимах, которые пропускают другие запросы. Этот автоматический выключатель защищает от ошибки модели. Совпадающее правило deny по-прежнему полностью блокирует команду.

Что происходит вместо этого, зависит от вашего режима разрешений:

Режим Что Claude Code делает с удалением критического пути
default, acceptEdits Спрашивает вас одобрить его
plan Спрашивает вас одобрить его. С доступным режимом auto во время планирования и без доступных разрешений на обход, отправляет его классификатору вместо этого
auto Отправляет его классификатору
dontAsk Отклоняет его
bypassPermissions Спрашивает вас одобрить его

Если явное правило ask совпадает с командой, Claude Code спрашивает вас даже в режиме auto. В режимах, которые спрашивают, hook PermissionRequest может ответить на запрос так же, как он отвечает на любой другой.

Claude Code рассматривает цель rm или rmdir как критический путь, когда это любое из следующего:

  • Корневой каталог файловой системы
  • Каталоги верхнего уровня, то есть любой прямой потомок корня, такой как /usr, /etc или /data
  • Ваш домашний каталог
  • Корни дисков Windows и их каталоги верхнего уровня, такие как C:\ и C:\Windows
  • Ваш рабочий каталог и его родители
  • Ваши дополнительные рабочие каталоги и их родители, но только когда удаление — это glob под одним из них, такой как rm -rf <dir>/*. rm -rf <dir> на самом каталоге не вызывает эту проверку

Claude Code также рассматривает glob или косую черту непосредственно под переменной оболочки, такую как rm -rf "$DIR"/*, как удаление критического пути, потому что команда становится удалением из корня файловой системы, когда переменная пуста.

Подсказка для этого случая переменной называет помеченную команду rm и говорит, как переписать её, чтобы проверка прошла:

  • Для переменной, такой как $DIR, защитите каждое расширение так, чтобы оболочка остановилась с ошибкой, когда переменная не установлена или пуста, как в rm -rf "${DIR:?}"/*, или используйте буквальный путь
  • Для переменной, которая обычно установлена, такой как $HOME, используйте буквальный путь

Удаление, чьи расширения защищены таким образом, не является удалением критического пути, поэтому в режиме bypassPermissions оно выполняется без подсказки.

Скрытие удаления внутри подстановки с (...), группы в фигурных скобках с { ...; }, подстановки команд с $(...) или обратными кавычками, или подстановки процесса с <(...), не пропускает проверку. Claude Code находит удаление критического пути, находится ли оно внутри вложенной формы, как в (rm -rf ~) или echo "$(rm -rf ~)", или в другом месте той же команды.

Remove-Item в PowerShell

Когда вы включаете инструмент PowerShell, Claude Code даёт Remove-Item свою собственную проверку, отдельную от списка критических путей rm. Результат зависит от цели, и первый совпадающий случай применяется:

  • Системные пути: корневой каталог файловой системы и его каталоги верхнего уровня, корни дисков и их каталоги верхнего уровня, и ваш домашний каталог. Claude Code отклоняет команду в каждом режиме, без запроса у вас.
  • Подстановочные знаки: голый * или любая цель, заканчивающаяся на /* или \*, включая glob под переменной оболочки, такой как $dir/*. Claude Code отклоняет команду в каждом режиме, без запроса у вас, перед тем как классификатор её видит.
  • Ваш рабочий каталог или один из его родителей, с -Recurse: Claude Code рассматривает команду как любую другую, которая требует одобрения в вашем режиме разрешений, поэтому он спрашивает вас в режимах, которые спрашивают, отправляет её классификатору в режиме auto и отклоняет её в режиме dontAsk. Режим bypassPermissions пропускает эту проверку.

См. также

  • Permissions: правила allow, ask и deny; управляемые политики
  • Configure auto mode: скажите классификатору, какую инфраструктуру ваша организация доверяет
  • Hooks: пользовательская логика разрешений через hooks PreToolUse и PermissionRequest
  • Security: гарантии безопасности и лучшие практики
  • Sandboxing: изоляция файловой системы и сети для команд Bash
  • Non-interactive mode: запустите Claude Code с флагом -p