SpyBara
Go Premium

permission-modes.md 2026-10-21 23:02 UTC to 2026-10-22 22:58 UTC

This page contains 151 additions and 131 deletions.

2026
Thu 1 23:59 Fri 2 22:59 Sat 3 23:57 Sun 4 23:58 Mon 5 23:58 Tue 6 23:59 Wed 7 23:59 Thu 8 22:58 Sat 10 23:01 Sun 11 23:57 Wed 14 22:58 Sat 17 23:57 Mon 19 23:58 Tue 20 23:00 Wed 21 23:02 Thu 22 22:58 Fri 23 22:59 Sun 25 23:58 Mon 26 22:57 Tue 27 22:59 Wed 28 23:57 Fri 30 23:01

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

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

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

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

Доступные режимы

Каждый режим делает различный компромисс между удобством и контролем. В таблице ниже показано, что 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".

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

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

Действия, которые ни один режим не одобряет автоматически

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

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

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

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

  • Распознанные удаления rm и rmdir по критическим путям, которые не одобряет ни одно правило разрешения или хук 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 *), по-прежнему запрашивают. Режим auto-allow охватывает другие команды, которые могут запрашивать подтверждение. Чтобы включить песочницу из файла параметров вместо этого, установите sandbox.enabled на true
Исследовать перед изменением чего-либо claude --permission-mode plan Нет Claude Code блокирует редактирование до тех пор, пока вы не одобрите план
Работать в режиме auto без участия claude --permission-mode auto, встроенный начальный режим разрешений с v2.1.283 или позже Нет; песочница или контейнер добавляет защиту в глубину Требует поддерживаемую модель, и ваша организация может отключить режим auto
Запустить в CI с точным списком разрешений claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" Нет, кроме того, что предоставляет ваш CI runner Облачные сеансы игнорируют dontAsk из файлов параметров
Запустить полностью автоматически внутри контейнера claude -p "<prompt>" --dangerously-skip-permissions Требуется: контейнер, виртуальная машина или runtime песочницы; на Linux и macOS запустите его как непривилегированный пользователь Облачные сеансы игнорируют этот режим из файлов параметров. В этом запуске -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. Применяется первая строка, которая соответствует вашей сессии. Таблица охватывает сессии, которые вы запускаете в терминале или через расширение VS Code; для настольного приложения и claude.ai см. вкладки Desktop и Web в разделе Переключение режимов разрешений.

Как вы запускаете Claude Code Встроенный начальный режим разрешений
Любой файл настроек устанавливает disableAutoMode в значение "disable" default
claude -p или Agent SDK default
К вашей организации применена конфигурация HIPAA, и сессия подпадает под неё default с Claude Code v2.1.285 или новее; на авторежим по-прежнему можно переключиться
В терминале или через расширение VS Code auto с Claude Code v2.1.283 или новее; в более ранних версиях auto на планах Pro, Max или Team в сессиях, которые получают флаги функций, и default в остальных случаях

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

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

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

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

Вызовы инструментов отклоняются в запусках claude -p и Agent SDK

В Claude Code v2.1.302 или новее запуски claude -p и Agent SDK, для которых не задан режим разрешений, начинаются в режиме Manual. В параметрах SDK и настройках этот режим отображается как default. Вызовы, требующие подтверждения, отклоняются, если вы не подтвердите их с помощью правила разрешения, хука, обратного вызова canUseTool или --permission-prompt-tool.

Чтобы эти вызовы подтверждались, добавьте правила разрешения или запускайтесь в авторежиме:

В этих примерах показан вариант с авторежимом для CLI и каждого SDK:

CLI

claude -p "Run the test suite and fix any failures" --permission-mode auto

TypeScript

const options = {
  permissionMode: "auto"
};

Python

from claude_agent_sdk import ClaudeAgentOptions

options = ClaudeAgentOptions(permission_mode="auto")

До v2.1.302 такие запуски могли начинаться в авторежиме, если они не получали флаги функций, например при использовании стороннего поставщика или с DISABLE_TELEMETRY.

Запуск в другом режиме разрешений

Вы можете задать начальный режим разрешений для одной сессии или как значение по умолчанию для каждой сессии на компьютере, в проекте или в организации. Когда 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 в управляемых настройках. Сессии терминала запускаются в этом режиме, и пользователи по-прежнему могут переключиться на авторежим; о том, что читает расширение VS Code, см. Переключение режимов разрешений. Чтобы убрать авторежим, чтобы никто не мог его выбрать, вместо этого установите permissions.disableAutoMode в значение "disable"

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

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

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

Режимы разрешений с конфигурацией HIPAA

В организации, к которой применена конфигурация HIPAA, встроенное значение по умолчанию auto не применяется. Сессия терминала или VS Code начинается в режиме Manual, если начальный режим разрешений не выбирает ничто другое. Сессия терминала также показывает Auto mode isn't the default for your organization · Shift+Tab to switch, а расширение VS Code не показывает никакого уведомления. В разделе Проверка того, как разработчики входят в систему и подключаются перечислены сессии, к которым это относится.

Авторежим и bypassPermissions остаются доступными:

Требуется Claude Code v2.1.285 или новее — минимальная версия для конфигурации HIPAA.

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

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

CLI

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

Следите за строкой состояния в этом ролике сессии, которая началась в авторежиме. При каждом нажатии Shift+Tab она меняется с auto mode on на manual mode on, accept edits on, plan mode on и обратно на auto mode on.