Claude Code без подтверждений: флаг bypass и альтернативы
Что отключает флаг --dangerously-skip-permissions в Claude Code, какие проверки остаются и как сократить запросы разрешений с помощью настроек и контейнера.
Опубликовано

Claude Code без подтверждений на каждом шаге — не обязательно режим, в котором разрешён любой вызов инструмента. Команда claude --dangerously-skip-permissions включает bypassPermissions: обычные запросы разрешений исчезают, в том числе проверки при работе с защищёнными файлами конфигурации. Этот режим стоит оставить для изолированной среды. Если постоянные запросы просто мешают повседневной работе, начните с режима auto или точечных правил разрешений.
Claude Code без подтверждений: что отключает флаг
Флаги --dangerously-skip-permissions и --permission-mode bypassPermissions включают один и тот же режим. Claude может менять файлы, выполнять команды оболочки и вызывать другие инструменты без обычных остановок на подтверждение. Режим также разрешает запись по защищённым путям. При первом интерактивном запуске появляется предупреждение об ответственности; если его не принять, Claude Code завершает работу. Документация Anthropic о режиме bypass
Представьте, что разрешения — это проверка допуска перед работой, а изоляция — стены мастерской. Убрав проверку, вы не построите стены. Выигрыш понятен: сеанс идёт без перерывов. Цена — потеря возможности заметить опасное действие до его выполнения.
Меняется и порядок работы: вместо согласования каждой операции вы заранее задаёте границы среды, а затем проверяете результат. Сам по себе этот режим не обеспечивает правильность кода и не обезвреживает вредоносные инструкции.

Какие ограничения сохраняются
Слово «skip» не означает, что все проверки исчезают. Эти различия помогут понять, почему запуск, рассчитанный на работу без участия человека, всё же остановился или отклонил действие:
За чтение в последней строке отвечает настройка permissions.blockReadsOutsideWorkingDirectories: true. Распознанные команды Bash, читающие файлы за пределами разрешённых каталогов, всё ещё могут вызывать запрос подтверждения; блокировки, обеспечиваемые песочницей, работают иначе. При неинтерактивном запуске bypass с флагом -p вызовы, которым всё ещё нужно подтверждение, отклоняются. Действия, которые ни один режим не одобряет автоматически, настройка чтения за пределами каталогов
Блокирующие хуки PreToolUse тоже продолжают участвовать в проверке вызовов инструментов. Для EndConversation есть особое исключение: пока доступен другой инструмент, правила deny и ask его не ограничивают. Установленные модификации могут переопределять некоторые решения о разрешениях, которые не заданы централизованно, поэтому обязательные для команды ограничения нужно закреплять в управляемой политике. Администраторы могут запретить bypass настройкой "permissions": {"disableBypassPermissionsMode": "disable"}. Сеанс, запущенный с --restricted, также не допускает режим bypass. Приоритет хуков и правил, настройка запрета bypass
В режиме bypass разрешена запись по защищённым путям
Не рассчитывайте, что изменение .git или .claude по-прежнему потребует подтверждения. В режиме bypass запись по защищённым путям разрешена. Это отдельный механизм, не связанный с описанными выше проверками удаления критически важных каталогов.
В список защищённых путей Anthropic входят:
Внутри .claude есть ограниченные исключения: собственные рабочие деревья Claude, файлы текущего плана, временные рабочие файлы фоновых сеансов и некоторые Markdown-файлы памяти. В обычных сеансах Manual и acceptEdits запись по защищённым путям требует подтверждения; режим auto передаёт такие действия своему классификатору. Правило allow в файле настроек не может заранее разрешить эти записи. Защищённые пути и исключения
Четыре способа сократить запросы разрешений с меньшим риском
Подбирайте механизм под конкретную причину остановок. Большинству разработчиков сначала нужна более точная политика разрешений и только потом — bypass.
Для повседневной разработки используйте режим auto
Запустите сеанс командой claude --permission-mode auto. Решения по обычным запросам разрешений принимает классификатор — отдельная модель, которая проверяет предлагаемые действия. Чтобы сделать этот режим стандартным для сеансов в терминале, добавьте "permissions": {"defaultMode": "auto"} в ~/.claude/settings.json, объединив с существующими настройками.
Если записать это значение в .claude/settings.json или .claude/settings.local.json, режим не включится. Доступность auto также зависит от поддерживаемых моделей и настроек организации, а явные правила ask по-прежнему вызывают запросы подтверждения. Режим сокращает число остановок, но не гарантирует безопасность. Настройка режима по умолчанию, требования режима auto
В нашем руководстве по режиму auto в Claude Code разобрано, когда такая проверяющая модель подходит вашему рабочему процессу.
Разрешайте проверенные операции и запрещайте конкретные действия
Используйте permissions.allow для команд, которые вы проверили, и permissions.deny для операций, которые нужно блокировать. Claude Code проверяет правила в порядке deny, затем ask, затем allow. Широкое разрешение не отменяет совпавший запрет. Правила разрешений
Для доверенного репозитория подойдёт следующий пример: он сочетает точечные разрешения с блокирующим хуком. Добавьте его в .claude/settings.json, сохранив существующие ключи. Сеансы в терминале здесь намеренно запускаются в режиме Manual, чтобы доступ определялся перечисленными разрешениями. Прежде чем одобрять команды тестирования и линтинга, проверьте, что именно выполняют соответствующие скрипты проекта.
{
"permissions": {
"defaultMode": "default",
"allow": ["Bash(npm test)", "Bash(npm run lint)"],
"deny": ["Bash(git push *)", "Read(./.env)", "Read(./.env.*)"]
},
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"if": "Bash(rm *)",
"command": "echo 'Use the approved cleanup task instead.' >&2; exit 2"
}]
}]
}
}Личные переопределения настроек проекта храните в .claude/settings.local.json; если создаёте этот файл сами, добавьте его в .gitignore. Откройте /permissions, чтобы посмотреть действующие правила и файлы, из которых они загружены. Область действия настроек
Такие шаблоны не обеспечивают изоляцию файловой системы или сети. Иная запись команды может не попасть под шаблон Bash, а произвольные скрипты способны читать файлы косвенно, несмотря на запреты для файловых инструментов. Храните секреты за пределами среды и применяйте ограничения песочницы там, где доступ должен быть технически невозможен. Ограничения правил Bash, ограничения файловых правил
Перед масштабными изменениями включайте режим планирования
Начните с claude --permission-mode plan или задайте "permissions": {"defaultMode": "plan"} в настройках проекта. Claude изучит проект и предложит план до того, как вы одобрите изменения исходного кода. Настройка верхнего уровня "useAutoModeDuringPlan": false отключает одобрение команд планирования классификатором: команды за пределами встроенного набора операций только для чтения потребуют вашего подтверждения. Настройка режима планирования
Запускайте новый сеанс планирования без флагов, которые делают bypass доступным. В интерактивном сеансе терминала, где bypass можно выбрать, режим планирования не применяет свои обычные запреты на редактирование и выполнение команд. Это относится и к флагу --allow-dangerously-skip-permissions: он позволяет выбрать bypass позднее, хотя не включает его сразу. Режим планирования при доступном bypass
Блокируйте отдельные команды с помощью хуков
Обработчик hooks.PreToolUse из примера использует matcher: "Bash", type: "command" и if: "Bash(rm *)". При совпадении условия команда оболочки выводит причину и завершается с кодом 2, блокируя вызов инструмента. Отдельный скрипт не нужен. Эту небольшую команду мы составили для примера на основе документированных полей хуков Anthropic и кода завершения, который блокирует вызов. Настройка хуков, блокирующие коды завершения
Хук блокирует вызовы rm, соответствующие условию, но не все возможные способы удалить файл. Команда разработки может заменить его проверенным валидатором для своих команд развёртывания или очистки. Делайте проверки достаточно узкими, чтобы их было легко понять и протестировать. Настройка и отладка разобраны в нашем материале о хуках Claude Code.

В какой среде Anthropic допускает bypass
В таблице типовых конфигураций Anthropic для этого режима требуется контейнер, виртуальная машина или среда выполнения с песочницей, а в Linux и macOS — пользователь без прав root. Раздел о bypass описывает изолированные среды, из которых нельзя повредить хост, и отдельно упоминает среды без доступа к интернету. Руководство по devcontainer предлагает вариант с подключением к сети, где исходящие соединения ограничены сервисами, необходимыми Claude. Неограниченный сетевой доступ следует рассматривать как отдельный риск. Требования к изоляции, сетевые ограничения devcontainer
В Linux и macOS запуск bypass от root или через sudo обычно отклоняется. Документация указывает на автоматическое исключение внутри распознанной песочницы; описанный подход с devcontainer использует учётную запись без прав root. Не устраняйте ошибку запуска от root ослаблением этого ограничения.
Быстрый запуск на основе эталонного devcontainer
Используйте одноразовую рабочую копию доверенного репозитория. Установив Docker, VS Code и расширение Dev Containers, начните с эталонного проекта Anthropic:
git clone https://github.com/anthropics/claude-code.git claude-code-isolated
code claude-code-isolated- В VS Code выполните команду Dev Containers: Reopen in Container. Эталонная конфигурация объединяет CLI, постоянные тома и межсетевой экран для исходящих соединений. Проверьте, что
remoteUserуказывает на учётную запись без прав root. - В терминале контейнера выполните
id -uи убедитесь, что результат не равен0. Запуститеclaude, чтобы войти в аккаунт, затем завершите этот сеанс. - В том же терминале контейнера выполните
claude -p "Inspect this repository and summarize its structure. Do not change files." --dangerously-skip-permissions. - Для своего проекта скопируйте эталонный каталог
.devcontainer/в одноразовую рабочую копию и адаптируйте Dockerfile под используемые инструменты. После каждой задачи проверяйте diff рабочей копии.
Этот порядок соответствует инструкции Anthropic по работе с эталонным контейнером. Эталонный проект — рабочий пример, а не поддерживаемый базовый образ. Сохраните его ограничения исходящих соединений или обеспечьте равноценный сетевой контроль.
Смонтированный рабочий каталог остаётся доступным для записи из контейнера, и изменения попадают на хост. Не монтируйте ~/.ssh, файлы учётных данных облачных сервисов или посторонние каталоги. Вредоносный проект по-прежнему способен передать наружу всё, что доступно внутри контейнера, включая учётные данные Claude. Используйте доверенные репозитории и следите за выполнением задач. Ограничения devcontainer
Облачные сеансы игнорируют bypass в настройках режима по умолчанию
Облачные сеансы без предупреждения игнорируют значения defaultMode: "bypassPermissions" и defaultMode: "dontAsk" из файла настроек. Они запускаются в режиме, указанном в выпадающем списке облачного интерфейса. JSON-настройка, сохранённая в репозитории, не может принудительно включить bypass для облачного сеанса. Поведение режимов в облаке
Локальный файл ~/.claude/settings.json не переносится в облачный сеанс на инфраструктуре Anthropic. У настроек репозитория тоже есть ограничения: сеансы, охватывающие несколько репозиториев, не загружают правила разрешений и хуки каждого из них. Проверьте действующую политику облачной среды, не рассчитывая, что настройки терминала перенеслись автоматически. Настройки в облачных сеансах
Как выбрать режим под задачу
Обычно наибольшую пользу приносит избавление от повторяющихся подтверждений в уже налаженном процессе. Ниже — практические варианты в том порядке, в котором я бы их рассматривал:
Для случая с CI Anthropic приводит такую отправную команду: claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read". Она отклоняет операции, которые иначе потребовали бы подтверждения. Типовые конфигурации
При любом выбранном режиме пригодятся наши рекомендации по работе с Claude Code. Разрешения определяют, что можно выполнить; проверка результата — стоит ли сохранять сделанное.
Два полезных инструмента, которые может создать команда
Наиболее перспективная идея — инструмент проверки конфигурации разрешений. По оценке DataForSEO, запрос «claude code permissions» собирает 720 поисковых запросов в месяц в США. Это указывает на трудности с поиском нужной информации, но не доказывает готовность платить. Команда платформы для разработчиков могла бы создать небольшой инструмент, который объясняет область действия настроек, отмечает игнорируемые значения defaultMode и заранее показывает охват широких правил команд перед подключением коллег к работе. Первый полезный результат — отчёт с предлагаемыми изменениями. Основная сложность — поддерживать инструмент по мере изменения поведения конфигурации Claude Code.
Инструмент запуска одноразовых сред может пригодиться командам с повторяющимися задачами без участия человека. Та же проверка спроса даёт оценку 260 поисковых запросов в месяц в США для «claude code docker». MVP мог бы проверять одобренный шаблон контейнера, разрешённые монтирования, запуск без прав root и политику исходящих соединений, а затем собирать diff и логи для сопровождающего проекта. Его ценность — единообразная настройка среды. Ограничение в том, что такой инструмент не сделает код недоверенного репозитория безопасным и не гарантирует изоляцию лишь за счёт наличия Docker.
Обе идеи относятся к внутренним инструментам; их востребованность нужно проверять с реальными пользователями. Ни одна не требует делать bypass режимом по умолчанию на машинах разработчиков.
Что делает флаг dangerously skip permissions в Claude?
Он включает bypassPermissions: убирает обычные подтверждения вызовов инструментов и разрешает запись по защищённым путям. Явные запреты и описанные в документации требования обязательного взаимодействия с пользователем сохраняют силу. Прежде чем рассчитывать на работу без остановок, разберитесь в различиях, описанных выше.
Как сделать, чтобы Claude перестал постоянно запрашивать разрешения?
Для повседневной разработки попробуйте claude --permission-mode auto. Для предсказуемого рабочего процесса заранее разрешите проверенные команды через permissions.allow, сохраните конкретные запреты и добавьте хуки там, где нужна проверка команд. Для изучения проекта перед правками подходит режим планирования.
Как включить обход разрешений в Claude Code?
Сначала подготовьте изолированную среду и только затем запустите в ней claude --dangerously-skip-permissions. Команда claude --permission-mode bypassPermissions даёт тот же результат. Следуйте описанной выше настройке devcontainer без прав root; не добавляйте в повседневную оболочку универсальный алиас, включающий bypass.
С чего начать в понедельник: выберите один повторяющийся рабочий процесс, проверьте команды, которые он действительно выполняет, и настройте минимальный набор разрешений, позволяющий его завершить. Переходите к одноразовому контейнеру, только если задаче нужно выполняться без участия человека за пределами этой политики.
Если вашей команде нужно настроить и поддерживать такой процесс, мы можем помочь в рамках создания ИИ-систем для промышленной эксплуатации.
- Опубликовано
- Категория
- Build
- Язык







