SpyBara
Go Premium

managed-settings.md 2026-09-11 23:01 UTC to 2026-09-12 03:02 UTC

This page contains 445 additions and 0 deletions.

2026
Sat 12 03:02 Mon 14 22:58 Fri 18 23:58 Tue 22 23:59 Thu 24 22:57 Fri 25 23:58

Развертывание управляемых параметров

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

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

Эта страница предназначена для администратора, который развертывает управляемые параметры или отлаживает, почему один из них не применяется. Чтобы решить, что применять, начните с таблицы Решите, что применять. Для пути консоли claude.ai см. Управляемые параметры сервера. Для того, где находятся собственные значения разработчика, см. Параметры.

Развертывание файла управляемых параметров

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

1

Напишите managed-settings.json

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

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

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

2

Поместите файл на каждую машину

Сохраните файл как managed-settings.json в системном каталоге для операционной системы, используя любые инструменты, которые уже размещают файлы на вашем парке:

  • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
  • Linux и WSL: /etc/claude-code/managed-settings.json
  • Windows: C:\Program Files\ClaudeCode\managed-settings.json
3

Подтвердите применение политики

На одной машине запустите /status внутри Claude Code. Строка Setting sources показывает Enterprise managed settings (file). Разверните на остальной парк после этого; Проверьте, что политика действует охватывает, на что смотреть, когда строка отсутствует.

Выберите механизм доставки

Файл из шагов выше — это один из четырех способов доставить управляемые параметры на машину. Каждый механизм содержит те же ключи политики, что и файл settings.json, поэтому справочник параметров применяется ко всем из них. Несколько ключей привязаны к конкретным источникам, и строка Scope каждой записи указывает, какие:

Управляемый файл параметров, профиль MDM или консоль claude.ai применяют одну политику для всех, кого они охватывают. Чтобы дать одной группе разработчиков другую политику, разверните другой файл или профиль для этой группы; консоль claude.ai пока не может нацеливаться на группу, в то время как самостоятельно размещаемый шлюз Claude apps gateway доставляет управляемые параметры для каждой группы IdP.

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

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

Выберите механизм в зависимости от того, как вы уже управляете устройствами, используя таблицу ниже.

Механизм Как вы его доставляете Когда Claude Code его читает Используйте его, когда
Server-managed settings В консоли администратора claude.ai или на самостоятельно размещаемом Claude apps gateway Получается при запуске и опрашивается каждый час; см. изменения, требующие одобрения Вы хотите одно место для изменения политики для организации claude.ai без касания каждой машины
MDM или политика уровня ОС Как профиль конфигурации macOS или значение реестра Windows HKLM, через Jamf, Intune, Group Policy или аналогичный инструмент; см. где каждый механизм хранит политику Читается при запуске и проверяется на наличие изменений каждые 30 минут Вы уже управляете устройствами с помощью MDM или Group Policy
На основе файла Как managed-settings.json в системном каталоге на каждой машине; см. где каждый механизм хранит политику Читается при запуске и перезагружается при изменении файла Машины без MDM, хосты Linux или образы, которые вы создаёте сами
HKCU реестр, Windows и WSL Как значение реестра Windows HKCU; см. где каждый механизм хранит политику Читается при запуске и проверяется на наличие изменений каждые 30 минут; Claude Code использует его только когда ни один другой управляемый источник не доставляет ключ политики и параметры, предоставленные хостом не предоставляют ограничивающий ключ Вы не можете записать ключ уровня машины HKLM

Начальные шаблоны для Jamf, Iru, Intune и Group Policy находятся в репозитории примеров MDM.

Для управляемых MCP серверов, которые вы развёртываете вместе с любым из этих через managed-mcp.json или предоставляете через ключ managedMcpServers, см. Управляемая конфигурация MCP.

Где и когда применяется политика

Развёрнутая политика достигает сеансов разработчика следующим образом:

  • Поверхности: на машине разработчика, в терминале, расширениях VS Code и JetBrains, вкладке Code настольного приложения и сеансах Agent SDK читают все эти источники. Сеансы Agent SDK загружают управляемые параметры даже когда settingSources исключает пользовательские, проектные и локальные файлы.

  • Облачные сеансы: сеанс в среде, размещённой Anthropic, не читает профиль MDM или файл устройства, поэтому политика для него должна поступать из server-managed settings. Сеанс в самостоятельно размещаемой среде также читает файл управляемых параметров в образе своего runner, по умолчанию только когда server-managed settings не доставляют ключ политики, кроме ключей, которые Claude Code читает из каждого источника администратора. Как Claude Code объединяет управляемые источники охватывает согласие, которое применяется к обоим.

  • Сеансы Cowork: Cowork в приложении Claude Desktop запускает свои сеансы на Claude Code. В сеансе Cowork Claude Code никогда не получает server-managed settings из консоли администратора claude.ai, даже когда пользователь входит с учётной записью Team или Enterprise, поэтому то, какая политика применяется, зависит от того, где запускается сеанс:

    • На машине пользователя: по умолчанию Claude Code в сеансе Cowork читает политику MDM или уровня ОС и файл управляемых параметров на этом устройстве, поэтому разверните политику там.
    • В полной песочнице VM: когда ваша управляемая конфигурация Claude Desktop устанавливает requireCoworkFullVmSandbox, Claude Code работает внутри виртуальной машины, где политика MDM устройства и файл управляемых параметров отсутствуют.
    • Удалённые сеансы Cowork: они работают на управляемых Anthropic виртуальных машинах, где Claude Code не имеет политики устройства для чтения.

    Таблица покрытия поверхностей сравнивает Cowork с другими поверхностями.

  • Запущенные сеансы: большинство изменений достигают запущенного сеанса по расписанию в таблице механизма доставки, без перезагрузки.

  • Изменения, требующие одобрения: кроме обновлений, которые ждут следующего запуска, изменение server-managed параметра, которое требует одобрения, такого как hook или переменная env, ждёт, пока разработчик примет диалог в интерактивном сеансе, и применяется для текущего запуска в сеансе, который размещает расширение IDE или Agent SDK. Другие изменения server-managed применяются при следующем опросе.

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

Где каждый механизм хранит политику

Ключи одинаковы везде, но каждый механизм хранит их в разном месте и форме:

  • Server-managed: серверы Anthropic или ваш шлюз содержат политику. Claude Code хранит локальный кэш, который применяет при запуске и заменяет при каждой успешной выборке.
  • Профиль конфигурации macOS: домен управляемых предпочтений com.anthropic.claudecode. Используйте те же ключи верхнего уровня, что и managed-settings.json, с вложенными параметрами как словари и списки как массивы plist.
  • Реестр Windows HKLM: JSON как значение REG_SZ или REG_EXPAND_SZ с именем Settings под HKLM\SOFTWARE\Policies\ClaudeCode.
  • На основе файла: managed-settings.json, необязательный каталог managed-settings.d/ и managed-mcp.json в системном каталоге: /Library/Application Support/ClaudeCode/ на macOS, /etc/claude-code/ на Linux и WSL, и C:\Program Files\ClaudeCode\ на Windows. Claude Code не читает устаревший путь Windows C:\ProgramData\ClaudeCode\managed-settings.json.
  • Реестр Windows HKCU: то же значение Settings под HKCU\SOFTWARE\Policies\ClaudeCode.

Разделите политику на основе файла между командами

Если несколько команд владеют частями одной политики, поместите каждую часть в свой собственный файл в managed-settings.d/, рядом с managed-settings.json в том же системном каталоге, вместо редактирования одного общего файла.

Claude Code объединяет managed-settings.json первым, затем каждый файл *.json в каталоге в алфавитном порядке. Назовите файлы с числовыми префиксами для управления порядком, такими как 10-telemetry.json и 20-security.json. Claude Code игнорирует скрытые файлы и файлы, которые не заканчиваются на .json.

Когда два файла устанавливают один и тот же ключ, Claude Code объединяет их по этим правилам:

  • Одиночные значения, такие как "model": "opus" или "cleanupPeriodDays": 7: значение более позднего файла заменяет более раннее
  • Списки, такие как permissions.deny или sandbox.network.allowedDomains: два списка объединяются, с удалением дубликатов
  • Вложенные блоки, такие как env или sandbox: два блока объединяются ключ за ключом, и каждый ключ внутри следует этим же правилам
  • fallbackModel: более поздняя цепь полностью заменяет более раннюю
  • extraKnownMarketplaces и managedMcpServers: более позднее значение с тем же именем полностью заменяет более раннее
  • modelPicker: более поздний набор полностью заменяет более ранний

Как Claude Code объединяет управляемые источники

Когда ваша организация доставляет более одного управляемого источника на одну машину, ключ managedSourcesBehavior решает, что Claude Code делает с остальными:

  • "first-wins", по умолчанию: Claude Code использует источник с наивысшим рейтингом, который доставляет по крайней мере один ключ политики, и игнорирует остальные, а не объединяет их, кроме нескольких ключей в Ключи, читаемые из каждого источника администратора. Claude Code не показывает предупреждение для источников, которые он пропускает; /status называет источник, который он использовал, и те, которые он пропустил.
  • "merge": Claude Code применяет каждый источник администратора, который доставляет ключ политики, и объединяет их по типу ключа: на большинстве ключей значение источника с более высоким рейтингом применяется, списки объединяются, и блокировки принимают самое строгое значение. Составьте каждый управляемый источник говорит, где установить ключ и как каждый тип ключа объединяется. Требует Claude Code v2.1.242 или позже.

Оба параметра ранжируют источники одинаково. Два термина повторяются в этом разделе:

  • Ключ политики: любой ключ параметров, кроме двух ключей управления, wslInheritsWindowsSettings и managedSourcesBehavior. Файл управляемых параметров или политика MDM, которые содержат только эти, не учитываются, и Claude Code переходит к следующему источнику.
  • Источник администратора: один из первых трех источников ниже. Реестр HKCU доступен для записи пользователем и не является одним из них.

Claude Code проверяет источники в этом порядке, от наивысшего приоритета к наименьшему:

  1. Удаленные параметры, доставленные из claude.ai как управляемые параметры сервера или шлюзом Claude apps. Claude Code получает этот источник только когда сеанс аутентифицируется в API Anthropic напрямую с подходящим входом или ключом, или входит в шлюз с /login. На других поставщиках или когда ANTHROPIC_BASE_URL указывает на что-то другое, чем API Anthropic, он начинает со следующего источника
  2. Политики MDM или уровня ОС: plist macOS или ключ реестра HKLM
  3. Файлы управляемых параметров, managed-settings.d/*.json и managed-settings.json объединены вместе
  4. Реестр HKCU, на Windows и на WSL, как только реестр HKLM или файл управляемых параметров Windows включает wslInheritsWindowsSettings и значение HKCU также его устанавливает. Claude Code читает его только когда никакой источник выше него не доставляет ключ политики и никакие параметры родителя, предоставленные хостом, не предоставляют ограничивающий ключ

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

Диаграмма, показывающая четыре источника управляемых параметров, ранжированные от удаленных параметров в верхней части через MDM, файлы управляемых параметров и реестр HKCU внизу. По умолчанию первый источник с ключом политики предоставляет политику и остальные пропускаются; с managedSourcesBehavior установленным на merge, каждый источник администратора с ключом политики вносит вклад, объединенный по типу ключа, и реестр HKCU остается в стороне. Боковая панель показывает, что кросс-источниковые ключи, такие как блокировки песочницы, forceRemoteSettingsRefresh и слияние env для каждой переменной, читаются из каждого источника администратора, который исключает реестр HKCU. Диаграмма, показывающая четыре источника управляемых параметров, ранжированные от удаленных параметров в верхней части через MDM, файлы управляемых параметров и реестр HKCU внизу. По умолчанию первый источник с ключом политики предоставляет политику и остальные пропускаются; с managedSourcesBehavior установленным на merge, каждый источник администратора с ключом политики вносит вклад, объединенный по типу ключа, и реестр HKCU остается в стороне. Боковая панель показывает, что кросс-источниковые ключи, такие как блокировки песочницы, forceRemoteSettingsRefresh и слияние env для каждой переменной, читаются из каждого источника администратора, который исключает реестр HKCU.

Ключи, читаемые из каждого источника администратора

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

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

Кросс-источниковые ключи включают:

  • sandbox.network.allowManagedDomainsOnly и sandbox.filesystem.allowManagedReadPathsOnly: true в любом источнике администратора включает блокировку. Пока блокировка включена, Claude Code объединяет список разрешений, который она блокирует, sandbox.network.allowedDomains вместе с правилами разрешения WebFetch(domain:...), или sandbox.filesystem.allowRead, по всем источникам администратора. Без блокировки Claude Code обрабатывает список разрешений как любой другой ключ, поэтому при "first-wins" список разрешений невыбранного источника администратора игнорируется
  • allowAllClaudeAiMcps
  • Пути двоичных файлов песочницы sandbox.bwrapPath и sandbox.socatPath
  • Двоичный файл ripgrep песочницы, sandbox.ripgrep
  • sandbox.filesystem.disabled и sandbox.network.strictAllowlist
  • useAutoModeDuringPlan и syncClaudeAiSkills, где false из любого источника администратора отключает поведение. false в параметрах пользователя или локальных параметрах разработчика также отключает его; каждый ключ может только отрицать
  • enableArtifact, где false из любого источника администратора отключает инструмент Artifact. false в параметрах пользователя, проекта или локальных параметрах разработчика также отключает его, и никакой источник не включает его обратно; см. какие значения более низкого уровня все еще учитываются. Требует Claude Code v2.1.242 или позже
  • maxEffortLevel, где применяется самый низкий предел в любом источнике администратора. Если разработчик устанавливает более низкий предел в своих собственных параметрах или с --settings, Claude Code применяет этот; никакой источник не может повысить предел. Требует Claude Code v2.1.267 или позже
  • Отказ от трейлера коммита в attribution или в устаревшем includeCoAuthoredBy из любого уровня
  • forceRemoteSettingsRefresh
  • env, объединенный по переменной по источникам администратора: каждая переменная поступает из источника с наивысшим приоритетом, который ее определяет, поэтому более низкие источники заполняют переменные, которые более высокие оставляют неустановленными. Несколько переменных следуют своим собственным правилам; Исключения для каждого ключа по управляемым источникам называет каждое. Требует Claude Code v2.1.223 или позже. До v2.1.223 Claude Code применял весь блок env выбранного источника только

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

Чтобы Claude Code применял каждый источник администратора, который доставляет ваша организация, установите managedSourcesBehavior на "merge" в источнике с наивысшим рейтингом, который вы развертываете. Claude Code читает ключ только из источника с наивысшим рейтингом, который несет либо ключ, либо ключ политики, поэтому более низкий источник не может выбрать себя для объединения с источником выше него, и машина, которая никогда не получает управляемые параметры сервера, нуждается в ключе в своем профиле MDM тоже. Доступный для записи пользователем реестр HKCU никогда не объединяется с другим источником. Требует Claude Code v2.1.242 или позже.

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

Эта таблица показывает, как Claude Code объединяет каждый тип ключа при "merge". Запись managedSourcesBehavior называет каждый ключ в списке разрешений ограничений, значения-взятые-целиком и строках только-для-наивысшего-источника.

Тип ключа Как Claude Code его объединяет Примеры
Списки Объединяет записи из каждого источника permissions.allow, hooks, sandbox.network.allowedDomains, deniedMcpServers
Блокировки Применяет самое строгое значение, которое устанавливает любой источник; более мягкое значение применяется только из источника с наивысшим рейтингом allowManagedHooksOnly, permissions.disableBypassPermissionsMode, crossSessionInbound
Списки разрешений ограничений Берет список целиком из источника с наивысшим рейтингом, который его устанавливает, без добавления записей из более низких источников availableModels, allowedMcpServers, strictKnownMarketplaces, allowedChannelPlugins и цепь fallbackModel
Значения, взятые целиком Берет значение целиком из источника с наивысшим рейтингом, который его устанавливает, без объединения записей или полей из более низких источников sandbox.credentials.awsPairs, sandbox.ripgrep
Предоставленные MCP серверы Объединяет имена серверов из каждого источника; когда два источника устанавливают одно имя, применяет всю запись источника с более высоким рейтингом managedMcpServers
Ключи, читаемые только из источника с наивысшим рейтингом Игнорирует ключ в каждом более низком источнике, даже когда источник с наивысшим рейтингом оставляет его неустановленным Помощники учетных данных, такие как apiKeyHelper, пины входа, такие как forceLoginOrgUUID, modelPicker, permissions.defaultMode
env Объединяет по переменной по источникам администратора при любом параметре, как Ключи, читаемые из каждого источника администратора описывает
Каждый другой ключ Берет значение из источника с наивысшим рейтингом, который его устанавливает model, cleanupPeriodDays

Чтобы подтвердить, какие источники объединены на машине, прочитайте строку Setting sources в /status; этот раздел говорит, что означает каждый ярлык.

Вычислите политику с помощью программы-помощника

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

Для того, какие запуски помощника не удаются, и что Claude Code делает, когда один не удается, см. Сбои помощника.

Позвольте хосту встраивания добавить политику

Когда другое приложение запускает Claude Code, такое как Claude Desktop, расширение IDE или приложение Agent SDK, этот хост может передать свои собственные управляемые параметры через опцию SDK managedSettings. Claude Code называет эти параметры родителя.

По умолчанию Claude Code игнорирует параметры родителя, когда присутствует источник администратора: управляемые параметры сервера, политика MDM или уровня ОС или файл управляемых параметров.

Чтобы Claude Code объединял параметры родителя вместе с источником администратора, установите parentSettingsBehavior на "merge" в управляемом источнике с наивысшим приоритетом; Claude Code читает ключ из этого источника только.

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

policyHelper может отключить объединение родителя независимо от этого ключа; его запись говорит, когда.

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

  • Когда любой источник администратора устанавливает allowManagedPermissionRulesOnly, Claude Code отбрасывает предоставленные родителем правила разрешения и additionalDirectories по мере их чтения, даже когда источник с более высоким приоритетом оставляет ключ неустановленным. Эффект ключа на ваши собственные правила разрешения поступает из управляемых параметров, которые применяет Claude Code, или из параметров родителя, которые вы выбрали для объединения
  • Claude Code применяет значение forceLoginOrgUUID или allowedMcpServers в управляемых параметрах, которые он применяет, и блокирует предоставленное родителем. Значение в более низком источнике администратора, который Claude Code не применяет, ни применяется, ни блокирует родительское. Запись managedSourcesBehavior говорит, какой источник предоставляет каждый ключ при "merge". До v2.1.223 значение в любом источнике администратора блокировало родительское
  • Значение availableModels следует тому же правилу, что и allowedMcpServers

Сохраните доступ к папке Cowork, когда применяются только управляемые правила

Cowork в приложении Claude Desktop запускает свои сеансы на Claude Code и предоставляет каждому сеансу доступ к его рабочим папкам, таким как папка, которую подключает пользователь, через правила разрешения, которые он предоставляет при запуске сеанса. Когда ваша управляемая политика устанавливает allowManagedPermissionRulesOnly, Claude Code сохраняет только правила разрешения в управляемой политике: он отбрасывает правила разрешения, которые хост предоставляет как параметры родителя, как --allowedTools или в файле параметров, поэтому записи в эти папки теряют предварительное одобрение. В сеансе Cowork, который спрашивает перед редактированием, Cowork не может показать подсказку, и Claude сообщает о каждой записи как заблокированной, потому что путь разрешается в защищенное место или путь вне подключенной папки.

Чтобы восстановить записи, добавьте правила разрешения для этих папок в управляемый источник, который Claude Code выбирает на этих машинах: на управляемом MDM парке это политика MDM, а не отдельный файл управляемых параметров. Этот пример использует форму файла, и политика MDM принимает те же ключи. Он сохраняет allowManagedPermissionRulesOnly установленным и позволяет редактировать под папкой CoworkProjects в домашнем каталоге каждого пользователя; замените путь на папки, которые подключают ваши пользователи:

{
  "allowManagedPermissionRulesOnly": true,
  "permissions": {
    "allow": [
      "Edit(~/CoworkProjects/**)"
    ]
  }
}

После развертывания политики Claude может сохранять файлы под этой папкой в новом сеансе Cowork. Правила Read и Edit охватывают синтаксис пути, включая форму // для абсолютных путей.

Что может изменить разработчик

Собственные файлы параметров разработчика, значения --settings и файлы проекта никогда не переопределяют управляемое значение; исключения только позволяют учитывать более строгое значение более низкого уровня. Четыре вещи находятся вне этого правила:

  • Модель для сеанса: управляемая model — это значение по умолчанию, а не блокировка. --model и ANTHROPIC_MODEL все еще выбирают модель для этого сеанса, поэтому разверните availableModels для ограничения выбора.
  • Локальные права администратора: разработчик, который является администратором на машине, может редактировать сам управляемый источник, поэтому инструменты MDM могут повторно развертывать профиль или файл по расписанию и почему существуют реестр HKLM и домен управляемых предпочтений macOS.
  • Кэш управляемых параметров сервера: управляемые параметры сервера поступают с серверов Anthropic, и редактирование локального кэша длится только до следующей успешной выборки.
  • Другие инструменты: управляемые параметры связывают только Claude Code. Разработчик, который вызывает API из другого инструмента, не находится под ними.

Проверьте, что политика действует

Разработчик сообщает, что политика не применяется, или вы хотите подтвердить, что развертывание приземлилось перед отправкой на парк. Две команды на этой машине отвечают на это: /status показывает, какой управляемый источник выбрал Claude Code, и claude doctor перечисляет то, что он отбросил.

Прочитайте источник в /status

На машине разработчика запустите /status внутри Claude Code и прочитайте строку Setting sources. Когда управляемый источник действует, строка перечисляет Enterprise managed settings с источником, который выбрал Claude Code, в скобках:

  • (remote): управляемые параметры сервера из claude.ai или шлюза
  • (plist) или (HKLM): политика MDM или ОС
  • (file), (drop-ins) или (file + drop-ins): managed-settings.json, каталог drop-in или оба
  • (remote + file, merged) или другой список, заканчивающийся на , merged: ваша организация составляет каждый управляемый источник, и Claude Code объединил перечисленные источники в политику. Более низкий источник все еще может предоставлять переменные env без появления в списке. Требует Claude Code v2.1.242 или позже
  • (HKCU): резервный реестр, доступный для записи пользователем
  • (parent process): хост встраивания предоставил ограничивающие параметры
  • (helper): policyHelper, настроенный выбранным источником MDM или файла

Когда Claude Code нашел управляемый источник на машине и не выбрал его, вторая строка, Skipped sources, называет каждый такой источник. Прочитайте его, чтобы различить политику, которая никогда не достигла машину, от той, которая достигла и которую источник с более высоким приоритетом переопределил. Требует Claude Code v2.1.242 или позже.

Когда политика не применяется, строка Setting sources говорит вам, какая из двух проблем у вас есть:

  • Строка отсутствует: Claude Code не нашел управляемый источник, который доставляет ключ политики.

    Если вы развернули файл управляемых параметров, проверьте, что он находится по пути для ОС и что он содержит ключ политики, а не только ключи управления. Файл, который не является действительным JSON, не производит это состояние; Claude Code отказывается запускаться вместо этого.

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

  • Строка называет источник, отличный от того, который вы развернули: источник с более высоким приоритетом присутствует и Claude Code игнорировал ваш, и Skipped sources его перечисляет. Как Claude Code объединяет управляемые источники дает порядок.

Найдите записи, которые Claude Code отбросил

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

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

Когда файл управляемых параметров, файл drop-in, plist MDM или значение реестра HKLM присутствуют, но не могут быть проанализированы как объект JSON, Claude Code отказывается запускаться и печатает ошибку, называющую источник, даже когда другой источник администратора доставляет действительную политику. Каждый источник не удается таким образом, когда:

  • Файл управляемых параметров или файл drop-in: файл не является действительным JSON или его верхний уровень не является объектом
  • Plist MDM: plutil macOS сообщает plist неправильно сформированным или его преобразованное содержимое не является объектом JSON
  • Значение реестра HKLM: значение Settings не является строкой, пусто или не содержит объект JSON

Три состояния источника не вызывают этот отказ:

  • Отсутствующий файл, профиль или значение реестра не является сбоем; Claude Code работает без этого источника.
  • Пустой файл управляемых параметров считается {}.
  • Неправильное значение в доступном для записи пользователем ключе реестра HKCU никогда не блокирует запуск. Claude Code сообщает об этом как уведомление в /status и claude doctor вместо этого.

Если файл управляемых параметров, файл drop-in или каталог managed-settings.d/ не может быть прочитан и никакой источник администратора не предоставляет политику, сеансы, вошедшие с учетными данными claude.ai или Claude Console, выходят при запуске с сообщением о контакте с администратором.

Чтобы найти отброшенную запись, посмотрите в одном из трех мест:

  • Интерактивные сеансы показывают диалог при запуске, перечисляющий неправильные записи.
  • Неинтерактивные запуски с -p печатают сводку в stderr.
  • claude doctor перечисляет каждую неправильную запись с ее источником и полем.

Ключи, которые не удаются закрыто

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

Поле Поведение, когда присутствует, но неправильно
allowedMcpServers Применяется как пустой список разрешений, пока значение не будет исправлено, поэтому никакие MCP серверы, которые добавляют пользователи, не допускаются. Серверы, которые ваша организация доставляет через managedMcpServers, все еще загружаются, и серверы managed-mcp.json загружаются в соответствии с Как сервер оценивается. Отдельная неправильная запись удаляется и применяется действительное подмножество.
allowedHttpHookUrls Claude Code применяет пустой список разрешений, пока вы не исправите значение, поэтому HTTP hook запускается только если другой файл параметров перечисляет его URL. Если только отдельная запись неправильна, Claude Code удаляет эту запись и применяет остальное.
httpHookAllowedEnvVars Claude Code применяет пустой список разрешений, пока вы не исправите значение, поэтому переменная заголовка интерполируется только если другой файл параметров называет ее. Если только отдельная запись неправильна, Claude Code удаляет эту запись и применяет остальное.
allowedChannelPlugins Claude Code применяет пустой список разрешений, пока вы не исправите значение, поэтому никакой плагин канала, переданный в --channels, не допускается. Если только отдельная запись неправильна, она удаляет эту запись и применяет остальное.
allowManagedHooksOnly Обрабатывается как true, пока не будет исправлено: ограничения hook применяются и, если disableCommandPluginSources явно не false, плагины, полученные из команд, отключены.
allowManagedMcpServersOnly Обрабатывается как true.
disableCommandPluginSources Обрабатывается как true, поэтому плагины, полученные из команд, остаются отключены, пока значение не будет исправлено.
availableModels Применяется как пустой список разрешений, пока не будет исправлено, поэтому доступна только модель Default; запись, не являющаяся строкой, удаляется и применяется действительное подмножество.
enforceAvailableModels Обрабатывается как true.
forceLoginOrgUUID Никакой организации не разрешается входить, пока значение не будет исправлено.
crossSessionInbound Обрабатывается как refuse, самое строгое значение, поэтому входящие кросс-сеансовые сообщения отказываются, пока значение не будет исправлено. Разработчик видит предупреждение.
deniedMcpServers Отдельная неправильная запись удаляется и применяется действительное подмножество. Полностью неправильное значение отбрасывается с предупреждением, так как отрицание каждого сервера заблокировало бы серверы, которые политика никогда не называла.
sandbox.credentials Восстанавливаемая неправильная запись деградирует до mode: "deny" с предупреждением; невосстанавливаемая удаляется; действительные записи остаются применяемыми. См. неправильные записи учетных данных

allowedHttpHookUrls и httpHookAllowedEnvVars объединяются в файлах параметров, поэтому записи в ваших пользовательских, проектных или локальных параметрах все еще применяются, пока управляемый список пуст. Резервные значения для этих двух ключей и для allowedChannelPlugins требуют Claude Code v2.1.267 или позже; более ранние версии отбрасывают весь ключ, когда его значение или любая запись неправильна.

requiredMinimumVersion и requiredMaximumVersion не удаются открыто по замыслу: неправильное значение отбрасывается, а не применяется.

Эта толерантность применяется только к управляемым параметрам. Файлы параметров пользователя, проекта и локального остаются строгими: файл, чья JSON или форма верхнего уровня не проходит проверку, отклоняется целиком и сообщается, и отдельная запись, которая не удается, такая как неправильное правило разрешения, пропускается с предупреждением, пока остальная часть файла применяется.

Ключи, которые может установить только управляемый источник

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

Большинство из них — это блокировки: значение, которое блокировка управляет, такое как правила разрешения или sandbox.network.allowedDomains, — это обычный ключ, который может установить любой уровень, и блокировка говорит Claude Code чтить только управляемое значение.

Таблица охватывает элементы управления разрешением, плагином и доставкой. Для любого ключа, не указанного здесь, столбец Scope справочника параметров говорит, является ли он только управляемым; оставшиеся ключи только управляемые там включают URL входа шлюза, версию, браузер, мобильный симулятор, хост SSH, локальный сеанс Desktop, путь двоичного файла песочницы, ценообразование модели и элементы управления CLAUDE.md.

Параметр Описание
allowAllClaudeAiMcps Загружайте соединители claude.ai, которые Claude Code получает сам, вместе с развернутым managed-mcp.json, вместо их подавления
allowedChannelPlugins Список разрешений плагинов канала, которые могут отправлять сообщения. Заменяет список разрешений Anthropic по умолчанию, когда установлен. Требует channelsEnabled: true. См. Ограничьте, какие плагины канала могут работать
allowManagedHooksOnly Когда true, ограничивает, какие hooks работают; см. что работает под allowManagedHooksOnly для полного списка эффектов
allowManagedMcpServersOnly Когда true, уважаются только allowedMcpServers из управляемых параметров. deniedMcpServers все еще объединяется из всех источников. См. Управляемая конфигурация MCP
allowManagedPermissionRulesOnly Делает управляемые параметры единственным источником параметров правил разрешения. Запись перечисляет каждый источник, который она игнорирует
blockedMarketplaces Список блокировки источников маркетплейса. Заблокированные источники проверяются перед загрузкой, поэтому они никогда не касаются файловой системы. См. управляемые ограничения маркетплейса
channelsEnabled Разрешить каналы для организации. См. элементы управления предприятием для значения по умолчанию на каждом плане
disableCommandPluginSources Когда true, полностью блокирует command источники плагинов, поэтому объявленная маркетплейсом команда никогда не работает. Также блокирует команды headersHelper маркетплейса, кроме маркетплейса, который сами управляемые параметры объявляют. Когда не установлено, следует allowManagedHooksOnly. Требует Claude Code v2.1.229 или позже, и блок headersHelper требует v2.1.238 или позже
disableSideloadFlags Отклоните флаги --plugin-dir, --plugin-url, --agents и --mcp-config при запуске. В облачных сеансах Claude Code отбрасывает MCP серверы, которые сервер доставил через --mcp-config, кроме записей type: "sdk" в процессе, и запускает сеанс. Требует Claude Code v2.1.193 или позже
forceRemoteSettingsRefresh Когда true, блокирует запуск CLI, пока управляемые параметры удаленного сервера не будут свежо получены, и выходит, если выборка не удается. См. применение fail-closed
managedMcpServers Удаленные MCP серверы, предоставленные каждому пользователю вместе с их собственными. Он предоставляет серверы, а не блокирует что-либо. См. Предоставьте серверы через управляемые параметры. Требует Claude Code v2.1.259 или позже
managedSourcesBehavior Применяет ли Claude Code только управляемый источник с наивысшим приоритетом или составляет каждый из них
parentSettingsBehavior Объединяются ли параметры родителя, предоставленные хостом, под управляемой политикой
pluginSuggestionMarketplaces Маркетплейсы, плагины которых Claude Code может предложить пользователям
pluginTrustMessage Пользовательское сообщение, добавленное к предупреждению о доверии плагина, показываемому перед установкой
policyHelper Исполняемый файл, который вычисляет управляемые параметры при запуске; см. Вычислите управляемые параметры с помощью помощника политики
sandbox.filesystem.allowManagedReadPathsOnly Когда true, уважаются только пути filesystem.allowRead из управляемых параметров. denyRead все еще объединяется из всех источников
sandbox.network.allowManagedDomainsOnly Чтите только управляемые allowedDomains и правила разрешения WebFetch(domain:...); блокируйте другие домены без подсказки
strictKnownMarketplaces Контролирует, какие источники маркетплейса плагинов пользователи могут добавлять и устанавливать плагины из. См. управляемые ограничения маркетплейса
strictPluginOnlyCustomization Блокируйте skills, agents, hooks и MCP серверы из источников пользователя и проекта; true блокирует все четыре, массив называет, какие
wslInheritsWindowsSettings Когда установлено в реестре HKLM или файле под C:\Program Files\ClaudeCode, имейте WSL читать цепь политики Windows и читайте /etc/claude-code только когда никакой файл управляемых параметров или drop-in под этим каталогом не доставляет ключ политики; запись дает порядок

Отключите телеметрию для вашей организации

Claude Code отправляет Anthropic операционную телеметрию по умолчанию на сеансы, которые используют API Anthropic, прямо, через шлюз LLM или через пользовательский ANTHROPIC_BASE_URL; Поведения по умолчанию по поставщику API говорит, какие поставщики отправляют ее. Чтобы отключить ее для каждого разработчика без опоры на каждого человека, доставьте DISABLE_TELEMETRY через блок env ваших управляемых параметров. Этот пример устанавливает DISABLE_TELEMETRY для всех, кого достигает политика:

{
  "env": {
    "DISABLE_TELEMETRY": "1"
  }
}

Claude Code применяет значение 1 без показа пользователю диалога одобрения.

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

Где и когда политика применяется говорит, какой механизм доставки достигает каждую поверхность, и Доступность платформы говорит, какие сеансы пропускают выборку управляемых параметров сервера.

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

Смотрите также