--settings as substitui, exceto por algumas exceções sensíveis à segurança onde um valor mais restritivo de um nível inferior ainda conta.
Esta página é para o administrador que implanta configurações gerenciadas ou depura por que uma não está sendo aplicada. Para decidir o que impor, comece com a tabela Decidir o que impor. Para o caminho do console claude.ai, consulte Configurações gerenciadas pelo servidor. Para saber em qual arquivo os valores próprios do desenvolvedor vão, consulte Configurações.
Implantar um arquivo de configurações gerenciadas
Esta é a forma mais rápida de colocar uma política em cada máquina: um arquivomanaged-settings.json. Se você ainda não escolheu como entregar configurações gerenciadas, ou seus dispositivos estão sob MDM ou os desenvolvedores executam sessões na nuvem, leia primeiro Escolher um mecanismo de entrega.
1
Escrever managed-settings.json
Escreva um Para um exemplo mais completo que mostra a forma de mais chaves gerenciadas, incluindo o método de login, modelos, servidores MCP e marketplaces, consulte Configurações gerenciadas de uma organização.
managed-settings.json que contenha as chaves que você decidiu impor, na mesma forma JSON que settings.json. A tabela Decidir o que impor lista as chaves por trás de cada controle, e cada entrada na referência de configurações diz se uma fonte gerenciada pode defini-la. Este arquivo bloqueia duas leituras de arquivo, desativa o modo de bypass e faz Claude Code ignorar regras de permissão de arquivos de usuário, projeto e local e de --allowedTools:managed-settings.json
2
Colocar o arquivo em cada máquina
Salve o arquivo como
managed-settings.json no diretório do sistema para o sistema operacional, usando qualquer ferramenta que já coloque arquivos em sua frota:- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json - Linux e WSL:
/etc/claude-code/managed-settings.json - Windows:
C:\Program Files\ClaudeCode\managed-settings.json
3
Confirmar que a política foi aplicada
Em uma máquina, execute
/status dentro de Claude Code. A linha Setting sources mostra Enterprise managed settings (file). Implante no resto da frota depois disso; Verificar que uma política está em vigor cobre o que observar quando a linha está faltando.Escolher um mecanismo de entrega
O arquivo nas etapas acima é uma de quatro formas de colocar configurações gerenciadas em uma máquina. Cada mecanismo carrega as mesmas chaves de política que um arquivosettings.json, portanto a referência de configurações se aplica a todos eles. Algumas chaves estão vinculadas a fontes particulares, e a linha Scope de cada entrada diz qual:
- Controles de entrega:
policyHelper,wslInheritsWindowsSettingsemanagedSourcesBehavior - Chaves de login do gateway:
forceLoginGatewayUrl,gatewayInternalNetworkse o valor"gateway"deforceLoginMethod
Modelos iniciais para Jamf, Iru, Intune e Group Policy estão no repositório de exemplos MDM.
Se sua organização tiver a configuração HIPAA aplicada, consulte
settings-hipaa.json e README-hipaa.md no repositório de exemplos de configurações para um managed-settings.json mais completo com sandboxing, uma allowlist de rede, proteções de credenciais e retenção local de dados.
Para servidores MCP gerenciados, que você implanta junto com qualquer um destes através de managed-mcp.json ou fornece através da chave managedMcpServers, consulte Configuração MCP gerenciada.
Onde e quando uma política se aplica
Uma política implantada alcança as sessões do desenvolvedor da seguinte forma:-
Superfícies: na máquina do desenvolvedor, o terminal, as extensões VS Code e JetBrains, a aba Code do aplicativo desktop e as sessões Agent SDK leem todas essas fontes. As sessões Agent SDK carregam configurações gerenciadas mesmo quando
settingSourcesexclui os arquivos de usuário, projeto e local. - Sessões na nuvem: uma sessão em um ambiente hospedado pela Anthropic não lê um perfil MDM ou arquivo de dispositivo, portanto a política para ela deve vir de configurações gerenciadas pelo servidor. Uma sessão em um ambiente auto-hospedado também lê o arquivo de configurações gerenciadas em sua imagem de executor, por padrão apenas quando as configurações gerenciadas pelo servidor não entregam nenhuma chave de política, exceto pelas chaves que Claude Code lê de cada fonte de administrador. Como Claude Code combina fontes gerenciadas cobre o opt-in que aplica ambas.
- Sessões Claude Tag: as sessões Claude Tag são executadas em ambientes na nuvem, mas não recebem configurações gerenciadas pelo servidor. Em um ambiente auto-hospedado, elas ainda leem o arquivo de configurações gerenciadas na imagem do executor. Configure o Claude Tag em si nas configurações de administrador do Claude Tag.
-
Sessões Cowork: Cowork no aplicativo Claude Desktop executa suas sessões em Claude Code. Em uma sessão Cowork, Claude Code nunca busca configurações gerenciadas pelo servidor do console de administração claude.ai, mesmo quando o usuário se conecta com uma conta Team ou Enterprise, portanto qual política se aplica depende de onde a sessão é executada:
- Na máquina do usuário: por padrão, Claude Code em uma sessão Cowork lê a política MDM ou nível do SO e o arquivo de configurações gerenciadas nesse dispositivo, portanto implante a política lá.
- Em um sandbox de VM completa: quando sua configuração gerenciada do Claude Desktop define
requireCoworkFullVmSandbox, Claude Code é executado dentro de uma máquina virtual onde a política MDM do dispositivo e o arquivo de configurações gerenciadas não estão presentes. - Sessões Cowork remotas: estas são executadas em VMs gerenciadas pela Anthropic, onde Claude Code não tem política de dispositivo para ler.
strictKnownMarketplaceseblockedMarketplacesdo console de administração quando alguém adiciona um marketplace de um repositório git em claude.ai ou de Customize na aba Cowork. Como as restrições funcionam descreve essa verificação. A tabela cobertura de superfície compara Cowork com as outras superfícies. -
Sessões em execução: a maioria das alterações alcança uma sessão em execução no cronograma na tabela de mecanismo de entrega, sem uma reinicialização.
- Alterações em
forceRemoteSettingsRefresh,requiredMinimumVersione algumas chaves editáveis pelo usuário entram em vigor na próxima inicialização de sessão. - Uma entrada
policyHelpernova ou alterada entra em vigor no próximo lançamento. Se configurações gerenciadas pelo servidor sombrearem o auxiliar nesse lançamento, o auxiliar é executado assim que uma busca relata que essas configurações foram removidas.
- Alterações em
-
Alterações que precisam de aprovação: além das atualizações que aguardam o próximo lançamento, uma alteração gerenciada pelo servidor em uma configuração que precisa de aprovação, como um hook ou uma variável
env, aguarda o desenvolvedor aceitar o diálogo em uma sessão interativa e se aplica para a execução atual em uma sessão que uma extensão IDE ou o Agent SDK hospeda. Outras alterações gerenciadas pelo servidor se aplicam na próxima pesquisa. -
Sessões de longa duração: uma sessão deixada aberta por semanas ainda pode ficar para trás em um lançamento.
requiredMinimumVersionbloqueia um binário desatualizado de iniciar e não encerra uma sessão que já está em execução.
Onde cada mecanismo armazena a política
As chaves são as mesmas em todos os lugares, mas cada mecanismo as armazena em um lugar e forma diferentes:- Gerenciado pelo servidor: os servidores da Anthropic, ou seu gateway, mantêm a política. Claude Code mantém um cache local que aplica na inicialização e substitui em cada busca bem-sucedida.
- Perfil de configuração macOS: o domínio de preferências gerenciadas
com.anthropic.claudecode. Use as mesmas chaves de nível superior quemanaged-settings.json, com configurações aninhadas como dicionários e listas como arrays plist. - Registro HKLM do Windows: o JSON como um valor
REG_SZouREG_EXPAND_SZnomeadoSettingssobHKLM\SOFTWARE\Policies\ClaudeCode. - Baseado em arquivo:
managed-settings.json, um diretório opcionalmanaged-settings.d/emanaged-mcp.jsonno diretório do sistema:/Library/Application Support/ClaudeCode/no macOS,/etc/claude-code/no Linux e WSL, eC:\Program Files\ClaudeCode\no Windows. Claude Code não lê o caminho legado do WindowsC:\ProgramData\ClaudeCode\managed-settings.json. - Registro HKCU do Windows: o mesmo valor
SettingssobHKCU\SOFTWARE\Policies\ClaudeCode.
Dividir uma política baseada em arquivo entre equipes
Se várias equipes possuem partes de uma política, coloque cada parte em seu próprio arquivo emmanaged-settings.d/, ao lado de managed-settings.json no mesmo diretório do sistema, em vez de editar um arquivo compartilhado.
Claude Code mescla managed-settings.json primeiro, depois cada arquivo *.json no diretório em ordem alfabética. Nomeie os arquivos com prefixos numéricos para controlar a ordem, como 10-telemetry.json e 20-security.json. Claude Code ignora arquivos ocultos e arquivos que não terminam em .json.
Quando dois arquivos definem a mesma chave, Claude Code os combina por estas regras:
- Valores únicos, como
"model": "opus"ou"cleanupPeriodDays": 7: o valor do arquivo posterior substitui o anterior - Listas, como
permissions.denyousandbox.network.allowedDomains: as duas listas se combinam, com duplicatas removidas - Blocos aninhados, como
envousandbox: os dois blocos se mesclam chave por chave, e cada chave dentro segue essas mesmas regras fallbackModel: a cadeia posterior substitui a anterior inteiraextraKnownMarketplacesemanagedMcpServers: uma entrada posterior com o mesmo nome substitui a anterior inteiramodelPicker: o lineup posterior substitui o anterior inteiro
Como Claude Code combina fontes gerenciadas
Quando sua organização entrega mais de uma fonte gerenciada para a mesma máquina, a chavemanagedSourcesBehavior decide o que Claude Code faz com as outras:
"first-wins", o padrão: Claude Code usa a fonte com classificação mais alta que entrega pelo menos uma chave de política e ignora o resto em vez de mesclá-las, exceto pelas chaves em Chaves lidas de cada fonte de administrador. Claude Code não mostra aviso para as fontes que pula;/statusnomeia a fonte que usou e as que pulou."merge": Claude Code aplica cada fonte de administrador que entrega uma chave de política e as combina por tipo de chave: na maioria das chaves o valor da fonte com classificação mais alta se aplica, listas se unem, e bloqueios assumem o valor mais restritivo. Componha cada fonte gerenciada diz onde definir a chave e como cada tipo de chave se combina. Requer Claude Code v2.1.242 ou posterior.
- Chave de política: qualquer chave de configurações diferente das duas chaves de controle,
wslInheritsWindowsSettingsemanagedSourcesBehavior. Um arquivo de configurações gerenciadas ou política MDM que contém apenas aquelas não conta, e Claude Code passa para a próxima fonte. - Fonte de administrador: uma das três primeiras fontes abaixo. O registro HKCU é gravável pelo usuário e não é uma.
- Configurações remotas, entregues de claude.ai como configurações gerenciadas pelo servidor ou por um gateway de aplicativos Claude. Claude Code busca esta fonte apenas quando a sessão se autentica na API da Anthropic diretamente com uma credencial elegível, faz login em um gateway com
/login, ou é executada na aba Code do Claude Desktop por trás de um gateway que fornece configurações a essa sessão. Em outros provedores, ou quandoANTHROPIC_BASE_URLaponta para algum lugar diferente da API da Anthropic, começa na próxima fonte - Políticas MDM ou de nível do SO: a plist do macOS ou a chave de registro HKLM
- Arquivos de configurações gerenciadas,
managed-settings.d/*.jsonemanaged-settings.jsonmesclados juntos - O registro HKCU, no Windows, e no WSL uma vez que o registro HKLM ou o arquivo de configurações gerenciadas do Windows ativa
wslInheritsWindowsSettingse o valor HKCU também o define. Claude Code o lê apenas quando nenhum documento de administrador está presente acima dele e nenhuma configuração pai fornecida pelo host fornece uma chave restritiva
Quando um documento de administrador conta como presente
Na classificação das fontes gerenciadas, Claude Code nunca aplica o registro HKCU gravável pelo usuário sob um documento de administrador que está presente. Um documento está presente quando:- Define qualquer chave de política para um valor diferente de
null, mesmo um valor que Claude Code não consegue ler - É um valor HKLM, arquivo de configurações gerenciadas ou diretório
managed-settings.dque existe mas não pode ser lido
/etc/claude-code também é gravável pelo usuário, e a entrada wslInheritsWindowsSettings diz quando os documentos do Windows estão acima dele.
Chaves lidas de cada fonte de administrador
Sob a configuração padrão"first-wins", Claude Code lê a maioria das chaves apenas da fonte que selecionou, e ignora um valor em uma fonte com classificação mais baixa mesmo quando a fonte selecionada deixa essa chave indefinida.
Algumas chaves funcionam diferentemente. Claude Code as lê de cada fonte de administrador, então uma política MDM com classificação mais baixa ou arquivo de configurações gerenciadas ainda pode defini-las quando a fonte selecionada não o faz. Claude Code deixa o registro HKCU gravável pelo usuário de fora dessa verificação; quando HKCU é a única fonte e nenhum host fornece configurações pai, HKCU se aplica como qualquer fonte selecionada.
As chaves entre fontes incluem:
-
sandbox.network.allowManagedDomainsOnlyesandbox.filesystem.allowManagedReadPathsOnly: umtrueem qualquer fonte de administrador ativa o bloqueio. Enquanto um bloqueio está ativo, Claude Code une a allowlist que bloqueia,sandbox.network.allowedDomainsjunto com regras allowWebFetch(domain:...), ousandbox.filesystem.allowRead, em cada fonte de administrador. Sem o bloqueio, Claude Code trata a allowlist como qualquer outra chave, então sob"first-wins"a allowlist de uma fonte de administrador não selecionada é ignorada -
allowAllClaudeAiMcps -
allowManagedMcpServersOnly: umtrueem qualquer fonte de administrador ativa o bloqueio da allowlist MCP. Enquanto o bloqueio está ativo, a listaallowedMcpServersgerenciada vem da fonte de administrador com classificação mais alta que define uma. Uma lista gerenciada pelo servidor substitui a lista de uma fonte mais baixa em vez de se combinar com ela. Se nenhuma fonte de administrador define uma lista, cada servidor que passa pela denylist é carregado, a menos que configurações pai forneçam uma lista. Sem o bloqueio, Claude Code lêallowedMcpServersda fonte gerenciada que aplica, então sob"first-wins"a lista de uma fonte de administrador não selecionada é ignorada. Requer Claude Code v2.1.273 ou posterior -
deniedMcpServersedisableClaudeAiConnectors: uma entrada ou umtrueem qualquer fonte de administrador se aplica. Requer Claude Code v2.1.273 ou posterior -
Os caminhos binários de sandbox
sandbox.bwrapPathesandbox.socatPath -
O binário
ripgrepde sandbox,sandbox.ripgrep -
sandbox.filesystem.disabledesandbox.network.strictAllowlist -
useAutoModeDuringPlan,syncClaudeAiSkills, esyncClaudeAiPlugins, onde umfalsede qualquer fonte de administrador desativa o comportamento. Umfalsenas configurações de usuário ou local do desenvolvedor também o desativa; cada chave pode apenas negar -
enableArtifact, onde umfalsede qualquer fonte de administrador desativa a ferramenta Artifact. Umfalsenas configurações de usuário, projeto ou local do desenvolvedor também o desativa, e nenhuma fonte o ativa novamente; veja quais valores de nível mais baixo ainda contam. Requer Claude Code v2.1.242 ou posterior -
maxEffortLevel, onde o limite mais baixo em qualquer fonte de administrador se aplica. Se um desenvolvedor define um limite mais baixo em suas próprias configurações ou com--settings, Claude Code aplica aquele; nenhuma fonte pode aumentar o limite. Requer Claude Code v2.1.267 ou posterior -
Um opt-out de trailer de commit em
attribution, ou noincludeCoAuthoredBydescontinuado, de qualquer nível -
forceRemoteSettingsRefresh -
env, mesclado por variável em fontes de administrador: cada variável vem da fonte de prioridade mais alta que a define, então fontes mais baixas preenchem variáveis que as mais altas deixam indefinidas. Algumas variáveis seguem suas próprias regras; Exceções por chave em fontes gerenciadas nomeia cada uma. Requer Claude Code v2.1.223 ou posterior. Antes de v2.1.223, Claude Code aplicava apenas o blocoenvinteiro da fonte selecionada
allowedProviders tem sua própria regra: a nota Scope da entrada diz como uma lista definida na máquina se combina com uma gerenciada pelo servidor. Requer Claude Code v2.1.285 ou posterior.
Quando uma fonte de administrador define allowManagedMcpServersOnly ou uma lista allowedMcpServers e esse valor não é o que está em vigor, /status e claude doctor nomeiam essa fonte e chave.
Componha cada fonte gerenciada
Para ter Claude Code aplicar cada fonte de administrador que sua organização entrega, definamanagedSourcesBehavior como "merge" na fonte com classificação mais alta que você implanta. Claude Code lê a chave apenas da fonte com classificação mais alta que carrega a chave ou uma chave de política, então uma fonte mais baixa não pode se optar para mesclar com a fonte acima dela, e uma máquina que nunca recebe configurações gerenciadas pelo servidor precisa da chave em seu perfil MDM também. O registro HKCU gravável pelo usuário nunca se mescla com outra fonte. Requer Claude Code v2.1.242 ou posterior.
Sob "merge", Claude Code adiciona entradas de lista de uma fonte mais baixa, como regras permissions.allow e hooks, à política, então ative-o apenas quando cada fonte classificada abaixo da sua mais alta estiver sob controle de um administrador.
Esta tabela mostra como Claude Code combina cada tipo de chave sob "merge". A entrada managedSourcesBehavior nomeia cada chave em três das linhas: allowlists de restrição, valores tomados inteiros, e chaves lidas apenas da fonte com classificação mais alta.
Para confirmar quais fontes se combinaram em uma máquina, leia a linha
Setting sources em /status; essa seção diz o que cada rótulo significa.
Calcule a política com um programa auxiliar
UmpolicyHelper é um executável que sua política MDM ou arquivo de configurações gerenciadas nomeia, e Claude Code o executa para calcular configurações gerenciadas na inicialização. Quando a fonte selecionada configura um e o auxiliar emite um objeto managedSettings, essa saída muda o que Claude Code lê:
- O objeto
managedSettingsemitido é a única configuração gerenciada para a sessão, incluindo para as chaves que de outra forma lê de cada fonte de administrador, exceto porforceRemoteSettingsRefresh, que tem sua própria regra de inicialização
Deixe um host de incorporação adicionar política
Quando outro aplicativo inicia Claude Code, como Claude Desktop, uma extensão IDE, ou um aplicativo Agent SDK, esse host pode passar suas próprias configurações gerenciadas através da opção SDKmanagedSettings. Claude Code chama essas configurações pai.
Por padrão, Claude Code ignora configurações pai sempre que uma fonte de administrador está presente: configurações gerenciadas pelo servidor, uma política MDM ou de nível do SO, ou um arquivo de configurações gerenciadas.
Para ter Claude Code mesclar configurações pai junto com uma fonte de administrador, defina parentSettingsBehavior como "merge" na fonte gerenciada de prioridade mais alta; Claude Code lê a chave apenas dessa fonte.
Claude Code então mantém apenas os valores do host que restringem o que Claude pode fazer, com uma lacuna a saber: a menos que você também defina os bloqueios allowManaged*Only, as regras allow de permissão do host e allowlists de sandbox ainda se aplicam. Veja Restrinja configurações pai para os bloqueios.
Um policyHelper pode desativar a mesclagem pai independentemente dessa chave; sua entrada diz quando.
Claude Code também aplica essas verificações a valores fornecidos pelo pai por conta própria:
-
Quando qualquer fonte de administrador define
allowManagedPermissionRulesOnly, Claude Code descarta regras allow de permissão fornecidas pelo pai eadditionalDirectoriesconforme as lê, mesmo quando uma fonte de prioridade mais alta deixa a chave indefinida. O efeito da chave em suas próprias regras de permissão vem das configurações gerenciadas que Claude Code aplica, ou de configurações pai que você escolheu mesclar -
Claude Code impõe o valor
forceLoginOrgUUIDouallowedMcpServersnas configurações gerenciadas que aplica e bloqueia um fornecido pelo pai. Fora do bloqueio da allowlist MCP, um valor em uma fonte de administrador mais baixa que Claude Code não aplica nem se aplica nem bloqueia o do pai. No Claude Code v2.1.273 ou posterior, enquantoallowManagedMcpServersOnlyestá ativo, a listaallowedMcpServersda fonte de administrador com classificação mais alta que define uma se aplica e bloqueia a do pai, como uma chave entre fontes. A lista do pai se aplica apenas quando nenhuma fonte de administrador define uma. A entradamanagedSourcesBehaviordiz qual fonte fornece cada chave sob"merge". Antes de v2.1.223, um valor em qualquer fonte de administrador bloqueava a do pai -
Para
availableModels, Claude Code impõe o valor nas configurações gerenciadas que aplica e bloqueia uma lista fornecida pelo pai -
Para
strictKnownMarketplaces, Claude Code igualmente impõe a lista nas configurações gerenciadas que aplica e bloqueia uma fornecida pelo pai. A lista do pai se aplica apenas quando nenhuma fonte gerenciada aplicada define uma. Requer Claude Code v2.1.282 ou posterior -
Para
allowedProviders, uma lista na fonte gerenciada selecionada bloqueia uma fornecida pelo pai, e sob a opção"merge"demanagedSourcesBehavioruma lista em qualquer fonte de administrador também bloqueia. Requer Claude Code v2.1.285 ou posterior -
Um
blockedMarketplacesfornecido pelo pai se aplica além de qualquer lista de bloqueio que uma fonte gerenciada define. Requer Claude Code v2.1.282 ou posterior
Mantenha o acesso à pasta Cowork quando apenas regras gerenciadas se aplicam
Cowork no aplicativo Claude Desktop executa suas sessões no Claude Code e concede a cada sessão acesso às suas pastas de trabalho, como a pasta que o usuário conecta, através de regras allow que fornece quando inicia a sessão. Quando sua política gerenciada defineallowManagedPermissionRulesOnly, Claude Code mantém apenas as regras allow na política gerenciada: descarta regras allow que um host fornece como configurações pai, como --allowedTools, ou em um arquivo de configurações, então gravações nessas pastas perdem sua pré-aprovação. Em uma sessão Cowork que pede antes de edições, Cowork não consegue mostrar o prompt, e Claude relata cada gravação como bloqueada porque o caminho se resolve para um local protegido ou um caminho fora da pasta conectada.
Para restaurar as gravações, adicione regras allow para essas pastas à fonte gerenciada que Claude Code seleciona nessas máquinas: em uma frota gerenciada por MDM, essa é a política MDM em vez de um arquivo de configurações gerenciadas separado. Este exemplo usa a forma de arquivo, e uma política MDM toma as mesmas chaves. Mantém allowManagedPermissionRulesOnly definido e permite edições sob uma pasta CoworkProjects no diretório pessoal de cada usuário; substitua o caminho pelas pastas que seus usuários conectam:
managed-settings.json
// para caminhos absolutos.
O que um desenvolvedor pode mudar
Os próprios arquivos de configurações de um desenvolvedor, valores--settings, e arquivos de projeto nunca sobrescrevem um valor gerenciado; as exceções apenas deixam um valor de nível mais baixo mais restritivo contar. Estes casos ficam fora dessa regra:
- O modelo para uma sessão: um
modelgerenciado é um padrão, não um bloqueio.--modeleANTHROPIC_MODELainda escolhem o modelo para essa sessão, então implanteavailableModelspara restringir a escolha. - A janela de compactação automática para uma sessão: um
autoCompactWindowgerenciado também é um padrão. A flag--autocompacte a variávelCLAUDE_CODE_AUTO_COMPACT_WINDOWainda definem a janela de compactação automática para essa sessão. - Direitos de administrador local: um desenvolvedor que é um administrador na máquina pode editar a própria fonte gerenciada, é por isso que a ferramenta MDM pode reimplantar o perfil ou arquivo em um cronograma e por que o registro HKLM e o domínio de preferências gerenciadas do macOS existem.
- O cache gerenciado pelo servidor: configurações gerenciadas pelo servidor vêm dos servidores da Anthropic, e uma edição no cache local dura apenas até a próxima busca bem-sucedida.
- Outras ferramentas: configurações gerenciadas vinculam apenas Claude Code. Um desenvolvedor que chama a API de outra ferramenta não está sob elas.
Verificar que uma política está em vigor
Um desenvolvedor relata que uma política não está sendo aplicada, ou você quer confirmar que um lançamento chegou antes de empurrá-lo para a frota. Dois comandos nessa máquina respondem:/status mostra qual fonte gerenciada Claude Code selecionou, e claude doctor lista o que descartou.
Ler a fonte em /status
Na máquina do desenvolvedor, execute/status dentro de Claude Code e leia a linha Setting sources. Quando uma fonte gerenciada está em vigor, a linha lista Enterprise managed settings com a fonte que Claude Code selecionou entre parênteses:
(remote): configurações gerenciadas pelo servidor do claude.ai ou um gateway(plist)ou(HKLM): uma política MDM ou nível do SO(file),(drop-ins)ou(file + drop-ins):managed-settings.json, o diretório drop-in ou ambos(remote + file, merged)ou outra lista terminando em, merged: sua organização compõe cada fonte gerenciada e Claude Code mesclou as fontes listadas na política. Uma fonte inferior ainda pode fornecer variáveisenvsem aparecer na lista. Requer Claude Code v2.1.242 ou posterior(HKCU): o fallback de registro gravável pelo usuário(parent process): um host de incorporação forneceu configurações restritivas(helper): umpolicyHelperconfigurado pela fonte MDM ou arquivo selecionada
Skipped sources, nomeia cada tal fonte. Leia-a para distinguir uma política que nunca alcançou a máquina de uma que alcançou e que uma fonte de prioridade mais alta substituiu. Requer Claude Code v2.1.242 ou posterior.
Quando a política não está sendo aplicada, a linha Setting sources diz qual de dois problemas você tem:
-
A linha está faltando: Claude Code não encontrou nenhuma fonte gerenciada que entregue uma chave de política.
Se você implantou um arquivo de configurações gerenciadas, verifique se ele fica no caminho para o SO e se contém uma chave de política em vez de apenas as chaves de controle. Um arquivo que não é JSON válido não produz este estado; Claude Code recusa iniciar em vez disso.
Quando você implantou através de configurações gerenciadas pelo servidor em vez disso, execute
claude doctor, que relata o resultado da busca. -
A linha nomeia uma fonte diferente da que você implantou: uma fonte de prioridade mais alta está presente e Claude Code ignorou a sua, e
Skipped sourcesa lista. Como Claude Code combina fontes gerenciadas fornece a ordem.
Encontrar entradas que Claude Code descartou
Se seu arquivo de configurações gerenciadas, perfil MDM, valor de registro ou payload gerenciado pelo servidor falhar na validação de esquema, Claude Code primeiro pula as entradas individuais que pode reparar, como uma regra de permissão inválida, e avisa sobre cada uma. Claude Code então descarta qualquer valor que ainda falha, a menos que o valor pertença a uma das chaves que falham fechadas em vez disso. Claude Code é mais rigoroso com omanagedSettings que um policyHelper emite: faz os mesmos reparos de entrada, mas qualquer violação de esquema que sobreviva falha a execução inteira do auxiliar, e na inicialização Claude Code recusa iniciar, o mesmo que para um auxiliar que sai com código diferente de zero.
Quando um arquivo de configurações gerenciadas, arquivo drop-in, plist MDM ou valor de registro HKLM está presente mas não pode ser analisado como um objeto JSON, Claude Code recusa iniciar e imprime um erro nomeando a fonte, mesmo quando outra fonte de administrador entrega uma política válida. Cada fonte falha desta forma quando:
- Arquivo de configurações gerenciadas ou arquivo drop-in: o arquivo não é JSON válido, ou seu nível superior não é um objeto
- Plist MDM: o
plutildo macOS relata o plist malformado, ou seu conteúdo convertido não é um objeto JSON - Valor de registro HKLM: o valor
Settingsnão é uma string, está vazio ou não contém um objeto JSON
- Um arquivo, perfil ou valor de registro ausente não é uma falha; Claude Code é executado sem essa fonte.
- Um arquivo de configurações gerenciadas vazio conta como
{}. - Um valor malformado na chave de registro HKCU gravável pelo usuário nunca bloqueia o lançamento. Claude Code o relata como um aviso em
/statuseclaude doctorem vez disso.
managed-settings.d/, perfil MDM ou valor de registro HKLM existe mas não pode ser lido, e nenhuma fonte de administrador fornece uma política, o que acontece depende do motivo da falha de leitura:
- Se o sistema operacional negou a leitura, por exemplo em um arquivo somente raiz, cada sessão inicia sem as políticas dessa fonte.
/statuseclaude doctorregistram a falha, e uma execução com-ptambém a imprime para stderr. - Para qualquer outra falha de leitura, como um erro de E/S, cada sessão sai na inicialização com uma mensagem para contatar um administrador.
- Sessões interativas mostram um diálogo na inicialização listando as entradas inválidas.
- Execuções não interativas com
-pimprimem um resumo para stderr. claude doctorlista cada entrada inválida com sua fonte e campo.
Chaves que falham fechadas
Quando uma fonte gerenciada define uma chave de nível superior que tem um único valor restritivo, comoallowManagedPermissionRulesOnly, disableAutoMode ou skipDangerousModePermissionPrompt, para algo que Claude Code não consegue ler, a chave lê como esse valor até você corrigi-la. O relatório diz que a chave was present but invalid e nomeia o valor que Claude Code trata como. Para uma chave dentro de sandbox, consulte Valores inválidos dentro de sandbox.
Estes casos não falham fechados:
- Um
nullremove a chave. - Um
disableAllHooksinválido, mesmo um booleano entre aspas, é descartado com um aviso, porque aplicartruetambém descarregaria os hooks que suas próprias configurações gerenciadas implantam. - Para cada outra chave booleana que a regra cobre, a string
"true"ou"false"lê como esse booleano, com um aviso em/statuspedindo que você remova as aspas.
permissions, autoMode, worktree e attribution por campo em vez de descartá-los inteiros:
- Um lock dentro de um, como
permissions.disableBypassPermissionsMode, lê como seu valor restritivo. - Um
permissions.defaultModeinválido lê comodefault. - Enquanto uma lista
denyouaskempermissionsnão puder ser lida, Claude Code retémalloweadditionalDirectories, portanto as concessões nunca se aplicam sem as restrições escritas ao lado delas. O relatório nomeia cada concessão retida e a lista que não pôde ser lida. - Em
autoMode, uma listasoft_denyouhard_denyque não puder ser lida, ou que perdeu uma entrada inválida, retémalloweenvironmentda mesma forma.
allowedHttpHookUrls e httpHookAllowedEnvVars mesclam entre arquivos de configurações, portanto entradas em suas configurações de usuário, projeto ou local ainda se aplicam enquanto a lista gerenciada está vazia.
Os fallbacks para essas duas chaves e para allowedChannelPlugins requerem Claude Code v2.1.267 ou posterior; versões anteriores descartam a chave inteira quando seu valor ou qualquer entrada é inválida. Os fallbacks para strictKnownMarketplaces e blockedMarketplaces requerem Claude Code v2.1.277 ou posterior; versões anteriores descartam a chave inteira quando seu valor ou qualquer entrada é inválida. Os fallbacks para strictPluginOnlyCustomization e enabledPlugins requerem Claude Code v2.1.282 ou posterior.
requiredMinimumVersion e requiredMaximumVersion falham abertos por design: um valor inválido é descartado em vez de ser aplicado.
Esta tolerância se aplica apenas a configurações gerenciadas. Arquivos de configurações de usuário, projeto e local permanecem rigorosos: um arquivo cuja JSON ou forma de nível superior falha na validação é rejeitado como um todo e relatado, e uma entrada individual que falha, como uma regra de permissão malformada, é pulada com um aviso enquanto o resto do arquivo se aplica.
Valores inválidos dentro de sandbox
Quando um valor em seu bloco sandbox gerenciado é inválido, Claude Code não descarta o bloco inteiro, porque valida cada campo por conta própria. Este tratamento por campo requer Claude Code v2.1.283 ou posterior. Em versões anteriores a v2.1.283, Claude Code descarta cada campo sandbox exceto credentials quando um valor fora de credentials é inválido.
O aviso que você recebe para um campo inválido nomeia o campo e diz o que acontece com ele. O que acontece depende do que o campo controla:
- Se você definir uma chave booleana para uma
"true"ou"false"entre aspas, o valor conta como esse booleano. Em vez de um aviso,/statusmostra um aviso pedindo que você remova as aspas. - Se
failIfUnavailablefor inválido, Claude Code descarta o valor em vez de tratá-lo comotrue, portanto um valor ilegível nunca interrompe sessões de inicialização em toda sua frota. - Claude Code trata cada outro booleano inválido como o valor que mantém o sandbox mais rigoroso até você corrigi-lo. Uma chave que ativa o sandbox ou uma de suas restrições, como
enabledounetwork.allowManagedDomainsOnly, conta comotrue. Uma chave que o afrouxe, comoallowUnsandboxedCommands, conta comofalse. - Em uma lista fora de
credentials, comoexcludedCommandsounetwork.allowedDomains, Claude Code descarta uma entrada inválida e mantém o resto da lista. Uma lista que não é um array, ou que não tem entrada válida, não se aplica. - Enquanto
network.deniedDomainsou qualquer entrada nela for inválida, Claude Code também retémnetwork.allowedDomains, portanto a allowlist gerenciada não concede nada até você corrigir a lista de negação. - Enquanto
filesystem.denyRead,filesystem.denyWriteou qualquer entrada em qualquer uma delas for inválida, Claude Code também retémfilesystem.allowReadefilesystem.allowWriteaté você corrigir a lista de negação.
Chaves que apenas uma fonte gerenciada pode definir
Claude Code lê as seguintes chaves apenas de uma fonte gerenciada; colocá-las em arquivos de configurações de usuário ou projeto não tem efeito. A maioria delas são bloqueios: o valor que um bloqueio governa, como regras de permissão ousandbox.network.allowedDomains, é uma chave ordinária que qualquer nível pode definir, e o bloqueio diz ao Claude Code para honrar apenas o valor gerenciado.
A tabela cobre os controles de permissão, plugin e entrega. Para qualquer chave não listada aqui, a coluna Escopo da referência de configurações diz se é apenas gerenciada.
Nos planos Team e Enterprise, um Owner ativa ou desativa o Remote Control e as sessões na nuvem em toda a organização nas configurações de administrador do Claude Code. Quando um Owner desativa o Remote Control, as sessões já conectadas que executam Claude Code v2.1.286 ou posterior também são desconectadas. Cada uma se desconecta na próxima vez que atualiza a política da sua organização, aproximadamente uma vez por hora. Para saber o que acontece nessas sessões, veja
Remote Control was turned off by your organization's policy.O Remote Control pode ser desativado adicionalmente por dispositivo com a configuração disableRemoteControl. As sessões na nuvem não têm chave de configurações gerenciadas por dispositivo.Para verificar se essas configurações de organização chegaram a uma determinada máquina, execute claude doctor lá e leia a linha Organization policy, que diz onde Claude Code carregou a política ou por que não carregou. Requer Claude Code v2.1.261 ou posterior. Em uma sessão em execução, /status mostra a mesma linha quando a política não foi carregada.Desativar telemetria para sua organização
Claude Code envia telemetria operacional da Anthropic por padrão em sessões que usam a API da Anthropic, seja diretamente, através de um gateway LLM ou através de umANTHROPIC_BASE_URL personalizado; Comportamentos padrão por provedor de API diz quais provedores a enviam. Para desativá-la para cada desenvolvedor sem depender da shell de cada pessoa, entregue DISABLE_TELEMETRY através do bloco env de suas configurações gerenciadas. Este exemplo define DISABLE_TELEMETRY para todos que a política alcança:
1 sem mostrar ao usuário o diálogo de aprovação.
Se você desativar a telemetria, Claude Code para de enviar os dados de uso que alimentam o painel de análise de sua organização para os desenvolvedores que a política alcança. A variável também desativa a busca de sinalizadores de recurso para esses desenvolvedores. Para Remote Control, consulte os requisitos do Remote Control.
Onde e quando uma política se aplica diz qual mecanismo de entrega alcança cada superfície, e Disponibilidade de plataforma diz quais sessões pulam a busca de configurações gerenciadas pelo servidor.
Se sua organização usa chaves de criptografia gerenciadas pelo cliente e roteia Claude Code através de um gateway, Configurar proxies e gateways diz por que essas sessões precisam dessa variável.
Veja também
- Configurar Claude Code para sua organização: decidir o que impor e como
- Configurações gerenciadas pelo servidor: entregar política do console claude.ai ou um gateway
- Configuração MCP gerenciada: controlar quais servidores MCP os desenvolvedores podem usar
- Todas as configurações: cada chave, com se uma fonte gerenciada pode defini-la
- Arquivos de configurações de exemplo: um
managed-settings.jsoncompleto mostrando a forma das chaves gerenciadas