bypassPermissions — это режим разрешений в Claude Code, в котором агент ни о чем не спрашивает: правки, команды, сетевые вызовы и все остальное выполняется сразу, как только модель решит это сделать. Рекомендация Anthropic — использовать его только в изолированных одноразовых средах. Это касается того, до чего агент может дотянуться. Но есть и второй вопрос, которого рекомендация не касается: кто именно дает ему указания.
Для собственного агента в вашей песочнице bypass — это просто настройка для скорости. Для агента, которому могут отправлять запросы другие люди, bypass — это решение передать им все ваши локальные полномочия напрямую, без участия человека. Этот пост — о разнице между ними.
Why bypass is tempting
Любые prompt создают трение. При долгом рефакторинге сотня вопросов «разрешить эту правку?» приучает жать «да» не глядя. Их отключение превращает агента из бюрократической формы в коллегу. Многие включают bypass в репозиториях под управлением версий и справедливо рассуждают, что неудачную правку всегда можно откатить через git checkout.
Эта логика работает, пока выполняются три условия: вы сами написали запрос, вы наблюдаете за процессом и в пределах досягаемости нет ничего необратимого.
What changes when someone else asks
Запрос исходит не от вас. Фраза коллеги «подчисти старые ветки» для него значит одно. Для агента это значит git branch -D. В режиме bypass между ними нет никакой паузы.
Входные данные не доверены. Запросы приходят с вложениями: скриншот, лог-файл, скопированный текст issue. Любое из них может содержать текст, похожий на инструкцию. Prompt injection через общие входные данные — реальный вектор атаки, а bypass убирает единственную проверку, способную его перехватить.
Вы не наблюдаете. Совместный доступ как раз и нужен для того, чтобы агент работал, пока вас нет рядом. Prompt, на который вы ответили бы за секунду, превращается в действие, которого никто не видел.
Необратимые действия в зоне доступа. Push в main, удаление, списание денег, чтение учетных данных. На вашей собственной машине в обычной сессии такое происходит редко, поэтому bypass и кажется безопасным. Но именно эти действия кто-то другой вероятнее всего вызовет случайно.
The line
Используйте bypass для агентов, с которыми общаетесь только вы, и в каталогах, где нет ничего необратимого. Как только агент оказывается в комнате со вторым человеком, вопрос больше не в том, «насколько я доверяю модели», а в том, «насколько я доверяю каждому человеку и каждому вложению, которые могут до нее добраться».
Keeping the speed without crossing it
Комната позволяет сохранить почти всю скорость благодаря двум дополнениям поверх выбранного режима.
Индивидуальные разрешения. Постоянное разрешение позволяет доверенному человеку запускать задачи без одобрения каждого запроса. Собственный режим агента при этом может оставаться мягким для обычных вызовов. См. разбор режимов разрешений.
Четыре действия, которые всегда ставятся на паузу. Push в общую ветку, удаление, трата денег и обращение к учетным данным приостанавливаются и требуют подтверждения владельца даже в режиме bypass, если запрос пришел от кого-то другого. Сотня обычных правок выполняется без лишних prompt; но один git push origin main ждет вашего решения. Обоснование описано в статье четыре действия, о которых агент всегда должен спрашивать заранее.
A practical recommendation
- Агенты с общим доступом:
acceptEditsдля репозиториев,planдля любых исследовательских задач. Выдавайте разрешения тем, кому доверяете. - Агенты только для вас в одноразовых песочницах: bypass вполне подходит.
- Всё, где в рабочей директории есть продакшен-секреты:
default, и отдельный агент для задач, где они не нужны. - Никогда не давайте общий доступ к агенту, в рабочей директории которого лежат файлы ключей. Переместите ключ, а не меняйте режим.
Frequently asked questions
Does a room change what bypass means inside a run? Нет. Внутри запуска bypass по-прежнему означает отсутствие runtime prompt. Комната лишь определяет, кто может инициировать запуск и какие четыре действия будут приостанавливаться в любом случае.
What about Codex’s equivalent settings? Та же схема, тот же совет: мягкий режим для себя в песочнице, но не для общего агента.
Isn’t a prompt for every push annoying? В обычной сессии push в общие ветки происходит редко. Если это не так, рабочая директория агента, скорее всего, настроена слишком широко.
Быстро для вас, осмотрительно для всех остальных. Для этого и нужна комната. Создайте ее для своего агента.
Опубликовано