--dangerously-skip-permissions запускает Claude Code в режиме bypassPermissions, и вызовы инструментов выполняются без вопроса к вам. Это самый быстрый способ избавиться от запросов и самый рискованный. Документация Anthropic прямо говорит использовать его только в изолированных средах, например в контейнерах или виртуальных машинах. Обычно он не нужен: несколько allow-правил, режим auto или песочница убирают большинство запросов и сохраняют защиту.
В статье разобрано, что флаг пропускает, что не пропускает, где он подводит и какие есть более безопасные варианты. В конце показано, как AgentVera решает ту же задачу, когда агентов запущено несколько.
Что на самом деле делает флаг
В Claude Code есть режимы разрешений. Флаг — сокращение для одного из них:
claude --dangerously-skip-permissions
# same as
claude --permission-mode bypassPermissions
В этом режиме Claude редактирует файлы, запускает команды оболочки и вызывает инструменты без остановок. Согласно документации по режимам разрешений, кое-что его всё же останавливает:
- Deny-правила. Deny-правило в ваших настройках блокирует инструмент в любом режиме, включая bypass.
- Явные ask-правила. Если вы написали правило
ask, запрос по-прежнему появится. - Вопросы Claude к вам. Claude всё так же может остановиться и задать вопрос.
- Удаление критичных путей.
rmилиrmdirкорня файловой системы, папок верхнего уровня, домашней папки или рабочей папки и её родителей по-прежнему вызывает запрос.
В режиме bypass allow-правила ни на что не влияют, потому что и так разрешено всё. Запись в защищённые пути вроде .git и .claude тоже разрешена.
Ещё несколько деталей, важных на практике:
- При первом интерактивном использовании Claude Code показывает диалог с предупреждением. Если принять его, в
~/.claude/settings.jsonзапишетсяskipDangerousModePermissionPrompt: true. - В неинтерактивном запуске (
claude -p) диалога нет. - В Linux и macOS флаг не запускается от root или через sudo. Внутри распознанной песочницы проверка пропускается.
- Переключиться в bypass из сессии, начатой без него, нельзя.
--allow-dangerously-skip-permissionsдобавляет режим в цикл Shift+Tab, не включая его. - Администраторы могут отключить режим для всех через
permissions.disableBypassPermissionsMode: "disable"в managed settings.
Риски
Документация говорит прямо: режим bypass «не защищает от prompt injection и непреднамеренных действий». Вот что это значит в повседневной работе.
Prompt injection
Claude читает файлы, веб-страницы, текст задач и вывод инструментов. Если в них есть инструкции, модель может им последовать. С включёнными запросами вы замечаете странный curl на неизвестный хост до его запуска. В режиме bypass вы узнаёте об этом потом.
Разрушительные команды, которых нет в критичном списке
Проверка критичных путей охватывает rm вашей домашней папки или корня проекта. Она не охватывает git reset --hard, git clean -fd, удалённую таблицу базы данных, force push или миграцию на не том окружении. Всё это выполняется без запроса.
Секреты и всё остальное на вашей машине
На вашем ноутбуке Claude работает от вашего имени. Он может читать ваши SSH-ключи, облачные учётные данные и файлы .env, а также ходить в сеть. Ошибке или внедрённой инструкции доступен весь ваш аккаунт.
Контрольные точки покрывают не всё
Claude Code создаёт контрольную точку перед каждым промптом, а /rewind (или двойное нажатие Esc) восстанавливает код, разговор или и то и другое. Но документация по контрольным точкам говорит, что изменения, сделанные командами Bash вроде rm, mv и cp, не отслеживаются, как и изменения вне сессии. Rewind не заменяет git.
Более безопасные способы убрать запросы разрешений
Чаще всего за флаг хватаются, потому что запросы замедляют работу. Эти варианты решают проблему запросов и сохраняют защиту.
1. Выберите подходящий режим разрешений
| Режим | Выполняется без вопросов | Подходит для |
|---|---|---|
default (Manual) | Только чтение | Незнакомый код, чувствительные репозитории |
acceptEdits | Чтение, правки файлов, обычные файловые команды вроде mkdir, mv, cp | Повседневное программирование, где вы просматриваете diff |
plan | Только чтение, без правок исходников | Исследование и планирование перед изменением |
auto | Всё, но классификатор сначала проверяет каждое действие | Длинные задачи, когда вы доверяете направлению |
dontAsk | Только заранее одобренные инструменты; остальное отклоняется | CI и скрипты |
bypassPermissions | Всё, кроме случаев выше | Только изолированные контейнеры и ВМ |
Shift+Tab переключает режимы в сессии. --permission-mode выбирает режим при запуске, а permissions.defaultMode в настройках задаёт режим по умолчанию.
Режим auto — золотая середина, которую хотят большинство. Модель-классификатор проверяет каждое действие до выполнения. Она блокирует действия, выходящие за рамки вашего запроса, направленные на неизвестную ей инфраструктуру или похожие на вызванные враждебным содержимым. Если блокировок три подряд или 20 в сумме, auto приостанавливается и возвращаются обычные запросы. Есть два ограничения: нужна поддерживаемая модель, а документация говорит, что режим «сокращает запросы разрешений, но не гарантирует безопасность». Свежие версии Claude Code по умолчанию запускают интерактивные сессии в режиме auto. Проверьте /permissions, чтобы узнать, в каком вы режиме.
2. Напишите allow- и deny-правила
Правила разрешений лежат в settings.json и применяются самим Claude Code, а не моделью. Они проверяются по порядку: deny, затем ask, затем allow. Побеждает первое совпадение, так что allow-правило никогда не отменит deny.
{
"permissions": {
"allow": ["Bash(npm run test *)", "Bash(npm run lint)", "Bash(git diff *)"],
"ask": ["Bash(git commit *)"],
"deny": ["Bash(git push *)", "Read(./.env)"]
}
}
Через /permissions можно смотреть и редактировать правила в сессии. Разрешите команды, которые вы запускаете по пятьдесят раз в день: тесты, lint и git только для чтения. Запретите те, которые агент не должен выполнять никогда. CLAUDE.md — рекомендации для модели. Он не меняет разрешения.
Для скриптов dontAsk с коротким списком allow строже, чем bypass:
claude -p "run the test suite and fix failures" \
--permission-mode dontAsk --allowedTools "Bash(npm test)" "Read" "Edit"
3. Включите песочницу Bash
Документация по песочнице описывает песочницу на уровне ОС, которая ограничивает, к каким файлам и сетевым доменам могут обращаться команды оболочки. Включите её через /sandbox или sandbox.enabled: true. Она работает в macOS, Linux и WSL2. Применяется только к командам оболочки. Файловые инструменты, серверы MCP и hooks работают вне её.
4. Если пропускаете разрешения, сначала изолируйтесь
Иногда bypass — правильное решение, например длинный запуск без присмотра на одноразовом коде. Тогда следуйте настройке из документации: контейнер, ВМ или dev-контейнер, пользователь без root, никаких смонтированных секретов и, в идеале, никакого доступа в интернет. Типичная форма запуска без присмотра:
claude -p "<task>" --dangerously-skip-permissions
Запускайте её внутри контейнера, а не на своём ноутбуке.
5. Работайте в worktree и часто коммитьте
Git worktree даёт агенту собственную папку и ветку. Если он испортит ветку, вы удаляете worktree, а main ничего не заметит. Частые коммиты дают точки восстановления, которые покрывают и то, что изменил Bash, чего контрольные точки не умеют.
Краткая таблица выбора
| Ситуация | Что использовать |
|---|---|
| Вы постоянно одобряете одни и те же команды тестов и lint | Allow-правила |
| Хотите меньше запросов, но с проверкой безопасности | Режим auto |
| Задача CI или скрипт с известным набором инструментов | dontAsk плюс --allowedTools |
| Команды оболочки не должны трогать сеть и вашу домашнюю папку | Песочница Bash |
| Долгий запуск без присмотра на одноразовом коде | Bypass внутри контейнера, не от root |
| На машине есть продакшен-учётные данные | Никогда не использовать bypass |
Как с этим работает AgentVera
Когда вы запускаете несколько агентов, запросов становится больше. Пять агентов — это пять мест, где что-то может ждать вашего «да». AgentVera даёт те же варианты для каждого агента и ещё способы отвечать на запросы откуда угодно.
Свой уровень разрешений для каждого агента
В диалоге агента и в выборе модели есть поле Permissions с тремя вариантами:
- Ask: CLI спрашивает как обычно.
- Auto: собственный режим auto у CLI. Правки и безопасные команды проходят, рискованные по-прежнему останавливаются. Для Claude Code агент запускается с
--permission-mode auto. - Full access: никогда не спрашивает. Для Claude Code это
--dangerously-skip-permissions. Подсказка в приложении говорит об этом прямо: «Best in a worktree or container».
В заголовке агента виден значок вроде «Permissions: Auto». У Codex и других CLI есть свои эквиваленты. Смена уровня перезапускает агента, а разговор продолжается. Если политика команды ограничивает одобрения, агенты продолжают спрашивать.
Auto-approve safe requests (Pro и Team)
Автоодобрение — средний путь для агентов Claude Code. Когда включено Auto-approve safe requests, AgentVera отвечает только на те запросы, которые Claude и так задал бы, и только на безопасные:
- инструменты чтения, такие как Read, Glob, Grep и LS,
- команды оболочки и git только для чтения,
- команды тестов, lint, проверки типов и сборки для npm, pnpm, yarn, bun, pytest, cargo, go и других.
Команды с >, $() или обратными кавычками никогда не одобряются автоматически. Ваши собственные allow- и deny-правила Claude по-прежнему действуют. Also approve file edits inside the project по умолчанию выключено. Если включить, оно охватывает правки внутри проекта или worktree и никогда не затрагивает .git и .env. Список Never auto-approve начинается с git push, npm publish, rm, git reset --hard и git clean, и вы можете добавить свои пункты. Recent auto-approvals показывает, что прошло в текущей сессии.
Переключатель включён по умолчанию, но действует только на Pro и Team. На бесплатном тарифе запросы по-прежнему приходят к вам.
Отвечайте на запросы с компьютера, телефона или из Telegram
Оставшиеся запросы приходят к вам, где бы вы ни были. На компьютере в строке состояния есть очередь одобрений, ⇧⌘A переходит к агенту, который ждёт дольше всех, а значок в Dock показывает счётчик. Если вы оставите одобрение без ответа, через пять минут придёт напоминание. См. уведомления и одобрения.
Вдали от компьютера:
- Telegram присылает запросы на одобрение с кнопками Approve и Deny.
- Вид с телефона на app.agentvera.dev показывает одобрения с кнопками Approve и Reject.
- Мобильное приложение присылает для них push-уведомления.
Поскольку ответ на запрос занимает секунды, причин тянуться к Full access становится меньше.
Агенты в Docker для настоящей изоляции
Для запусков, где Full access всё же нужен, запустите агента с Run in a Docker container. Это работает для локальных агентов Claude Code и Codex и доступно на всех тарифах. См. агенты в Docker.
- Контейнер видит только папку проекта, а не ваши SSH-ключи и остальной компьютер.
- Когда агент останавливается, контейнер удаляется. Остаются только изменения в папке проекта.
- Можно задать лимиты CPU и памяти.
- Hooks и MCP продолжают работать.
Нужен Docker Desktop, Colima или OrbStack. Это та самая изолированная среда, о которой говорит документация Claude Code, без необходимости самим писать Dockerfile.
Контрольные точки для каждого хода
Контрольные точки AgentVera снимают снимок рабочей папки в скрытую git-ссылку в начале каждого хода и хранят последние 60 ходов на агента. Поскольку снимается сама папка, они ловят и файлы, изменённые командой оболочки. Вы видите, какие файлы затронул ход, можете отменить ход и отменить отмену. Ваши ветки, индекс и stash остаются нетронутыми.
Чек-лист перед пропуском разрешений
- Не уберут ли запросы allow-правила или режим auto?
- Агент в контейнере или ВМ, а не на вашей основной машине?
- Он запущен от пользователя без root?
- Секреты, SSH-ключи и продакшен-учётные данные недоступны?
- Доступ в сеть ограничен или выключен?
- Работа идёт в отдельной ветке или worktree, и есть свежий коммит, к которому можно вернуться?
- Deny-правила покрывают
git pushи всё остальное, чего вы никогда не хотите?
Итоги
--dangerously-skip-permissions — настоящий инструмент с узким применением: одноразовые изолированные среды. Для повседневной работы allow- и deny-правила, режим auto и песочница убирают большинство запросов и оставляют контроль у вас. Если вы запускаете много агентов, дайте каждому нужный ему уровень. Пусть безопасные запросы проходят сами, на остальные отвечайте с телефона, а агентов, которым нужен Full access, помещайте в контейнер.
Читайте также:
- Автоодобрение
- Агенты в Docker
- Контрольные точки и повтор
- Запуск нескольких агентов Claude Code
- Агент Claude Code
Чтобы попробовать AgentVera, начните с главной страницы.