SSD Nodes Learn Hosting plans →
Руководства Matt ConnorАвтор: Matt Connor

Claude Code: как работает новый автоматический режим

Начиная с версии v2.1.283 автоматический режим стал стандартом в терминале и VS Code. Узнайте, как работают уровни разрешений и какой режим выбрать для удаленных серверов.

Что меняется в автоматическом режиме 14 августа 2026 года

Автоматический режим Claude Code выполняет вызовы инструментов без запроса подтверждения, предварительно отправляя каждое действие на проверку отдельной модели-классификатору. С 14 августа 2026 года этот режим стал режимом по умолчанию для новых сессий в планах Pro, Max и Team. По состоянию на 11 октября 2026 года документация уточняет: начиная с версии Claude Code v2.1.283 и выше, автоматический режим является встроенным режимом запуска для интерактивных сессий в терминале и VS Code для всех планов и провайдеров. Вы можете переключать режимы в любое время, при этом уже установленные вами настройки по умолчанию не перезаписываются.

В документации это изменение теперь описано следующим образом:

Начиная с версии Claude Code v2.1.283 и выше, автоматический режим является встроенным режимом разрешений по умолчанию для интерактивных сессий в терминале и VS Code. В более ранних версиях он является встроенным режимом разрешений по умолчанию только для планов Pro, Max и Team.

Два правила на той же странице важнее, чем номер версии. defaultMode, установленный вами в собственном ~/.claude/settings.json, сохраняется после этого изменения: Claude Code может один раз спросить, нужно ли переключиться на автоматический режим, и сохранит вашу настройку, если вы откажетесь. Настройка по умолчанию, развернутая вашей организацией через управляемые параметры, также сохраняется. В анонсе сообщалось, что автоматический режим поначалу останется опциональным для планов Enterprise и Claude API. Начиная с версии v2.1.283, документация больше не делает такого исключения для сессий в терминале и VS Code, хотя организация с примененной конфигурацией HIPAA по-прежнему начинает работу в ручном режиме (Manual mode).

Если вы запускаете Claude Code на VPS (виртуальном выделенном сервере), это изменение важнее, чем при работе на ноутбуке. Запрос на разрешение — это контрольная точка, требующая присутствия пользователя за клавиатурой. На удаленной машине вы часто отсутствуете, поэтому режим, в котором запускается сессия, остается активным в течение нескольких часов. Неинтерактивные запуски claude -p подчиняются другому правилу: они по-прежнему начинаются в default, если вы не укажете режим явно. Исключение составляют сторонние провайдеры или случаи с отключенной телеметрией, где версии v2.1.285 и выше запускают их в auto.

Режимы разрешений Claude Code: от максимального контроля до минимального

Существует шесть режимов. Имя в начале каждой строки — это значение, которое нужно указать в настройках или передать в --permission-mode. Все шесть режимов принудительно применяются самим Claude Code, а не моделью, поскольку определение допустимости вызова инструмента — это задача обвязки вокруг модели.

  • default: Claude запрашивает подтверждение перед каждым новым использованием инструмента. Чтение файлов внутри рабочей директории по-прежнему выполняется без запроса. CLI (интерфейс командной строки) помечает этот режим как Manual и принимает manual в качестве псевдонима начиная с Claude Code v2.1.200.
  • plan: Claude читает файлы и выполняет команды для анализа, но не вносит изменения в исходный код. Редактирование заблокировано до тех пор, пока вы не одобрите план.
  • acceptEdits: редактирование файлов выполняется без запроса, наряду с командами файловой системы mkdir, touch, rm, rmdir, mv, cp и sed. Это применимо только к путям внутри вашей рабочей директории или additionalDirectories. Любая другая команда оболочки по-прежнему требует подтверждения.
  • auto: выполняется всё, при этом классификатор предварительно проверяет каждое действие. Явные правила ask по-прежнему принудительно вызывают запрос подтверждения.
  • dontAsk: Claude Code автоматически отклоняет всё, что требовало бы вашего подтверждения. Выполняются только чтение файлов внутри рабочих директорий, правила allow, встроенные Bash-команды только для чтения и вызовы, одобренные хуком PreToolUse. Сессия никогда не ожидает ввода.
  • bypassPermissions: запросы и проверки безопасности пропускаются, включая запись в защищенные пути, такие как .git и .claude.

Нажимайте Shift+Tab во время сессии, чтобы переключаться между default, acceptEdits и plan. Из режима auto первое нажатие переводит вас в default. Строка состояния показывает текущий режим, например ⏵⏵ auto mode on или серый индикатор ⏸ manual mode on. Остальные режимы по умолчанию не входят в этот цикл. auto добавляется в него, как только ваша учетная запись соответствует требованиям. bypassPermissions добавляется только в том случае, если сессия была запущена с --permission-mode bypassPermissions, --dangerously-skip-permissions или --allow-dangerously-skip-permissions, либо с defaultMode: "bypassPermissions" в настройках пользователя, --settings или управляемых настройках. dontAsk там не появляется никогда, поэтому устанавливайте его через claude --permission-mode dontAsk.

Для автоматического режима также требуется актуальная модель, что является наиболее частой причиной его отсутствия. По состоянию на 11 октября 2026 года в документации указаны Claude Opus 4.6 или новее, Sonnet 4.6 или новее, Haiku 5.5 или модель Fable в Anthropic API; список для Amazon Bedrock, Google Cloud и Microsoft Foundry короче. Указано, что старые модели, такие как Sonnet 4.5, не поддерживаются ни одним провайдером. Если Claude Code сообщает, что автоматический режим недоступен, сначала проверьте эти требования и любые настройки disableAutoMode. Anthropic также может отключить автоматический режим на стороне сервера, и сессия, получившая такой ответ, сохранит его отключенным до завершения. В этом случае лучше начать новую сессию позже, чем ждать внутри старой.

Два элемента управления действуют в любом режиме, включая bypassPermissions: правила deny и явные правила ask. Это рычаги управления, которые остаются у вас независимо от того, в каком режиме запущена сессия.

Что блокирует классификатор автоматического режима

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

Отдельная модель-классификатор проверяет действия перед их выполнением, блокируя всё, что выходит за рамки вашего запроса, нацелено на неизвестную инфраструктуру или выглядит как результат обработки Claude вредоносного контента.

По умолчанию блокируются категории, с которыми администратор сервера сталкивается чаще всего:

  • Загрузка и выполнение кода, например curl | bash
  • Развертывание в production и миграции
  • Force push
  • Изменение общей инфраструктуры
  • Открытие туннеля или reverse shell, делающего локальный сервис доступным из публичного интернета
  • Вывод активных учетных данных или токенов в транскрипт или файл

По умолчанию разрешено:

  • Локальные файловые операции в рабочей директории
  • Установка зависимостей, указанных в lock-файлах или манифестах
  • HTTP-запросы в режиме только для чтения
  • Push в любую ветку репозитория, в котором вы работаете

Не полагайтесь на приведенное выше краткое описание. Запустите claude auto-mode defaults, чтобы вывести полные списки правил в формате JSON, и ознакомьтесь с набором, который поставляется с установленной у вас версией.

Перед использованием классификатора важно учитывать два документированных ограничения. Во-первых, в запросах классификатора, которые Claude Code отправляет сам себе, классификатор видит ваши сообщения, вызовы инструментов и ваш контент CLAUDE.md, но результаты работы инструментов удаляются. Поэтому текст внутри файла или веб-страницы, прочитанной Claude, не может напрямую повлиять на классификатор. Во-вторых, если классификатор блокирует действие 3 раза подряд или 20 раз за одну сессию, автоматический режим приостанавливается, и Claude Code возвращается к запросу подтверждения у вас. Одобрение запрошенного действия возобновляет автоматический режим. Эти пороги не настраиваются. В неинтерактивном запуске с флагом -p и без --permission-prompt-tool некому давать подтверждение, и документация прямо указывает, что Claude Code не прекращает выполнение: заблокированное действие не выполняется, а Claude продолжает работу.

Второе поведение создает проблемы на удаленном сервере двумя способами. Интерактивная сессия, оставленная без присмотра, при достижении лимита останавливается на запросе подтверждения и ждет человека, который не смотрит в терминал. Запуск -p никогда не ждет, поэтому задача может завершиться с невыполненными заблокированными шагами. Вторая сессия Claude Code на том же сервере не заменит человека, так как текст, отправленный из одной сессии в другую, не считается вашим согласием и не может ответить на запрос разрешения. Сессия, приостановленная на таком запросе, по-прежнему требует ответа от человека. Сужение области задач агента — вторая часть решения. Навык, подталкивающий агента к минимально возможным изменениям, не дает сессии выйти за рамки и совершить масштабные действия, которые блокирует классификатор. Если навык управляет одной задачей, то стиль вывода редактирует сам системный промпт, поэтому стиль, требующий небольших, точечных изменений, сохраняется на протяжении всей сессии, а не только для одной задачи, для которой вы его вызвали.

Где находятся режимы в settings.json

Все вышеперечисленное является одним объектом в файле настроек.

{
  "permissions": {
    "defaultMode": "auto",
    "allow": [
      "Bash(npm run test *)",
      "Bash(git status)"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(docker compose up *)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./secrets/**)",
      "Bash(curl *)"
    ]
  }
}

Правила оцениваются в следующем порядке: запрет (deny), затем запрос (ask), затем разрешение (allow). Первое совпадение в этом порядке определяет результат; более узкое правило не имеет приоритета над более широким, если оно идет позже. Правило запрета для Bash(aws *) блокирует aws s3 ls, даже если вы также разрешили эту конкретную команду, поэтому правило запрета не может содержать исключений.

ask — это тип правила, который полезен в режиме auto. Режим auto отключает стандартный запрос, а правило ask возвращает его для конкретной команды, которую вы хотите контролировать. Ваша команда развертывания (deploy) должна быть там. То же самое касается Bash(git push *), если вы хотите создать контрольную точку перед тем, как код покинет сервер. Хранение файлов с учетными данными в deny — это вторая часть процесса, которая работает в связке с предотвращением доступа агента к учетным данным изначально.

Файлы настроек в порядке возрастания приоритета:

  • ~/.claude/settings.json: ваши пользовательские настройки, применяемые в каждом проекте.
  • .claude/settings.json: настройки проекта, зафиксированные в репозитории.
  • .claude/settings.local.json: ваши личные настройки для одного репозитория, игнорируемые git.
  • Управляемые настройки, развертываемые администратором. В Linux этот файл находится по пути /etc/claude-code/managed-settings.json. Ничто не может переопределить правило управляемых разрешений, включая флаг командной строки.

Одна из ловушек имеет задокументированную причину. defaultMode: "auto" не вступает в силу, если задано в .claude/settings.json или .claude/settings.local.json, поэтому репозиторий не может самостоятельно предоставить себе режим auto через файл настроек. bypassPermissions также игнорируется в этих двух файлах. Если задать auto там, Claude Code вернется к встроенному значению по умолчанию, пропустив любые defaultMode в ~/.claude/settings.json, при этом ошибка нигде не будет выведена. В версии или плане, где встроенным значением по умолчанию является Manual, сессия тихо запустится в режиме default. Перенесите строку в ~/.claude/settings.json. Запустите /permissions, чтобы вывести список всех активных правил рядом с файлом, из которого они были загружены.

Два переключателя для отключения режима

У администраторов есть два «аварийных выключателя», и оба требуют указания строки "disable" вместо логического значения.

{
  "permissions": {
    "disableAutoMode": "disable",
    "disableBypassPermissionsMode": "disable"
  }
}

В документации точно указано, где их разместить:

Чтобы предотвратить использование режима bypassPermissions или auto, установите для permissions.disableBypassPermissionsMode или permissions.disableAutoMode значение "disable" в любом файле настроек. Это наиболее полезно в управляемых средах, где эти параметры нельзя переопределить.

disableAutoMode исключает auto из цикла Shift+Tab, и сессия, запущенная с помощью --permission-mode auto, начинается в режиме Manual. disableBypassPermissionsMode выполняет ту же задачу для режима bypass, и это работает из любой области видимости. Вы можете задать этот параметр в своем ~/.claude/settings.json, чтобы ограничить себе доступ к режиму, который вы не хотели бы использовать в 2 часа ночи на работающем сервере. На машине, которой пользуются другие люди, поместите оба параметра в /etc/claude-code/managed-settings.json, так как файл пользовательских настроек принадлежит пользователю, а управляемый файл — нет.

Почему автоматический режим на VPS требует изоляции

Классификатор анализирует действия по одному. Он не учитывает последствия выполнения одобренного действия. Документация проводит четкую границу:

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

Таким образом, для удаленного сервера необходимо сочетание автоматического режима и среды, которую вы готовы потерять, а не bypassPermissions в надежде на удачу. Режим обхода (bypass mode) предназначен только для изолированных сред: контейнеров, виртуальных машин или dev-контейнеров без доступа к сети, где Claude Code не может повредить хостовую систему. VPS, на котором работают ваша база данных и reverse proxy, к таким средам не относится.

Три фактора обеспечивают основную безопасность на сервере. Запускайте Claude Code от имени обычного пользователя, никогда не используйте root. Предоставьте этому пользователю рабочую директорию и ограничьте доступ ко всему остальному. Проще пересобрать сервер, чем чинить его, что является аргументом в пользу одноразовой виртуальной машины, которую можно удалить после выполнения задачи. Детали настройки защиты, от создания пользователя до правил межсетевого экрана, описаны в полном руководстве по безопасной работе с Claude Code на VPS, поэтому здесь они не повторяются.

Claude Code самостоятельно принудительно соблюдает правило запрета root. В Linux и macOS он отказывается запускаться в режиме обхода под учетной записью sudo или от имени root:

--dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons

Эта проверка пропускается внутри распознанной «песочницы», поэтому рекомендуемым решением для автономной работы в контейнерах является dev-контейнер, в котором Claude Code запускается от имени пользователя без прав root. Если вы управляете агентом с телефона или ноутбука через SSH, те же соображения применимы к длительной сессии Claude Code, запущенной в tmux: пока сессия активна, никто не следит за вводом команд. Ничего не запустится, пока не будет выполнен вход в систему, поэтому, если сервер отклоняет подключение с ошибкой Permission denied (publickey), подробный вывод SSH укажет, какая из пяти возможных проблем возникла у вас.

Настройка Bash-песочницы на Ubuntu VPS

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

sudo apt-get install bubblewrap socat

Запустите Claude Code и выполните /sandbox. Откроется панель с вкладками Mode, Overrides и Config. Если отсутствует необходимый пакет, отображается только вкладка Dependencies, где указано, что нужно установить. Проверка зависимостей выполняется при запуске, поэтому перезапустите Claude Code после установки пакетов, иначе панель по-прежнему будет сообщать об их отсутствии.

В Ubuntu 24.04 и более поздних версиях политика AppArmor по умолчанию препятствует созданию пространств имен пользователей (user namespaces), необходимых для bubblewrap, из-за чего песочница не запускается. Проверьте, применимо ли это к вашей системе:

sysctl kernel.apparmor_restrict_unprivileged_userns

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

sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'
abi <abi/4.0>,
include <tunables/global>

profile bwrap /usr/bin/bwrap flags=(unconfined) {
  userns,
  include if exists <local/bwrap>
}
EOF
sudo systemctl reload apparmor

Профиль применяется к самому bwrap, а не к командам, которые он выполняет внутри песочницы. Затем сузьте границы в настройках:

{
  "sandbox": {
    "enabled": true,
    "filesystem": {
      "denyRead": ["~/"],
      "allowRead": ["."]
    },
    "network": {
      "allowedDomains": ["github.com", "*.npmjs.org"]
    }
  }
}

Этот блок должен находиться в файле .claude/settings.json проекта, так как . разрешается в корень проекта только из настроек проекта. Если поместить те же строки в ~/.claude/settings.json, то . разрешится в ~/.claude, из-за чего правило denyRead заблокирует ваши файлы проекта, и любая команда не сможет прочитать код, который она должна редактировать.

Учитывайте, что это не охватывает все аспекты. Песочница ограничивает Bash и его дочерние процессы. Встроенные инструменты для работы с файлами выполняются внутри процесса Claude Code, а серверы MCP (model context protocol) и хуки являются отдельными процессами, которые работают на хосте без ограничений. Чтобы поместить их все за одну границу, запускайте весь процесс Claude Code внутри контейнера, виртуальной машины или пакета @anthropic-ai/sandbox-runtime, который на момент написания статьи является бета-версией для ознакомления.

Какой режим подходит для каждой конфигурации?

Одиночный репозиторий на личном ноутбуке

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

Общий VPS

Используйте auto для каждого пользователя, настроенный в собственном файле ~/.claude/settings.json пользователя, на сервере, где учетная запись, запускающая Claude Code, не является root и не имеет доступа к данным других пользователей. Разверните disableBypassPermissionsMode как "disable" в /etc/claude-code/managed-settings.json вместе с правилами запрета, защищающими общие пути. Общий сервер — это самый очевидный случай, когда bypassPermissions не подходит, так как граница изоляции, на которую рассчитан этот режим, отсутствует: другие пользователи находятся внутри неё.

CI и автоматизированные сессии

Используйте dontAsk с явным списком allow команд, необходимых для выполнения задачи. Автоматический запрет — правильный режим сбоя, когда никто не увидит запрос на подтверждение. Режим Auto также работает в неинтерактивном режиме, но запуск -p, который постоянно сталкивается с блокировками классификатора, не останавливается: заблокированные действия пропускаются, и Claude продолжает работу, поэтому задача может завершиться с невыполненными шагами. Используйте bypassPermissions только для контейнера или виртуальной машины, которые вы пересобираете из образа, и не используйте его на хосте, где запущены важные для вас сервисы.

FAQ

Когда автоматический режим стал режимом по умолчанию в Claude Code?

Он стал режимом по умолчанию 14 августа 2026 года для новых сессий в планах Pro, Max и Team. По состоянию на 11 октября 2026 года в документации указано, что в Claude Code v2.1.283 и более поздних версиях это встроенный начальный режим для интерактивных сессий в терминале и VS Code для всех планов и провайдеров, за исключением организаций с примененной конфигурацией HIPAA. Неинтерактивные запуски claude -p по-прежнему начинаются в режиме default, если вы не укажете режим явно, за исключением сторонних провайдеров и сессий с отключенной телеметрией в версии v2.1.285 и выше. Установленный вами режим по умолчанию сохраняется, если вы не примете однократный запрос на переключение; настройки по умолчанию, управляемые вашей организацией, остаются без изменений. Проверить текущий режим сессии можно в строке состояния, где в автоматическом режиме отображается ⏵⏵ auto mode on.

Стоит ли использовать автоматический режим или bypassPermissions на VPS?

Используйте автоматический режим в сочетании с границей изоляции. Классификатор проверяет каждое действие перед его выполнением, но документация прямо указывает, что это контроль на уровне отдельных действий, а не граница изоляции. Поэтому для автоматического запуска по-прежнему требуется контейнер, виртуальная машина или среда, которую вы готовы пересоздать. Флаг bypassPermissions полностью отключает проверки и предназначен только для изолированных сред. Claude Code отказывается запускаться в этом режиме от имени root в Linux и выводит --dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons.

Как запретить пользователям на моем сервере использовать автоматический режим или режим обхода?

Установите permissions.disableAutoMode и permissions.disableBypassPermissionsMode в значение "disable" в файле /etc/claude-code/managed-settings.json. Управляемые настройки имеют приоритет над любыми другими областями действия, поэтому ни файл настроек пользователя, ни флаг командной строки не могут их переопределить. Параметр disableAutoMode удаляет auto из цикла Shift+Tab, и сессия, запущенная с --permission-mode auto, начнется в ручном режиме. Параметр disableBypassPermissionsMode также работает из любой области, поэтому отдельный пользователь может установить его в своем файле ~/.claude/settings.json.

Почему моя настройка defaultMode: "auto" игнорируется?

Потому что она находится в неверном файле. Настройка defaultMode: "auto" не вступает в силу, если она задана в .claude/settings.json или .claude/settings.local.json, чтобы репозиторий не мог самостоятельно предоставить себе автоматический режим через файл настроек. Claude Code возвращается к встроенному значению по умолчанию, игнорируя любые defaultMode в ваших пользовательских настройках, и не выводит ошибку. Если встроенным значением по умолчанию является ручной режим, сессия начнется в режиме default. Перенесите настройку в ~/.claude/settings.json, затем выполните /permissions, чтобы подтвердить, из какого файла было получено каждое активное правило. Если автоматический режим по-прежнему недоступен, проверьте требования к модели: старые модели, такие как Sonnet 4.5, не поддерживаются ни у одного провайдера.