Сразу к тексту
Терминалиум · Вики В приложение

Вики · Проверка и доверие

Круг дозволенного

Обновлено 29 августа 2026

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

Шесть режимов

РежимЧто идёт без вопросаДля чего
default (в интерфейсе — Manual)только чтениечувствительная работа, незнакомый код
acceptEditsчтение, правки файлов и обычные файловые команды (mkdir, touch, mv, cp, rm, rmdir, sed)итерации по коду, который вы всё равно смотрите
planчтение, плюс команды, одобренные классификатором, если доступен авторежимразведка до изменений
autoпочти всё, с фоновой проверкой классификаторомдлинные задачи, усталость от подтверждений
dontAskтолько заранее разрешённые инструментызаблокированный CI и скрипты
bypassPermissionsвсётолько контейнеры и виртуальные машины

Переключение в CLI — Shift+Tab. Цикл идёт defaultacceptEditsplan и обратно; auto появляется в цикле, если ваш аккаунт ему соответствует, а bypassPermissions — только если сессия стартовала с соответствующим флагом. dontAsk в цикле не появляется никогда, он ставится флагом --permission-mode dontAsk.

Стартовый режим берётся из первого подходящего источника: флаг --permission-mode, затем permissions.defaultMode из файла настроек, затем встроенный дефолт. Тонкость, которая ловит многих: значение "auto" в .claude/settings.json и .claude/settings.local.json не срабатывает — его место в ~/.claude/settings.json.

Правила поверх режима

Режим задаёт базовую линию, правила — точечные исключения. Порядок вычисления: denyaskallow, побеждает первое совпадение. Запрещающее правило действует во всех режимах, включая bypassPermissions; разрешающее в bypassPermissions смысла не имеет.

Есть действия, которые не одобряет автоматически ни один режим: инструменты, попавшие под явное правило ask; инструменты, требующие участия человека; удаление по критическому пути (rm -rf /, rm -rf ~). Отдельно защищены пути, из которых Claude Code читает свою конфигурацию: файлы настроек, каталоги .claude/skills, .claude/agents, .claude/commands, .claude/hooks, .mcp.json. Логика прозрачна — команда, способная отредактировать эти файлы, способна выдать себе права.

Песочница

Песочница — не режим, а изоляция уровня операционной системы для команд оболочки. На macOS это Seatbelt, на Linux и WSL 2 — bubblewrap плюс socat. На нативном Windows её нет: там нужен WSL 2 (Посадка).

Панель /sandbox открывает три вкладки: Mode (авторазрешение или обычные разрешения), Overrides (можно ли команде откатиться к запуску вне песочницы — настройка allowUnsandboxedCommands) и Config (итоговые пути и домены).

Границы по умолчанию:

  • запись — рабочий каталог, каталоги, добавленные через --add-dir, и временный каталог сессии;
  • чтение — весь компьютер, кроме явно запрещённого. Да, это включает ~/.aws/credentials и ~/.ssh/; закрывается настройкой sandbox.credentials или denyRead;
  • сеть — предварительно не разрешено ни одного домена. Первый выход на новый домен спрашивает разрешение; allowedDomains разрешает заранее, strictAllowlist: true меняет вопрос на отказ.

Включается на всю машину через sandbox.enabled: true в ~/.claude/settings.json; выбор в панели сохраняется в локальные настройки проекта. Для управляемых развёртываний есть sandbox.failIfUnavailable: true — без него отсутствие зависимостей приводит к предупреждению и запуску без песочницы.

Ограничение, о котором нужно знать заранее: встроенный прокси решает по имени хоста и по умолчанию не расшифровывает TLS. Широкое разрешение вроде github.com открывает дорогу для утечки данных.

Как слои складываются

Авторазрешающая песочница и авторежим работают независимо и комбинируются — с одним исключением. В режиме плана авторазрешение не расширяет одобрения: команды всё равно проходят через классификатор или через вопрос (Чертёж).

Ещё один слой сверху — хуки. PreToolUse срабатывает до проверки режима, в любом режиме, включая dontAsk и bypassPermissions. Хук, вернувший permissionDecision: "deny", блокирует инструмент даже там, где пользователь отключил все вопросы. Обратное неверно: "allow" от хука не отменяет запрещающих правил. Хуки умеют ужесточать, но не ослаблять — Стражи.

Как выбирать

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

Сверено по

Прокачаться: юниты