SpyBara
Go Premium

server-managed-settings.md 2026-11-04 23:59 UTC to 2026-11-05 23:03 UTC

No changes for this document in this history range.

2026
Mon 2 23:57 Wed 4 23:59 Fri 6 23:01 Tue 10 21:57 Wed 11 22:59

Настройка параметров, управляемых сервером

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

Настройки, управляемые сервером, позволяют владельцам организации централизованно настраивать Claude Code из Organization settings > Claude Code > Managed settings в консоли claude.ai. Клиенты Claude Code автоматически получают эти настройки при аутентификации пользователей с использованием подходящих учётных данных на платформе, где поддерживается доставка настроек, управляемых сервером. См. Доступность платформы для получения информации об учётных данных и платформах, которые соответствуют требованиям.

[!NOTE]

Параметры, управляемые сервером, доступны для клиентов Claude for Teams и Claude for Enterprise.

Требования

Для использования параметров, управляемых сервером, вам необходимо:

  • План Claude for Teams или Claude for Enterprise
  • Роль Owner или Primary Owner в вашей организации Claude для просмотра и редактирования конфигурации
  • Сетевой доступ к api.anthropic.com

Выбор между параметрами, управляемыми сервером, и параметрами, управляемыми конечной точкой

Claude Code поддерживает два подхода к централизованной конфигурации. Параметры, управляемые сервером, доставляют конфигурацию с серверов Anthropic. Параметры, управляемые конечной точкой развертываются непосредственно на устройства через встроенные политики ОС (управляемые параметры macOS, реестр Windows) или управляемые файлы параметров.

Подход Лучше всего подходит для Модель безопасности
Параметры, управляемые сервером Организации без MDM или пользователи на неуправляемых устройствах Параметры, которые Claude Code получает с серверов Anthropic при запуске и обновляет каждый час во время сеанса
Параметры, управляемые конечной точкой Организации с MDM или управлением конечными точками Параметры развертываются на устройства через профили конфигурации MDM, политики реестра или управляемые файлы параметров

Если ваши устройства зарегистрированы в решении MDM или управления конечными точками, параметры, управляемые конечной точкой, обеспечивают более сильные гарантии безопасности, поскольку файл параметров может быть защищен от изменения пользователем на уровне ОС. Параметры, управляемые конечной точкой, не достигают облачных сеансов в размещенных в Anthropic средах, поэтому организации, разработчики которых запускают облачные сеансы, должны также настроить параметры, управляемые сервером. Сеансы в самостоятельно размещенной среде также читают управляемый файл параметров в образе runner. Приоритет параметров ниже указывает, когда этот файл применяется.

Настройка параметров, управляемых сервером

1. Откройте консоль администратора

В консоли claude.ai перейдите в Organization settings > Claude Code > Managed settings.

Если в организации Team или Enterprise на странице указано, что у вас нет доступа, попросите Owner или Primary Owner внести изменение.

2. Определите ваши настройки

Добавьте вашу конфигурацию как JSON. Все настройки, доступные в settings.json, поддерживаются, за исключением тех, которые ограничены доставкой политики на уровне ОС; см. Текущие ограничения для этого краткого списка. Это включает хуки, переменные окружения и настройки только для управляемого уровня, такие как allowManagedPermissionRulesOnly.

Этот пример применяет список отказа в разрешениях, предотвращает обход разрешений пользователями и ограничивает правила разрешений только теми, которые определены в управляемых параметрах. Правило Bash(curl *) соответствует curl так, как его пишет Claude, а не /usr/bin/curl или sh -c 'curl …'; для применения сетевых ограничений, которые не зависят от текста команды, добавьте sandbox блок с allowManagedDomainsOnly.

{
  "permissions": {
    "deny": [
      "Bash(curl *)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ],
    "disableBypassPermissionsMode": "disable"
  },
  "allowManagedPermissionRulesOnly": true
}

Hooks используют тот же формат, что и в settings.json.

Этот пример запускает скрипт аудита после каждого редактирования файла во всей организации:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          { "type": "command", "command": "/usr/local/bin/audit-edit.sh" }
        ]
      }
    ]
  }
}

Поскольку hooks выполняют команды оболочки, пользователи в интерактивных сеансах видят диалог одобрения безопасности перед тем, как Claude Code применит их.

Чтобы настроить классификатор авторежима так, чтобы он знал, каким репозиториям, бакетам и доменам доверяет ваша организация, доставьте блок autoMode таким же образом; см. Настройка авторежима для информации о том, как записи autoMode влияют на то, что блокирует классификатор, и важные предупреждения о полях environment, allow, soft_deny и hard_deny.

3. Сохраните и разверните

Сохраните ваши изменения. Клиенты Claude Code получат обновленные настройки при следующем запуске или в цикле опроса каждый час.

Редактор проверяет ваш JSON по опубликованной JSON-схеме настроек Claude Code. Если он находит проблему в JSON, который успешно разбирается, он показывает предупреждение и меняет надпись на кнопке сохранения. Надпись будет Update with errors, если настройки уже сохранены, и Add with errors, если настройки еще не сохранены. Эта кнопка все равно сохраняет, поскольку предупреждение схемы не блокирует сохранение.

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

Проверка доставки параметров

Чтобы подтвердить, что параметры применяются, попросите пользователя перезагрузить Claude Code. Если конфигурация включает параметры, которые запускают диалог одобрения безопасности, пользователь видит подсказку, описывающую управляемые параметры при следующей загрузке параметров Claude Code: при следующем запуске или в течение часа в работающем интерактивном сеансе. Вы также можете проверить, что активны управляемые правила разрешений, попросив пользователя запустить /permissions для просмотра его эффективных правил разрешений.

Чтобы проверить результат загрузки на конкретной машине, попросите пользователя запустить claude doctor и прочитать строку Managed settings (remote). Требуется Claude Code v2.1.248 или позже. Строка сообщает об одном из четырех результатов:

  • Доставленные параметры загружены
  • Ваша организация не имеет настроенных параметров, управляемых сервером
  • Загрузка не удалась, с указанием причины и того, применяется ли кэшированная политика
  • Claude Code пропустил загрузку, с указанием причины. См. Доступность платформы для поставщиков и конфигураций, которые пропускают её

Пока загрузка еще выполняется, строка сообщает об этом вместо этого.

В работающем сеансе /status показывает ту же строку после неудачной загрузки и для некоторых причин пропуска загрузки, таких как переменная поставщика третьей стороны или пользовательский ANTHROPIC_BASE_URL, экспортированный в оболочке пользователя.

Контроль доступа

Следующие роли могут управлять параметрами, управляемыми сервером:

  • Primary Owner
  • Owner

Ограничьте доступ доверенному персоналу, так как изменения параметров применяются ко всем пользователям в организации.

Параметры только для управления

Большинство ключей параметров работают в любой области. Несколько ключей читаются только из управляемых параметров и не имеют эффекта при размещении в файлах параметров пользователя или проекта. См. параметры только для управления для элементов управления разрешениями и плагинами, или прочитайте столбец Scope в индексе Все параметры для полного набора.

Текущие ограничения

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

  • Параметры применяются одинаково ко всем пользователям в организации. Конфигурации для отдельных групп еще не поддерживаются.

  • Вы не можете распространять файл managed-mcp.json через параметры, управляемые сервером. Вместо этого доставьте там ключи политики allowedMcpServers и deniedMcpServers. На Claude Code v2.1.259 или позже вы также можете предоставить удаленные серверы с помощью managedMcpServers, который принимает только серверы http и sse и не берет исключительный контроль так, как это делает файл.

    Claude Code читает managed-mcp.json, развернутый по его системному пути, отдельно от уровня управляемых параметров, поэтому файл все еще применяется, когда действуют параметры, управляемые сервером.

  • Параметры, ограниченные источниками политики на уровне ОС, такие как policyHelper и wslInheritsWindowsSettings, не учитываются. Разверните их через MDM или системный файл managed-settings.json вместо этого. policyHelper, развернутый таким образом, работает только тогда, когда его источник является выбранным в приоритете в пределах управляемого уровня.

Доставка настроек

Приоритет настроек

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

На управляемом уровне Claude Code по умолчанию использует первый источник, который доставляет хотя бы один ключ политики: сначала проверяются настройки, управляемые сервером, а затем настройки, управляемые на уровне конечного устройства, за исключением ключей-исключений, описанных далее. В разделе Как Claude Code объединяет управляемые источники приведены полный порядок приоритета, особый порядок для управляющих ключей и необязательная настройка, при включении которой Claude Code применяет все источники.

Если выбранный источник — это политика MDM или файл управляемых настроек, чей policyHelper предоставляет управляемые настройки, вывод этого хелпера заменяет данный источник и становится единственной управляемой конфигурацией для запуска. Claude Code не обращается к policyHelper, настроенному в MDM или в настройках на основе файлов, пока настройки, управляемые сервером, доставляют ключ политики.

Если при последующем получении выясняется, что настройки, управляемые сервером, удалены, Claude Code запускает этот хелпер сразу, а не при следующем запуске. В записи policyHelper описано, что происходит, если этот запуск завершается неудачно.

Если вы очищаете конфигурацию, управляемую сервером, в консоли администратора, чтобы вернуться к политике plist или реестра, управляемой на уровне конечного устройства, учтите, что кэшированные настройки сохраняются на клиентских машинах до следующего успешного получения, а ключи, которые применяются только при следующем запуске, например model, остаются в силе, пока каждый клиент не будет перезапущен. Выполните /status, чтобы увидеть, какой управляемый источник активен.

Исключения для отдельных ключей в управляемых источниках

Эти ключи являются исключениями из правила отсутствия объединения:

  • Ключи блокировки, действующие во всех источниках: небольшой набор ключей, например блокировки списка разрешённых для песочницы, перечисленных на странице управляемых настроек. Claude Code учитывает их, когда их задаёт любой управляемый источник, контролируемый администратором; уровень реестра HKCU, доступный пользователю для записи, исключён.

    Когда policyHelper предоставляет управляемые настройки, его вывод — единственный источник, который читают эти проверки, за исключением forceRemoteSettingsRefresh, который Claude Code читает непосредственно из источников администратора при запуске.

  • Блок env: за исключением единого блока телеметрии и переменных маршрутизации, связанных с ключом учётных данных (оба описаны ниже), он объединяется по ключам между источниками, контролируемыми администратором. Для каждой переменной окружения побеждает источник с наивысшим приоритетом, который её определяет, а источники администратора с более низким приоритетом заполняют переменные, которые источники с более высоким приоритетом оставляют незаданными. Поэтому запись env, управляемая на уровне конечного устройства, применяется всякий раз, когда конфигурация, управляемая сервером, оставляет эту переменную незаданной, или пока кэшированное серверное значение для неё удерживается в ожидании подтверждения сервером. Требуется Claude Code v2.1.223 или более поздней версии. До v2.1.223 Claude Code применяет только весь блок env выбранного источника.

    • Единый блок телеметрии: ключи экспортера OTEL_EXPORTER_OTLP_*, переключатели захвата содержимого OTEL_LOG_*, OTEL_LOGS_EXPORTER и переменные бета-трассировки ENABLE_BETA_TRACING_DETAILED и BETA_TRACING_ENDPOINT берутся как единое целое из источника с наивысшим приоритетом, задающего любую из них. Источник, доставляющий ключ учётных данных otelHeadersHelper, тоже претендует на этот блок, но устанавливает эти переменные только тогда, когда он является выбранным источником: источник, который не выбран, но доставляет этот ключ, не предоставляет ни одной из них и всё равно не позволяет источникам с более низким приоритетом их заполнить. В любом случае эндпоинт экспортера из одного источника никогда не может сочетаться с учётными данными из другого.
    • Маршрутизация, связанная с учётными данными: источник, который сочетает переменные маршрутизации с ключом учётных данных, действующим только для выбранного источника, например apiKeyHelper или otelHeadersHelper, предоставляет эти переменные маршрутизации, только если он занимает эту позицию.
  • allowedProviders: список, заданный на машине, и список, управляемый сервером, объединяются так, как указано в примечании об области действия в его записи. Требуется Claude Code v2.1.285 или более поздней версии

  • Ключи входа в собственные сервисы Anthropic: forceLoginOrgUUID и значения "claudeai" и "console" ключа forceLoginMethod. Если вы также развёртываете политику MDM или файл управляемых настроек, задайте их и там, и в настройках, управляемых сервером, на claude.ai, пока все клиенты не будут работать на v2.1.299 или более поздней версии. О том, где задавать эти ключи после этого и значение из какого источника применяется, см. Какой управляемый источник предоставляет ключи входа.

  • Ключи входа через шлюз: Claude Code никогда не читает forceLoginGatewayUrl, gatewayInternalNetworks или значение "gateway" ключа forceLoginMethod из настроек, управляемых сервером, поэтому значение там не применяется и не скрывает значение, заданное в политике MDM или файле управляемых настроек. В записи managedSourcesBehavior указано, какой источник администратора на машине их предоставляет.

Когда apiKeyHelper машины не действует

Когда выбранным источником являются ваши настройки, управляемые сервером, apiKeyHelper в файле управляемых настроек или политике MDM машины не действует. В этом случае Claude Code отклоняет промпты в сессии, которая использовала бы сохранённый вход claude.ai, при выполнении обоих условий:

  • Файл или политика включает облачного провайдера, или какой-либо источник задаёт адрес API, отличный от адреса Anthropic
  • Настройки, управляемые сервером, не задают хелпер и не указывают адрес API Anthropic

Чтобы снять отказ, сохраните действие хелпера и его адреса API, укажите адрес API Anthropic в настройках, управляемых сервером, или удалите хелпер из политики машины. Отказ требует Claude Code v2.1.314 или более поздней версии.

Получение и кэширование

Claude Code получает настройки с серверов Anthropic при запуске и ежечасно проверяет наличие обновлений во время активных сессий.

Клиент, вошедший через шлюз приложений Claude, получает настройки от шлюза и дожидается этого получения до начала сессии, поэтому описанное в списках ниже получение к нему не относится. Что происходит при сбое этого получения, описано в разделе Принудительный запуск с отказом при сбое.

[!NOTE]

При входе в claude.ai с тарифом Team или Enterprise, сохранённом на машине, Anthropic может требовать настройки вашей организации до начала сессии. В этом случае, независимо от того, что сказано в списках ниже, разработчик не может начать сессию, например в таких случаях:

  • Срок действия его входа истёк — до тех пор, пока он не выполнит claude auth login
  • У Claude Code нет ни настроек, ни недавней кэшированной копии. Проверьте, может ли машина подключиться к api.anthropic.com

Сообщение при запуске с before a session can start или Your Claude session has expired означает, что это требование действует.

Первый запуск без кэшированных настроек:

  • Когда разработчик входит при запуске, например при первом запуске или после /logout, Claude Code ждёт получения до пяти секунд, прежде чем открыть сессию. Если политика приходит вовремя, Claude Code применяет её с первого экрана и показывает на нём ваши companyAnnouncements. Если данные требуют подтверждения безопасности, Claude Code прекращает ожидание и применяет данные после подтверждения разработчиком
  • При любом другом запуске, а также когда пятисекундное ожидание истекает, Claude Code открывает сессию, пока получение продолжается, поэтому проходит короткий промежуток времени, прежде чем настройки загрузятся и ограничения вступят в силу
  • Если получение завершается неудачно, Claude Code продолжает работу без настроек, управляемых сервером, и в интерактивных сессиях, а также на вкладке Code в Claude Desktop предупреждает, что удалённая политика не применяется; настройки, управляемые на уровне конечного устройства, по-прежнему применяются. Если управляемый источник задаёт forceRemoteSettingsRefresh, Claude Code вместо этого завершает работу

Последующие запуски с кэшированными настройками:

  • Кэшированные настройки применяются сразу при запуске, за исключением кэшированных значений modelPricing и managedMcpServers; переменных окружения, которые Claude Code удерживает до подтверждения данных сервером; удаления, перемещения или отключения встроенного стража кэшированным списком плагинов; а также, на машине, где источник, управляемый на уровне конечного устройства, перечисляет или включает собственные плагины, статуса организации для плагина, который включён только кэшированным списком
  • Кэшированный modelPricing не применяется, пока получение в рамках сессии не подтвердит данные. До этого показатели стоимости, которые разработчики видят в /usage и строке состояния, рассчитываются по прейскурантной цене
  • Кэшированный блок managedMcpServers не применяется, пока получение в рамках сессии не подтвердит данные. Claude Code ждёт этого получения до 30 секунд, прежде чем подключать MCP-серверы. Если получение завершается неудачно или по таймауту, сессия начинается без серверов организации, /status сообщает об этом, а серверы подключаются, как только последующее получение их подтвердит. Полное описание поведения, включая первый запуск, см. в разделе Когда подключаются предоставленные серверы. Требуется Claude Code v2.1.259 или более поздней версии
  • Кэшированное значение prependPlugins, appendPlugins или enabledPlugins не может удалить встроенного стража, изменить его позицию или отключить его, пока получение в рамках сессии не подтвердит данные
  • На машине, где источник, управляемый на уровне конечного устройства, перечисляет или включает собственные плагины, плагин, который включён только кэшированным списком, считается плагином пользователя, а не вашей организации, пока получение не подтвердит данные
  • Claude Code получает свежие настройки в фоновом режиме
  • Кэшированные настройки сохраняются при сбоях сети. Если получение при запуске завершается неудачно, Claude Code предупреждает в интерактивных сессиях и на вкладке Code, что действует кэшированная политика
  • Пока получение не завершится успешно, значения, удержанные при запуске, остаются удержанными

Claude Code удерживает несколько категорий переменных в кэшированном блоке env, пока сервер не подтвердит данные для сессии. Это не позволяет кэшированному значению прокси, центра сертификации, эндпоинта или учётных данных перенаправить, перехватить или повторно аутентифицировать получение настроек, которое подтверждает данные. Эта защита применяется только к кэшу настроек, полученных с сервера: настройки, управляемые на уровне конечного устройства и развёрнутые через MDM или managed-settings.json, не затрагиваются. Удерживаемые категории включают:

  • Конфигурацию прокси и TLS, например HTTPS_PROXY, NODE_EXTRA_CA_CERTS и переменные клиентского сертификата mTLS CLAUDE_CODE_CLIENT_CERT и CLAUDE_CODE_CLIENT_KEY
  • Маршрутизацию API и выбор провайдера, включая ANTHROPIC_BASE_URL, переменные выбора провайдера, такие как CLAUDE_CODE_USE_BEDROCK и CLAUDE_CODE_USE_VERTEX, и URL-адреса эндпоинтов провайдеров, такие как ANTHROPIC_BEDROCK_BASE_URL
  • Учётные данные аутентификации, например ANTHROPIC_API_KEY, ANTHROPIC_AUTH_TOKEN и CLAUDE_CODE_OAUTH_TOKEN
  • Селектор каталога конфигурации CLAUDE_CONFIG_DIR
  • Селекторы источника учётных данных и каталога конфигурации в Claude Code v2.1.223 или более поздней версии: переменные Workload Identity Federation, такие как ANTHROPIC_FEDERATION_RULE_ID и ANTHROPIC_IDENTITY_TOKEN, селекторы профиля и каталога конфигурации ANTHROPIC_PROFILE и ANTHROPIC_CONFIG_DIR, а также переменные каталогов операционной системы HOME, XDG_CONFIG_HOME, APPDATA и USERPROFILE

Claude Code читает переменные Workload Identity Federation и селекторы ANTHROPIC_PROFILE и ANTHROPIC_CONFIG_DIR только при запуске, поэтому значение, доставленное сервером, не переключает источник учётных данных сессии даже после успешного получения. Чтобы доставить эти селекторы в Claude Code v2.1.223 или более поздней версии, используйте настройки, управляемые на уровне конечного устройства, например MDM или managed-settings.json. Для CLAUDE_CONFIG_DIR и переменных каталогов операционной системы защитой служит само удержание: кэшированное значение не попадает в окружение, пока сервер не подтвердит данные.

Все остальные ключи в кэшированном блоке env применяются при запуске. Как только сервер подтвердит данные и вы их одобрите, если они требуют подтверждения безопасности, удержанные переменные применяются до конца сессии.

Если вашей организации нужен прокси для доступа к api.anthropic.com, удержание затрагивает только сам блок env, доставленный сервером: прокси, заданный в управляемом на уровне конечного устройства блоке env через MDM или managed-settings.json, в окружении оболочки или в пользовательских настройках, используется при получении настроек. Источник, управляемый на уровне конечного устройства, требует Claude Code v2.1.223 или более поздней версии: кэшированное значение прокси, управляемое сервером, удерживается, пока получение его не подтвердит, поэтому значение, управляемое на уровне конечного устройства, подставляется по ключу и используется при самом получении. До v2.1.223 используйте окружение оболочки или пользовательские настройки, чтобы прокси применялся вместе с кэшированными серверными данными. При первом запуске кэша нет, поэтому для начального получения по-прежнему требуется источник, управляемый на уровне конечного устройства, окружение оболочки или пользовательские настройки.

Claude Code применяет большинство обновлений настроек к работающим сессиям без перезапуска. Некоторые обновления применяются только при следующем запуске, включая конфигурацию экспортера OpenTelemetry, ключ model и удаление переменной из блока env.

Недопустимые записи в доставленных настройках

Когда часть данных не проходит проверку по схеме, Claude Code сообщает об ошибке проверки и применяет все остальные допустимые настройки; в разделе Недопустимые записи в управляемых настройках указано, что отбрасывается и какие ключи возвращаются к более строгому значению. Требуется Claude Code v2.1.169 или более поздней версии.

Доставка, управляемая сервером, добавляет следующее поведение:

  • Запуск, использующий кэш в ~/.claude/remote-settings.json, обрабатывает недопустимые записи так же, как получение, записавшее этот кэш:

    • Записи, не прошедшие проверку, остаются отброшенными.
    • Ключи с отказом при сбое сохраняют свои более строгие значения.
    • Недопустимое значение cleanupPeriodDays или desktopSessionCleanupPeriodDays остаётся в кэшированной копии и никогда не применяется.
  • Claude Code ничего не применяет из данных и оставляет кэш без изменений, когда выполняются все три условия:

    • Каждая настройка в данных не проходит проверку.
    • Ни одна из них не возвращается к более строгому значению.
    • Данные содержат ключ, отличный от этих двух ключей хранения.

    В этом случае уведомление при запуске, /status и claude doctor сообщают о неудачной загрузке с причиной no setting in the server response could be applied as written, а в этой записи указано, на какой политике работает сессия. Клиенты, которые применяют запуск с отказом при сбое, вместо этого завершают работу при запуске. Если запуск прерывается с сообщением о том, что вашей организации требуются её настройки before a session can start, см. Claude Code не смог загрузить настройки вашей организации.

  • Диалог подтверждения безопасности оценивает очищенные данные, поэтому удалённая недопустимая запись никогда не предлагается для подтверждения и никогда не выполняется.

Чтобы отладить проблемы с доставкой, выполните claude --debug-file <path> и найдите в логе Remote settings. Проверьте изменение данных с помощью claude doctor на тестовой машине, прежде чем развёртывать его в организации.

Принудительный запуск с отказом при сбое

По умолчанию, если получение удалённых настроек при запуске завершается неудачно, CLI продолжает работу с настройками, кэшированными при последнем успешном получении. Значения, которые Claude Code удерживает, остаются удержанными, пока получение не завершится успешно. На машине, которая ни разу их не получала, CLI продолжает работу без настроек, управляемых сервером, и по-прежнему применяет все настройки, управляемые на уровне конечного устройства, на устройстве. Вместо этого Anthropic может требовать наличия настроек.

Чтобы клиенты не запускались с кэшированными или отсутствующими настройками, управляемыми сервером, задайте forceRemoteSettingsRefresh: true в управляемых настройках.

Клиенты, вошедшие через шлюз приложений Claude, ждут получения при запуске независимо от того, задана ли эта настройка, и обрабатывают неудачное получение следующим образом:

  • Если шлюз отвечает на интерактивный запуск с участием пользователя кодом 401, а эта настройка отключена, значит, шлюз завершил этот вход. Claude Code выводит Cloud gateway session expired — run /login to reconnect. и открывает сессию без входа в шлюз, пока пользователь не выполнит /login.
  • Если получение завершается неудачно любым другим образом или при запуске любого другого типа, кроме подкоманды claude auth, клиент завершает работу с ошибкой.

Когда эта настройка активна в сессии, которая получает настройки, управляемые сервером, CLI блокируется при запуске, пока удалённые настройки не будут заново получены. Если получение завершается неудачно, CLI завершает работу, а не продолжает без политики. Эта настройка самовоспроизводится: после доставки с сервера она также кэшируется локально, так что последующие запуски применяют то же поведение ещё до первого успешного получения в новой сессии. Сессия, которая не получает настройки, управляемые сервером, запускается без ожидания.

Чтобы включить эту возможность, добавьте ключ в конфигурацию управляемых настроек:

{
  "forceRemoteSettingsRefresh": true
}

Вы также можете задать этот ключ в управляемом на уровне конечного устройства профиле MDM или системном файле managed-settings.json, чтобы применить поведение с отказом при сбое при первом запуске, до поступления каких-либо данных с сервера. Этот флаг является исключением из описанного выше правила приоритета: Claude Code учитывает его, когда его задаёт любой управляемый источник, контролируемый администратором, даже если также присутствуют кэшированные данные, управляемые сервером, поэтому значение, доставленное через MDM, не игнорируется при наличии настроек, управляемых сервером.

Когда policyHelper предоставляет управляемые настройки, его вывод заменяет все остальные управляемые источники для ключей, которые Claude Code читает после запуска. Об источниках, из которых Claude Code читает этот ключ, см. его запись в справочнике настроек. В записи policyHelper указано, из каких источников Claude Code читает хелпер и когда он запускается.

При получении настроек также отправляется заголовок Cache-Control: no-cache, чтобы промежуточные HTTP-прокси не отдавали устаревший ответ.

Прежде чем включать эту настройку, убедитесь, что сетевые политики разрешают подключение к api.anthropic.com. Если этот эндпоинт недоступен, CLI завершает работу при запуске, и пользователи не могут запустить Claude Code.

Подкоманды claude auth, такие как claude auth login, освобождены от этой проверки и от завершения при запуске через шлюз, чтобы пользователи могли повторно пройти аутентификацию, когда причиной неудачного получения настроек являются истёкшие учётные данные.

Диалоги подтверждения безопасности

Некоторые настройки, которые могут представлять угрозу безопасности, требуют явного подтверждения пользователя, прежде чем Claude Code применит их в интерактивной сессии:

  • Настройки shell-команд: настройки, выполняющие shell-команды, например apiKeyHelper, statusLine и otelHeadersHelper
  • Настройки исполняемых файлов песочницы: sandbox.bwrapPath, sandbox.socatPath и sandbox.ripgrep. Каждая из этих настроек указывает на исполняемый файл, и Claude Code запускает этот исполняемый файл
  • Настройки сети и изоляции песочницы: настройки песочницы, которые позволяют прокси песочницы читать, перенаправлять или аутентифицировать трафик или ослабляют изоляцию песочницы: sandbox.network.tlsTerminate, sandbox.network.httpProxyPort, sandbox.network.socksProxyPort, sandbox.credentials, sandbox.allowAppleEvents, sandbox.allowNestedUserNamespaces, sandbox.enableWeakerNestedSandbox, sandbox.enableWeakerNetworkIsolation, sandbox.filesystem.disabled, sandbox.network.allowAllUnixSockets, sandbox.network.allowUnixSockets и sandbox.network.allowMachLookup. Блок sandbox.credentials, содержащий только правила deny, не требует подтверждения, поскольку он ограничивает песочницу, не предоставляя прокси учётных данных. До v2.1.251 Claude Code применял эти настройки без подтверждения
  • Пользовательские переменные окружения: доставленные переменные env, требующие подтверждения пользователя, например переменные прокси и базового URL; см. Переменные окружения и диалог подтверждения
  • Конфигурации хуков: любое определение хука

Когда эти настройки присутствуют, пользователи видят диалог безопасности с объяснением того, что настраивается. Чтобы продолжить, пользователи должны дать подтверждение. Если пользователь отклоняет настройки, Claude Code завершает работу.

Управляемый CLAUDE.md, доставленный через ключ claudeMd, не требует подтверждения, поскольку это текст инструкций для Claude, а не команда, которую запускает Claude Code. Claude Code по-прежнему проверяет разрешения для инструментов, которые Claude использует, следуя этим инструкциям. До v2.1.260 значение claudeMd также требовало подтверждения.

Запоминание подтверждения

Claude Code записывает ваше подтверждение в каталог конфигурации — ~/.claude, если вы не задали CLAUDE_CONFIG_DIR. Что именно записывается, зависит от учётных данных, которые использует получение настроек:

  • Вход claude.ai, сохранённый с помощью /login или claude auth login, или вход в Console без ключа: одно подтверждение на организацию, которое принадлежит аккаунту, давшему подтверждение последним.

  • Вход через шлюз приложений Claude: одно подтверждение на шлюз.

    Если вы выходите и снова входите в тот же шлюз, Claude Code не показывает диалог повторно, пока настройки, требующие подтверждения, не изменились. Claude Code показывает его снова, когда эти настройки меняются, когда вы входите в другой шлюз и когда вы принимаете новый сертификат для того же шлюза.

    Claude Code не сохраняет подтверждение для loopback-шлюза разработки, доступного по обычному HTTP, поэтому диалог появляется снова после каждого входа.

  • Любые другие учётные данные, например API-ключ или CLAUDE_CODE_OAUTH_TOKEN: одно подтверждение для доставленных настроек, хранящееся вместе с кэшированной копией настроек в этом каталоге конфигурации. Claude Code показывает диалог снова, когда меняются настройки, требующие подтверждения, и после того, как вы выполните /logout или claude auth logout — любая из этих команд удаляет кэшированную копию.

Подтверждение для sandbox.credentials или sandbox.network.tlsTerminate также распространяется на записи sandbox.network.allowedDomains в тех же доставленных настройках, поскольку обе настройки действуют на этот список разрешённых доменов. Диалог появляется снова, когда администратор добавляет или удаляет одну из этих записей, даже несмотря на то что sandbox.network.allowedDomains сам по себе не требует подтверждения.

При сохранённом входе claude.ai:

  • Если вы выходите и снова входите или переключаетесь на другую организацию, а затем возвращаетесь, Claude Code не показывает диалог повторно, пока эти настройки не изменились, если только в промежутке другой аккаунт не подтвердил их для этой организации в том же каталоге конфигурации.
  • Если вы входите в ту же организацию с другим аккаунтом, Claude Code показывает диалог снова, даже если настройки не изменились. Подтверждение этого аккаунта заменяет предыдущее, поэтому при обратном переключении Claude Code снова показывает диалог.

Claude Code не всегда может показать диалог. В каждом из случаев ниже указано, какие настройки применяются, когда это невозможно, и когда вы увидите диалог в следующий раз:

  • Интерактивная сессия, которая не может показать диалог: Claude Code не применяет доставленные настройки и сохраняет последние подтверждённые настройки. Диалог появляется в следующей сессии, которая может его показать.

  • claude install или claude update: Claude Code не показывает диалог во время выполнения этих команд. Команда выполняется с последними подтверждёнными настройками, а диалог появляется в вашей следующей интерактивной сессии. Если Claude Code ждёт получения настроек при запуске, например когда задан forceRemoteSettingsRefresh или при развёртывании шлюза приложений Claude, он вместо этого показывает диалог во время выполнения команды, и установка, запущенная из канала, завершается неудачно; см. Raw mode is not supported во время установки. До v2.1.246 Claude Code также пытался показать диалог во время этих команд.

  • Команда claude plugin, которая выводит данные в терминал, но не может читать с клавиатуры: когда Claude Code не ждёт получения настроек при запуске, команда не применяет доставленные настройки. Без кэшированных настроек команда, изменяющая ваши плагины или маркетплейсы, останавливается с ошибкой. С кэшированными настройками она выполняется с последними подтверждёнными настройками. Диалог появляется, когда вы в следующий раз запустите claude в терминале.

    Команда не может читать с клавиатуры, когда вы передаёте ей ввод через канал или перенаправляете его и, в macOS и Linux, она также не может открыть /dev/tty. Если вы также передаёте через канал или перенаправляете её вывод, запуск становится неинтерактивным, и доставленные настройки применяются только для этого запуска.

  • Ошибка закрывает диалог до того, как вы ответите: Claude Code не применяет доставленные настройки и сохраняет последние подтверждённые настройки. Он снова показывает диалог в следующей сессии, которая может его показать.

  • Неинтерактивный запуск, например claude -p, сессия Agent SDK или сессия на панели чата расширения VS Code либо на вкладке Code настольного приложения: Claude Code не может показать диалог. Если доставленные настройки требуют подтверждения, они применяются только для этого запуска.

    Claude Code не отмечает настройки как подтверждённые и не записывает их в локальный кэш, а следующая интерактивная сессия показывает диалог. Пока пользователь не даст подтверждение в интерактивной сессии, каждый неинтерактивный запуск заново получает настройки при запуске.

Переменные окружения и диалог подтверждения

Claude Code применяет некоторые доставленные переменные env, не показывая пользователю диалог подтверждения, в том числе:

  • Переключатели функций и команд
  • Настройки выбора и поведения модели, например ANTHROPIC_MODEL, DISABLE_PROMPT_CACHING и CLAUDE_CODE_EFFORT_LEVEL
  • Настройки контекстного окна и сжатия контекста, например DISABLE_AUTO_COMPACT, но не CLAUDE_CODE_DISABLE_1M_CONTEXT
  • Параметры пользовательского интерфейса терминала и специальных возможностей
  • Числовые ограничения, бюджеты и таймауты

Другие доставленные переменные могут требовать подтверждения пользователя, прежде чем вступят в силу. Например, в интерактивных сессиях следующие переменные всегда требуют его при любом непустом значении:

  • Переменная прокси или базового URL
  • OTEL_EXPORTER_OTLP_ENDPOINT
  • CLAUDE_CODE_DISABLE_1M_CONTEXT

Когда доставленной переменной требуется подтверждение, диалог называет её, чтобы пользователь точно видел, что политика пытается задать.

Для четырёх переключателей конфиденциальности Claude Code решает, нужно ли подтверждение, по доставленному значению, а не по имени переменной: CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC, DISABLE_ERROR_REPORTING, DISABLE_TELEMETRY и DO_NOT_TRACK. Истинное значение, например 1 или true, лишь отключает отслеживание, отправку отчётов или другой необязательный трафик, поэтому Claude Code применяет его, не спрашивая пользователя. Для любого другого непустого значения Claude Code показывает диалог.

Для API_FORCE_IDLE_TIMEOUT Claude Code также решает, нужно ли подтверждение, по доставленному значению: истинное значение лишь включает таймаут простоя тела ответа, поэтому Claude Code применяет его, не спрашивая пользователя. Для любого другого непустого значения Claude Code показывает диалог. До v2.1.248 любое непустое значение вызывало диалог.

Нужно ли подтверждение для ANTHROPIC_CUSTOM_HEADERS, также зависит от доставленного значения. Заголовки, которые лишь помечают запросы, например Accept-Language, применяются без диалога. Строка, которая указывает учётные данные, селектор организации или тенанта, переопределение маршрутизации или хоста либо заголовок, влияющий на поведение API, например Authorization, X-Api-Key, Host, anthropic-beta или заголовки X-Amzn-Bedrock-*, требует подтверждения. Строка также требует подтверждения, если её имя не является допустимым токеном HTTP-заголовка или её значение содержит символ, который не может передаваться в HTTP-заголовке. Проверка сопоставляет слова внутри имени заголовка, поэтому X-Client-Version, содержащий client и version, тоже требует подтверждения. До v2.1.251 любое значение ANTHROPIC_CUSTOM_HEADERS применялось без него.

Ложное значение, например 0 или false, для ENABLE_BETA_TRACING_DETAILED или OTEL_LOG_RAW_API_BODIES применяется без диалога, поскольку оно лишь отключает подробную трассировку или захват необработанных тел запросов API. Любое другое непустое значение для любой из этих переменных требует подтверждения.

Доступность платформы

Параметры, управляемые сервером, требуют прямого подключения к api.anthropic.com. Доставка также требует, чтобы сеанс аутентифицировался с помощью одного из этих учетных данных:

  • Вход в организацию Team или Enterprise через OAuth
  • Токен OAuth, предоставленный через CLAUDE_CODE_OAUTH_TOKEN
  • Напрямую настроенный ключ API
  • Профиль user_oauth Anthropic, если только профиль не устанавливает base_url, отличный от Anthropic API. Требуется Claude Code v2.1.257 или позже.

Ни ключи, возвращаемые скриптом apiKeyHelper, ни учетные данные Workload Identity Federation не запускают выборку параметров.

Сессия получает управляемые настройки той организации, которой принадлежат учётные данные, используемые ею для аутентификации. API-ключ из Claude Console принадлежит организации Console, в которой он был создан, и это отдельная организация, отличная от вашей организации Team или Enterprise на claude.ai. Поэтому настройки, которые вы задаёте в Admin Settings на claude.ai, не доходят до сессии, которая аутентифицируется с помощью этого ключа, например до задания CI, использующего API-ключ Console вашей компании. Чтобы применить их к такому заданию, используйте один из следующих вариантов. Вариант с токеном OAuth не подходит для задания, запускаемого с --bare, поскольку режим bare не читает CLAUDE_CODE_OAUTH_TOKEN.

  • Токен OAuth: сгенерируйте токен с помощью claude setup-token, авторизуйте его для вашей организации Team или Enterprise и задайте его как CLAUDE_CODE_OAUTH_TOKEN в окружении задания. Удалите из этого окружения все учётные данные, которые имеют приоритет над токеном, например ANTHROPIC_API_KEY.
  • Настройки, управляемые конечной точкой: разверните файл управляемых настроек на машине, на которой выполняется задание.

В сессии Cowork в приложении Claude Desktop Claude Code не получает настройки, управляемые сервером, из консоли администратора claude.ai, даже если пользователь входит с учётной записью Team или Enterprise. Раздел Где и когда применяется политика описывает, какая политика достигает сессий Cowork на машине пользователя и удалённых сессий Cowork. claude.ai по-прежнему сам применяет ваши списки strictKnownMarketplaces и blockedMarketplaces, когда пользователь Cowork добавляет маркетплейс из git-репозитория на claude.ai или из Customize в Cowork. Раздел Как работают ограничения описывает эту проверку.

Если вы экспортируете переменную поставщика CLAUDE_CODE_USE_* или нестандартный ANTHROPIC_BASE_URL в вашей оболочке, Claude Code пропускает выборку параметров для ваших сеансов. claude doctor и /status сообщают о пропущенной выборке и ее причине.

Вы не можете очистить экспорт с помощью управляемого сервером блока env, потому что блок поступает через выборку, которую экспорт предотвращает. Блок env параметров, управляемых конечной точкой, также не восстанавливает выборку: Claude Code проверяет приемлемость перед применением управляемых блоков env, поэтому значение, управляемое конечной точкой, изменяет выбор поставщика сеанса, но выборка остается пропущенной.

Чтобы восстановить доставку, управляемую сервером, удалите экспорт из вашей оболочки или установите переменную на "" в блоке env пользовательских параметров, который применяется перед проверкой приемлемости. Чтобы обеспечить политику без полагания на пользователей для изменения их оболочек, доставляйте параметры через управляемый конечной точкой канал вместо этого.

Для развертываний Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry и Claude Platform on AWS, самостоятельно размещаемый Claude apps gateway обеспечивает эквивалентную доставку удаленных управляемых параметров: клиенты, вошедшие в шлюз, получают управляемые параметры из шлюза вместо api.anthropic.com. Семантика отказов отличается при запуске: клиент шлюза, который не может достичь шлюз, завершает работу с ошибкой вместо возврата к кэшированным параметрам, в то время как почасовое фоновое обновление открыто при отказе на обоих каналах.

Аудит логирования

События журнала аудита для изменений параметров доступны через API соответствия или экспорт журнала аудита. Свяжитесь с вашей командой учета Anthropic для получения доступа.

События аудита включают тип выполненного действия, учетную запись и устройство, которые выполнили действие, и ссылки на предыдущие и новые значения.

Соображения безопасности

Параметры, управляемые сервером, обеспечивают централизованное применение политики, но они работают как элемент управления на стороне клиента, а не как граница безопасности. На неуправляемых устройствах пользователю не требуется доступ администратора или sudo для их обхода.

Сценарий Поведение
Пользователь редактирует кэшированный файл параметров Измененный файл применяется при запуске, за исключением значений, которые Claude Code удерживает до подтверждения сервером полезной нагрузки. При следующей выборке с сервера восстанавливаются правильные параметры, за исключением ключей, которые применяются только при следующем запуске, таких как model или переменная, добавленная в блок env, которые остаются в силе до перезагрузки
Пользователь удаляет кэшированный файл параметров Происходит поведение первого запуска
Пользователь запускает измененный двоичный файл Claude Code Пользователь, который может запустить измененный клиент, может обойти любой элемент управления на стороне клиента
Пользователь запускает более старую версию Claude Code Версии, которые предшествуют параметрам, управляемым сервером, не выбирают и не применяют их
API недоступен Кэшированные настройки применяются, если доступны. Без кэша Claude Code не применяет настройки, управляемые сервером, до следующей успешной выборки. В разделе Поведение выборки и кэширования перечислены исключения, в том числе случай, когда Anthropic требует эти настройки. С forceRemoteSettingsRefresh: true CLI завершает работу вместо продолжения, за исключением подкоманд claude auth. Клиенты, вошедшие через шлюз приложений Claude, завершают работу при запуске и без этой настройки, с тем же исключением для claude auth
Пользователь аутентифицируется с другой организацией Настройки не доставляются для учётных записей вне управляемой организации, включая сессию, которая аутентифицируется с помощью API-ключа Console
Пользователь настраивает поставщика моделей третьей стороны Параметры, управляемые сервером, обходятся. Это включает установку CLAUDE_CODE_USE_BEDROCK, CLAUDE_CODE_USE_MANTLE, CLAUDE_CODE_USE_VERTEX, CLAUDE_CODE_USE_FOUNDRY, CLAUDE_CODE_USE_ANTHROPIC_AWS или нестандартного ANTHROPIC_BASE_URL
Сетевой трафик перехватывается или перенаправляется Отключенная проверка TLS или перехваченный трафик могут изменить параметры, которые получает клиент

Для логирования изменений локальных файлов параметров, включая managed-settings.json, используйте ConfigChange hooks. Claude Code не запускает их при поступлении параметров, управляемых сервером, или при их обновлении, или при изменении профиля MDM или политики реестра, и hook не может заблокировать изменение policy_settings.

Для ограничения организаций, к которым ваши пользователи могут получить доступ с учетными данными, которые предоставляет клиент, см. Enforce network-level access control with Tenant Restrictions в Центре справки Claude. Для более сильных гарантий применения используйте параметры, управляемые конечной точкой на устройствах, зарегистрированных в решении MDM.

См. также

Связанные страницы для управления конфигурацией Claude Code: