--settings не переопределяет их, кроме нескольких исключений, чувствительных к безопасности, где более строгое значение с более низкого уровня все еще учитывается.
Эта страница предназначена для администратора, который развертывает управляемые параметры или отлаживает, почему один из них не применяется. Чтобы решить, что применять, начните с таблицы Решите, что применять. Для пути консоли claude.ai см. Управляемые параметры сервера. Для того, где находятся собственные значения разработчика, см. Параметры.
Развертывание файла управляемых параметров
Это самый быстрый способ применить политику на каждой машине: файлmanaged-settings.json. Если вы еще не выбрали способ доставки управляемых параметров или ваши устройства находятся под управлением MDM или разработчики запускают облачные сеансы, сначала прочитайте Выберите механизм доставки.
1
Напишите managed-settings.json
Напишите Для более полного примера, который показывает форму большего количества управляемых ключей, включая метод входа, модели, MCP серверы и маркетплейсы, см. Управляемые параметры организации.
managed-settings.json, который содержит ключи, которые вы решили применять, в той же форме JSON, что и settings.json. Таблица Решите, что применять перечисляет ключи за каждым элементом управления, и каждая запись в справочнике параметров указывает, может ли управляемый источник установить его. Этот файл блокирует два чтения файлов, отключает режим обхода и заставляет Claude Code игнорировать правила разрешений из файлов пользователя, проекта и локального, а также из --allowedTools:managed-settings.json
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 каждой записи указывает, какие:
- Элементы управления доставкой:
policyHelper,wslInheritsWindowsSettingsиmanagedSourcesBehavior - Ключи входа Gateway:
forceLoginGatewayUrl,gatewayInternalNetworksи значение"gateway"параметраforceLoginMethod
Начальные шаблоны для Jamf, Iru, Intune и Group Policy находятся в репозитории примеров MDM.
Если в вашей организации применена конфигурация HIPAA, см.
settings-hipaa.json и README-hipaa.md в репозитории примеров настроек, где приведён более полный managed-settings.json с изоляцией в песочнице, списком разрешённых сетевых доменов, защитой учётных данных и локальным хранением данных.
Для управляемых 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 объединяет управляемые источники охватывает согласие, которое применяется к обоим.
- Сеансы Claude Tag: сеансы Claude Tag работают в облачных средах, но не получают server-managed settings. В самостоятельно размещаемой среде они всё ещё читают файл управляемых параметров в образе runner. Настройте сам Claude Tag в параметрах администратора Claude Tag.
-
Сеансы 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 не имеет политики устройства для чтения.
strictKnownMarketplacesиblockedMarketplacesконсоли администратора сам по себе, когда кто-либо добавляет marketplace из git репозитория на claude.ai или из Customize на вкладке Cowork. Как работают ограничения описывает эту проверку. Таблица покрытия поверхностей сравнивает Cowork с другими поверхностями. -
Запущенные сеансы: большинство изменений достигают запущенного сеанса по расписанию в таблице механизма доставки, без перезагрузки.
- Изменения
forceRemoteSettingsRefresh,requiredMinimumVersionи некоторых редактируемых пользователем ключей вступают в силу при следующем запуске сеанса. - Новая или изменённая запись
policyHelperвступает в силу при следующем запуске. Если server-managed settings затеняют помощника при этом запуске, помощник запускается как только fetch сообщает об удалении этих параметров.
- Изменения
-
Изменения, требующие одобрения: кроме обновлений, которые ждут следующего запуска, изменение 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 не читает устаревший путь WindowsC:\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.ai как настройки, управляемые сервером, или через шлюз приложений Claude. Claude Code получает этот источник только когда сессия аутентифицируется в API Anthropic напрямую с помощью подходящих учётных данных, входит в шлюз с помощью
/loginили работает на вкладке Code в Claude Desktop за шлюзом, который предоставляет этой сессии настройки. На других поставщиках или когдаANTHROPIC_BASE_URLуказывает на что-то другое, чем API Anthropic, он начинает со следующего источника - Политики MDM или уровня ОС: plist macOS или ключ реестра HKLM
- Файлы управляемых настроек,
managed-settings.d/*.jsonиmanaged-settings.json, объединённые вместе - Реестр HKCU в Windows, а также в WSL после того, как реестр HKLM или файл управляемых настроек Windows включит
wslInheritsWindowsSettingsи значение HKCU тоже задаст его. Claude Code читает его, только когда над ним нет присутствующего документа администратора и никакие родительские настройки, предоставленные хостом, не задают ограничивающий ключ
Когда документ администратора считается присутствующим
При ранжировании управляемых источников Claude Code никогда не применяет доступный для записи пользователю реестр HKCU под присутствующим документом администратора. Документ считается присутствующим, когда:- Он задаёт любому ключу политики значение, отличное от
null, даже если это значение Claude Code не может прочитать - Это значение HKLM, файл управляемых настроек или каталог
managed-settings.d, который существует, но не может быть прочитан
/etc/claude-code тоже доступен для записи пользователю, а запись wslInheritsWindowsSettings описывает, когда документы Windows стоят выше него.
Ключи, читаемые из каждого источника администратора
При параметре по умолчанию"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 -
allowManagedMcpServersOnly:trueв любом источнике администратора включает блокировку списка разрешённых MCP-серверов. Пока блокировка включена, управляемый списокallowedMcpServersпоступает из источника администратора с наивысшим рейтингом, который его устанавливает. Список, управляемый сервером, заменяет список нижнего источника, а не объединяется с ним. Если ни один источник администратора не устанавливает список, каждый сервер, который проходит список запрещённых, загружается, если только родительские настройки не предоставляют список. Без блокировки Claude Code читаетallowedMcpServersиз управляемого источника, который он применяет, поэтому при"first-wins"список невыбранного источника администратора игнорируется. Требует Claude Code v2.1.273 или позже -
deniedMcpServersиdisableClaudeAiConnectors: запись илиtrueв любом источнике администратора применяется. Требует Claude Code v2.1.273 или позже -
Пути двоичных файлов песочницы
sandbox.bwrapPathиsandbox.socatPath -
Двоичный файл песочницы
ripgrep,sandbox.ripgrep -
sandbox.filesystem.disabledиsandbox.network.strictAllowlist -
useAutoModeDuringPlan,syncClaudeAiSkillsиsyncClaudeAiPlugins, где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выбранного источника
allowedProviders имеет своё собственное правило: примечание Scope его записи говорит, как список, установленный на машине, объединяется с управляемым сервером. Требует Claude Code v2.1.285 или позже.
Когда источник администратора устанавливает allowManagedMcpServersOnly или список allowedMcpServers и это значение не является тем, которое действует, /status и claude doctor называют этот источник и ключ.
Составьте каждый управляемый источник
Чтобы Claude Code применял каждый источник администратора, который доставляет ваша организация, установитеmanagedSourcesBehavior на "merge" в источнике с наивысшим рейтингом, который вы развёртываете. Claude Code читает ключ только из источника с наивысшим рейтингом, который несёт либо ключ, либо ключ политики, поэтому нижний источник не может выбрать себя для объединения с источником выше него, и машина, которая никогда не получает настройки, управляемые сервером, нуждается в ключе в своём профиле MDM тоже. Доступный для записи пользователем реестр HKCU никогда не объединяется с другим источником. Требует Claude Code v2.1.242 или позже.
При "merge" Claude Code добавляет записи списка нижнего источника, такие как правила permissions.allow и хуки, к политике, поэтому включайте это только когда каждый источник, ранжированный ниже вашего наивысшего, находится под контролем администратора.
Эта таблица показывает, как Claude Code объединяет каждый тип ключа при "merge". Запись managedSourcesBehavior называет каждый ключ в трёх из строк: ограничивающие списки разрешённых значений, значения, взятые целиком, и ключи, читаемые только из источника с наивысшим рейтингом.
Чтобы подтвердить, какие источники объединились на машине, прочитайте строку
Setting sources в /status; этот раздел говорит, что означает каждая метка.
Вычислите политику с помощью вспомогательной программы
policyHelper — это исполняемый файл, который называет ваша политика MDM или файл управляемых настроек, и Claude Code запускает его для вычисления управляемых настроек при запуске. Когда выбранный источник настраивает один и помощник выдаёт объект managedSettings, этот вывод изменяет то, что читает Claude Code:
- Выданный объект
managedSettings— это единственные управляемые настройки для сессии, включая ключи, которые он иначе читает из каждого источника администратора, кромеforceRemoteSettingsRefresh, который имеет своё собственное правило запуска
Позвольте хосту встраивания добавить политику
Когда другое приложение запускает Claude Code, такое как Claude Desktop, расширение IDE или приложение Agent SDK, этот хост может передать свои собственные управляемые настройки через опцию SDKmanagedSettings. 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в управляемых настройках, которые он применяет, и блокирует предоставленное родителем. Вне блокировки списка разрешённых MCP-серверов значение в нижнем источнике администратора, который Claude Code не применяет, ни применяется, ни блокирует родителя. На Claude Code v2.1.273 или позже, покаallowManagedMcpServersOnlyвключена, списокallowedMcpServersиз источника администратора с наивысшим рейтингом, который его устанавливает, применяется и блокирует родителя, как кросс-источниковый ключ. Список родителя применяется только когда ни один источник администратора не устанавливает один. ЗаписьmanagedSourcesBehaviorговорит, какой источник предоставляет каждый ключ при"merge". До v2.1.223 значение в любом источнике администратора блокировало родителя -
Для
availableModelsClaude Code применяет значение в управляемых настройках, которые он применяет, и блокирует предоставленный родителем список -
Для
strictKnownMarketplacesClaude Code аналогично применяет список в управляемых настройках, которые он применяет, и блокирует предоставленный родителем. Список родителя применяется только когда ни один применённый управляемый источник не устанавливает один. Требует Claude Code v2.1.282 или позже -
Для
allowedProvidersсписок в выбранном управляемом источнике блокирует предоставленный родителем, а при включённом значении"merge"дляmanagedSourcesBehaviorего блокирует список в любом источнике администратора. Требует Claude Code v2.1.285 или позже -
Предоставленный родителем
blockedMarketplacesприменяется в дополнение к любому списку блокировок, который устанавливает управляемый источник. Требует Claude Code v2.1.282 или позже
Сохраните доступ к папке Cowork, когда применяются только управляемые правила
Cowork в приложении Claude Desktop запускает свои сессии на Claude Code и предоставляет каждой сессии доступ к её рабочим папкам, таким как папка, которую подключает пользователь, через разрешающие правила, которые он предоставляет при запуске сессии. Когда ваша управляемая политика устанавливаетallowManagedPermissionRulesOnly, Claude Code сохраняет только разрешающие правила в управляемой политике: он удаляет разрешающие правила, которые хост предоставляет как родительские настройки, как --allowedTools или в файле настроек, поэтому записи в эти папки теряют предварительное одобрение. В сессии Cowork, которая спрашивает перед редактированием, Cowork не может показать запрос разрешения, и Claude сообщает о каждой записи как заблокированной, потому что путь разрешается в защищённое место или путь вне подключённой папки.
Чтобы восстановить записи, добавьте разрешающие правила для этих папок в управляемый источник, который Claude Code выбирает на этих машинах: на управляемом MDM парке это политика MDM, а не отдельный файл управляемых настроек. Этот пример использует форму файла, и политика MDM принимает те же ключи. Она сохраняет allowManagedPermissionRulesOnly установленным и позволяет редактирование в папке CoworkProjects в домашнем каталоге каждого пользователя; замените путь на папки, которые подключают ваши пользователи:
managed-settings.json
// для абсолютных путей.
Что может изменить разработчик
Собственные файлы настроек разработчика, значения--settings и файлы проекта никогда не переопределяют управляемое значение; исключения только позволяют учитывать более строгое значение более низкого уровня. Эти случаи находятся вне этого правила:
- Модель для сессии: управляемая
model— это значение по умолчанию, а не блокировка.--modelиANTHROPIC_MODELвсё ещё выбирают модель для этой сессии, поэтому развёртывайтеavailableModelsдля ограничения выбора. - Окно автосжатия для сессии: управляемый
autoCompactWindow— тоже значение по умолчанию. Флаг--autocompactи переменнаяCLAUDE_CODE_AUTO_COMPACT_WINDOWвсё ещё задают окно автосжатия для этой сессии. - Локальные права администратора: разработчик, который является администратором на машине, может редактировать сам управляемый источник, поэтому инструменты 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 или файла
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 отбрасывает любое значение, которое всё ещё не проходит проверку, если только значение не принадлежит одному из ключей, которые вместо этого не проходят закрыто. Claude Code более строг сmanagedSettings, которые выдаёт policyHelper: он делает те же исправления записей, но любое оставшееся нарушение схемы приводит к сбою всего запуска помощника, и при запуске Claude Code отказывается запускаться — так же, как и для помощника, который завершается с ненулевым кодом.
Когда файл управляемых настроек, файл drop-in, plist MDM или значение реестра HKLM присутствуют, но не могут быть проанализированы как объект JSON, Claude Code отказывается запускаться и выводит ошибку, называющую источник, даже когда другой источник администратора доставляет допустимую политику. Каждый источник не проходит таким образом, когда:
- Файл управляемых настроек или файл drop-in: файл не является допустимым JSON или его верхний уровень не является объектом
- MDM plist:
plutilmacOS сообщает, что plist неправильно сформирован, или его преобразованное содержимое не является объектом JSON - Значение реестра HKLM: значение
Settingsне является строкой, пусто или не содержит объект JSON
- Отсутствующий файл, профиль или значение реестра не является сбоем; Claude Code работает без этого источника.
- Пустой файл управляемых настроек считается
{}. - Неправильное значение в доступном для записи пользователем ключе реестра HKCU никогда не блокирует запуск. Вместо этого Claude Code сообщает об этом как уведомление в
/statusиclaude doctor.
managed-settings.d/, профиль MDM или значение реестра HKLM существуют, но не могут быть прочитаны, и ни один источник администратора не предоставляет политику, то, что происходит, зависит от причины сбоя чтения:
- Если операционная система отказала в чтении, например для файла, доступного только root, каждая сессия запускается без политик этого источника.
/statusиclaude doctorзаписывают сбой, а запуск с-pтакже выводит его в stderr. - При любом другом сбое чтения, например ошибке ввода-вывода, каждая сессия завершается при запуске с сообщением о необходимости связаться с администратором.
- Интерактивные сессии показывают диалоговое окно при запуске, в котором перечислены неправильные записи.
- Неинтерактивные запуски с
-pвыводят сводку в stderr. claude doctorперечисляет каждую неправильную запись с её источником и полем.
Ключи, которые не проходят закрыто
Когда управляемый источник устанавливает ключ верхнего уровня, который имеет одно ограничивающее значение, такой какallowManagedPermissionRulesOnly, disableAutoMode или skipDangerousModePermissionPrompt, в значение, которое Claude Code не может прочитать, ключ читается как это ограничивающее значение, пока вы его не исправите. Отчёт сообщает, что ключ was present but invalid, и называет значение, которым его считает Claude Code. Для ключа внутри sandbox см. Неправильные значения внутри sandbox.
Эти случаи не проходят закрыто:
nullудаляет ключ.- Неправильный
disableAllHooks, даже логическое значение в кавычках, отбрасывается с предупреждением, потому что применениеtrueтакже выгрузило бы хуки, которые развёртывают ваши собственные управляемые настройки. - Для каждого другого логического ключа, который охватывает правило, строка
"true"или"false"читается как соответствующее логическое значение, с уведомлением в/status, предлагающим вам удалить кавычки.
permissions, autoMode, worktree и attribution по полям вместо того, чтобы отбрасывать их целиком:
- Блокировка внутри одного из них, такая как
permissions.disableBypassPermissionsMode, читается как её ограничивающее значение. - Неправильный
permissions.defaultModeчитается какdefault. - Пока список
denyилиaskвpermissionsвообще не может быть прочитан, Claude Code удерживаетallowиadditionalDirectories, поэтому разрешения никогда не применяются без ограничений, записанных рядом с ними. Отчёт называет каждое удержанное разрешение и список, который не удалось прочитать. - В
autoModeсписокsoft_denyилиhard_deny, который не может быть прочитан или потерял неправильную запись, таким же образом удерживаетallowиenvironment.
allowedHttpHookUrls и httpHookAllowedEnvVars объединяются между файлами настроек, поэтому записи в ваших пользовательских, проектных или локальных настройках всё ещё применяются, пока управляемый список пуст.
Резервные варианты для этих двух ключей и для allowedChannelPlugins требуют Claude Code v2.1.267 или позже; более ранние версии отбрасывают весь ключ, когда его значение или любая запись неправильны. Резервные варианты strictKnownMarketplaces и blockedMarketplaces требуют Claude Code v2.1.277 или позже; более ранние версии отбрасывают весь ключ, когда его значение или любая запись неправильны. Резервные варианты strictPluginOnlyCustomization и enabledPlugins требуют Claude Code v2.1.282 или позже.
requiredMinimumVersion и requiredMaximumVersion намеренно не проходят открыто: неправильное значение отбрасывается, а не применяется.
Эта терпимость применяется только к управляемым настройкам. Файлы пользовательских, проектных и локальных настроек остаются строгими: файл, чей JSON или форма верхнего уровня не проходит проверку, отклоняется целиком с сообщением об этом, а отдельная запись, которая не проходит проверку, например неправильное правило разрешений, пропускается с предупреждением, тогда как остальная часть файла применяется.
Неправильные значения внутри sandbox
Когда одно значение в вашем управляемом блоке sandbox неправильно, Claude Code не отбрасывает весь блок, потому что он проверяет каждое поле отдельно. Эта обработка по полям требует Claude Code v2.1.283 или позже. В версиях до v2.1.283 Claude Code отбрасывает каждое поле sandbox, кроме credentials, когда значение вне credentials неправильно.
Предупреждение, которое вы получаете для неправильного поля, называет поле и сообщает, что с ним происходит. Что происходит, зависит от того, что контролирует поле:
- Если вы установите логический ключ в
"true"или"false"в кавычках, значение считается соответствующим логическим значением. Вместо предупреждения/statusпоказывает уведомление, предлагающее вам удалить кавычки. - Если
failIfUnavailableнеправилен, Claude Code отбрасывает значение, а не рассматривает его какtrue, поэтому нечитаемое значение никогда не мешает запуску сессий во всём вашем парке. - Каждое другое неправильное логическое значение Claude Code рассматривает как значение, которое сохраняет песочницу максимально строгой, пока вы его не исправите. Ключ, который включает песочницу или одно из её ограничений, например
enabledилиnetwork.allowManagedDomainsOnly, считаетсяtrue. Ключ, который ослабляет её, напримерallowUnsandboxedCommands, считаетсяfalse. - В списке вне
credentials, таком какexcludedCommandsилиnetwork.allowedDomains, Claude Code отбрасывает неправильную запись и сохраняет остальную часть списка. Список, который не является массивом или не имеет ни одной допустимой записи, вообще не применяется. - Пока
network.deniedDomainsили любая запись в нём неправильны, Claude Code также удерживаетnetwork.allowedDomains, поэтому управляемый список разрешённых доменов ничего не разрешает, пока вы не исправите список запрещённых. - Пока
filesystem.denyRead,filesystem.denyWriteили любая запись в любом из них неправильны, Claude Code также удерживает иfilesystem.allowRead, иfilesystem.allowWrite, пока вы не исправите список запрещённых.
Ключи, которые может установить только управляемый источник
Claude Code читает следующие ключи только из управляемого источника; размещение их в файлах параметров пользователя или проекта не имеет эффекта. Большинство из них — это блокировки: значение, которое блокировка управляет, такое как правила разрешения илиsandbox.network.allowedDomains, — это обычный ключ, который может установить любой уровень, и блокировка говорит Claude Code чтить только управляемое значение.
Таблица охватывает элементы управления разрешением, плагином и доставкой. Для любого ключа, не указанного здесь, столбец Scope справочника параметров говорит, является ли он только управляемым.
На планах Team и Enterprise Owner включает или отключает Remote Control и облачные сессии для всей организации в настройках администратора Claude Code. Когда Owner отключает Remote Control, уже подключённые сессии, работающие на Claude Code v2.1.286 или позже, также отключаются. Каждая из них отключается при следующем обновлении политики вашей организации, что происходит примерно раз в час. О том, что происходит в этих сессиях, см.
Remote Control was turned off by your organization's policy.Remote Control также можно отключить для отдельного устройства с помощью настройки disableRemoteControl. Для облачных сессий нет ключа управляемых настроек на уровне устройства.Чтобы проверить, достигли ли эти параметры организации данную машину, запустите claude doctor там и прочитайте строку Organization policy, которая говорит, откуда Claude Code загрузил политику или почему она не загрузилась. Требует Claude Code v2.1.261 или позже. В запущенном сеансе /status показывает ту же строку, когда политика не загрузилась.Отключите телеметрию для вашей организации
Claude Code отправляет Anthropic операционную телеметрию по умолчанию на сеансы, которые используют API Anthropic, прямо, через шлюз LLM или через пользовательскийANTHROPIC_BASE_URL; Поведения по умолчанию по поставщику API говорит, какие поставщики отправляют ее. Чтобы отключить ее для каждого разработчика без опоры на каждого человека, доставьте DISABLE_TELEMETRY через блок env ваших управляемых параметров. Этот пример устанавливает DISABLE_TELEMETRY для всех, кого достигает политика:
1 без показа пользователю диалога одобрения.
Если вы отключите телеметрию, Claude Code прекратит отправку данных об использовании, которые питают панель аналитики вашей организации для разработчиков, которых достигает политика. Переменная также отключает получение флагов функций для этих разработчиков. Для Remote Control см. требования Remote Control.
Где и когда политика применяется говорит, какой механизм доставки достигает каждую поверхность, и Доступность платформы говорит, какие сеансы пропускают выборку управляемых параметров сервера.
Если ваша организация использует управляемые клиентом ключи шифрования и маршрутизирует Claude Code через шлюз, Настройте прокси и шлюзы говорит, почему этим сеансам нужна эта переменная.
Смотрите также
- Настройте Claude Code для вашей организации: решите, что применять и как
- Управляемые параметры сервера: доставляйте политику из консоли claude.ai или шлюза
- Управляемая конфигурация MCP: контролируйте, какие MCP серверы могут использовать разработчики
- Все параметры: каждый ключ, с указанием, может ли управляемый источник его установить
- Примеры файлов параметров: полный
managed-settings.json, показывающий форму управляемых ключей