~/.claude.json. Para escolher um arquivo ou verificar a precedência, comece com Arquivos de configurações e precedência.
Índice de configurações
Cada chave abaixo está vinculada à sua entrada. O escopo lista os arquivos em que pode estar:User é ~/.claude/settings.json, Project é .claude/settings.json, Local é .claude/settings.local.json, e Managed é o que sua organização implanta. Any file significa todos os quatro, e Global config significa ~/.claude.json.
Modelo e respostas
Escolha quais modelos o Claude Code usa e como ele responde. Para saber como essas configurações interagem com o comando/model e variáveis de ambiente, consulte Configuração de modelo.
advisorModel
Escolha qual modelo responde quando Claude chama a ferramenta advisor do lado do servidor. Deixe-a sem definir para desativar o advisor. O advisor deve ser pelo menos tão capaz quanto seu modelo principal. Consulte Escolha um modelo advisor para os emparelhamentos aceitos e o que acontece quando você escolhe um que não é aceito.
Você normalmente não edita essa chave manualmente. Execute /advisor para abrir um seletor que mostra a escolha atual, os modelos que podem aconselhar e Sem advisor. Claude Code salva sua escolha nessa chave em ~/.claude/settings.json. Se você escolher em um cliente Remote Control ou em uma sessão anexada a um worker remoto, a escolha se aplica apenas a essa sessão e não altera essa chave.
Se sua conta exigir o consentimento de créditos de uso, aceite-o primeiro executando /model fable. Até fazer isso, escolher Fable em /advisor não salva nada e Claude Code diz para executar /model fable primeiro.
- Escopo:
Qualquer arquivo - Tipo: string, um dos aliases
"fable","opus"ou"sonnet", que resolvem para a versão padrão atual do Claude Code dessa família de modelos, ou um ID de modelo completo como"claude-opus-5-5" - Padrão: sem definir, então o advisor está desativado
- Substituições por sessão:
--advisortem precedência sobre essa chave para uma sessão.CLAUDE_CODE_DISABLE_ADVISOR_TOOLdesativa o advisor, e essa chave não pode ativá-lo novamente
settings.json
"fable" requer acesso a Fable.
alwaysThinkingEnabled
Desative o pensamento estendido para cada sessão definindo isso como false. O pensamento está ativado por padrão, então true não muda nada. A maioria das pessoas define isso através de /config em vez de editar o arquivo.
Em modelos que sempre pensam, como Opus 5.5, Sonnet 5.5, Haiku 5.5 e os modelos Fable, false não tem efeito. Em provedores de terceiros, Claude Code omite o parâmetro thinking em vez de desativar o pensamento, então modelos de raciocínio adaptativo podem ainda pensar. Com o pensamento desativado na API Anthropic, Claude Code envia esforço high em vez de um nível superior para modelos que sabe não aceitam essa combinação, como Opus 5.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: sem efeito; o pensamento já está ativadofalse: Claude Code desativa o pensamento estendido para cada sessão
- Padrão: sem definir, então o pensamento está ativado para modelos que o suportam
- Substituições por sessão:
MAX_THINKING_TOKENStem precedência sobre essa chave para uma sessão:0desativa o pensamento, sob os mesmos limites de modelo e provedor quefalse, e um valor positivo ativa o pensamento mesmo quando essa chave éfalse. Em modelos de raciocínio adaptativo, o número em si é ignorado
settings.json
availableModels
Restrinja quais modelos as pessoas podem selecionar para a sessão principal, subagentes, skills e o advisor. Uma lista gerenciada restringe /model, --model e a chave model nos próprios arquivos de um desenvolvedor; um modelo fora dela não pode ser selecionado. Com a correspondência de prefixo padrão, isso não afeta a opção Padrão por si só; combine-o com enforceAvailableModels para isso.
- Escopo:
Qualquer arquivo. Implante-o em configurações gerenciadas para aplicá-lo a uma organização. - Tipo: array de aliases de modelo ou IDs
- Padrão: sem definir, então cada modelo está disponível
settings.json
"claude-opus-5" também permite versões posteriores que a estendem, como Opus 5.5. Para bloquear uma dessas versões, use deniedModels. Para fazer cada entrada de ID de modelo permitir apenas a versão que ela nomeia, use availableModelsMatch. Consulte Restrinja a seleção de modelo.
availableModelsMatch
Escolha como as entradas availableModels correspondem aos IDs de modelo. Por padrão, uma entrada de ID de modelo também permite versões posteriores que a estendem, então "claude-opus-5" permite Opus 5.5. Com "exact", cada entrada de ID de modelo permite apenas a versão que ela nomeia, então uma versão mais nova desse modelo permanece bloqueada até você listá-la. Requer Claude Code v2.1.283 ou posterior.
- Escopo:
Gerenciado. Claude Code ignora a chave em configurações de usuário, projeto e local e em--settings, com um aviso - Tipo: string, um de:
"prefix": uma entrada de ID de modelo permite sua versão e qualquer ID de modelo que a estenda com outro segmento"exact": uma entrada de ID de modelo permite apenas a versão que ela nomeia, incluindo os IDs datados dessa versão, então"claude-opus-5"permite Opus 5 mas nãoclaude-opus-5-5. Um alias de família como"opus"ainda permite toda a família, e entradasbest,opusplanedefaultsão ignoradas
- Padrão:
"prefix"
managed-settings.json
"exact", a opção Padrão também é limitada aos modelos listados sempre que a lista nomeia pelo menos um modelo ou família. Consulte Bloqueie modelos ou versões específicas.
deniedModels
Bloqueie modelos específicos, com ou sem uma lista de permissões availableModels e mesmo quando essa lista os permite. Claude Code oculta um modelo bloqueado do seletor /model, e o modelo não pode ser selecionado em nenhum lugar onde availableModels é aplicado. Uma sessão na opção Padrão também não executa um modelo bloqueado, como Bloqueie modelos ou versões específicas descreve. Requer Claude Code v2.1.283 ou posterior.
- Escopo:
Gerenciado. Claude Code ignora a chave em configurações de usuário, projeto e local e em--settings, com um aviso - Tipo: array de aliases de modelo ou IDs
- Um alias de família como
"opus"bloqueia cada modelo nessa família - Um ID de modelo como
"claude-opus-5-5"bloqueia essa versão em cada grafia, incluindo IDs datados e específicos do provedor - Um ID de modelo sem versão menor, como
"claude-opus-5", também bloqueia versões menores posteriores como Opus 5.5. Escreva"claude-opus-5-0"para bloquear apenas Opus 5 - Entradas
best,opusplanedefaultsão ignoradas
- Um alias de família como
- Padrão: sem definir, então nenhum modelo é bloqueado
managed-settings.json
effortLevel
Defina um nível de esforço padrão para modelos para os quais você não salvou um nível. Níveis mais baixos são mais rápidos e mais baratos em tarefas diretas, e níveis mais altos raciocinam mais profundamente em problemas complexos.
Quando você executa /effort low, medium, high ou xhigh em uma sessão interativa em sua máquina, Claude Code salva o nível para o modelo ativo em modelSettings em vez de escrever essa chave. Antes da v2.1.251, /effort escrevia essa chave.
Dentro do mesmo arquivo de configurações, Claude Code usa o nível salvo de um modelo em vez dessa chave. modelSettings indica a precedência entre arquivos.
Em uma sessão anexada a um worker remoto, em uma execução -p e no Agent SDK, /effort se aplica apenas a essa sessão. Ajuste o nível de esforço lista as escolhas interativas que também se aplicam apenas a essa sessão. A mensagem que /effort imprime diz qual aconteceu.
- Escopo:
Qualquer arquivo - Tipo: string, um de:
"low": o mínimo de raciocínio, para tarefas curtas, delimitadas, sensíveis à latência que não são sensíveis à inteligência"medium": reduz o uso de tokens para trabalho sensível a custos que pode fazer trade-off de alguma inteligência"high": equilibra o uso de tokens e inteligência"xhigh": raciocínio mais profundo com maior gasto de tokens
- Padrão: sem definir
- Substituições por sessão:
--efforttem precedência sobre essa chave para uma sessão, eCLAUDE_CODE_EFFORT_LEVELtem precedência sobre ambas
settings.json
~/.claude/settings.json, essa chave é a forma mais antiga que /effort escrevia antes de salvar níveis por modelo, e continua se aplicando onde se aplicava antes, em Opus 5, Fable 5.1 e modelos anteriores. Opus 5.5 e modelos lançados após ele a ignoram e começam em seu próprio padrão até você salvar um nível para eles, que /effort escreve em modelSettings. Em configurações de projeto, local e gerenciada, e com --settings, essa chave se aplica a cada modelo.
enforceAvailableModels
O seletor /model tem uma opção Padrão, e default model setting descreve o modelo ao qual ela resolve. Uma lista de permissões availableModels limita os modelos que você pode nomear, mas com a correspondência de prefixo padrão ela não remapeia o padrão do seu tipo de conta, então Padrão ainda pode resolver para um modelo fora da lista. Esta chave fecha essa lacuna. Requer Claude Code v2.1.175 ou posterior.
Quando sua organização implanta qualquer configuração gerenciada, Claude Code lê essa chave apenas da fonte gerenciada e a ignora em seus outros arquivos.
Para saber como essa chave se aplica às verificações de modelo na inicialização, consulte Amazon Bedrock e Agent Platform do Google Cloud.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: quando Padrão resolveria para um modelo fora deavailableModels, Claude Code o resolve para o primeiro modelo disponível na listafalse: esta chave não muda como Padrão resolve
- Padrão:
false
settings.json
availableModels está sem definir ou vazio. Consulte Aplique a lista de permissões ao modelo Padrão. Requer Claude Code v2.1.175 ou posterior.
fallbackModel
Nomeie modelos de backup para Claude Code tentar, em ordem, quando seu modelo principal está sobrecarregado ou indisponível. Claude Code muda para o próximo modelo disponível na cadeia para o resto da volta e mostra um aviso. Sem uma cadeia, Claude Code tenta novamente o mesmo modelo e depois exibe o erro do servidor, e você tenta novamente ou muda de modelos você mesmo.
Uma mudança significa uma volta com um cache de prompt frio no modelo de fallback; sua próxima mensagem tenta o modelo principal primeiro novamente.
- Escopo:
Qualquer arquivo - Tipo: array de aliases de modelo ou IDs;
"default"expande para o modelo padrão - Padrão: sem definir, então uma solicitação falhada não é tentada novamente em outro modelo
- Substituições por sessão:
--fallback-modeltem precedência sobre essa chave para uma sessão
settings.json
["claude-sonnet-5"] e seu arquivo de usuário define ["claude-haiku-4-5"], a cadeia é apenas ["claude-sonnet-5"]. Claude Code mantém no máximo três modelos distintos permitidos da lista e ignora o resto. Consulte Cadeias de modelo de fallback.
fastMode
Ative o modo rápido para sessões onde está disponível, para trabalho interativo como iteração rápida ou depuração ao vivo onde você quer velocidade a um custo mais alto por token. Você normalmente não edita essa chave manualmente: executar /fast escreve fastMode: true em ~/.claude/settings.json, e executá-lo novamente para desativar o modo rápido remove a chave. O modo rápido funciona apenas em Opus 5.5, Opus 5 e Opus 4.8: ativá-lo de outro modelo o muda para Opus, e mudar para um modelo não suportado o desativa. Consulte Mude de modelos enquanto o modo rápido está ativado.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: Claude Code ativa o modo rápido para sessões onde está disponívelfalse: o modo rápido permanece desativado
- Padrão: sem definir, então o modo rápido está desativado
- Substituições por sessão:
CLAUDE_CODE_DISABLE_FAST_MODEdesativa o modo rápido para uma sessão, e essa chave não pode ativá-lo novamente
settings.json
fastModePerSessionOptIn
Normalmente, executar /fast salva fastMode nas configurações de usuário de uma pessoa, então o modo rápido está ativado no início de cada sessão posterior. Defina essa chave como true para parar isso: um fastMode: true salvo não ativa mais o modo rápido no início da sessão, e cada pessoa tem que executar /fast em cada sessão que o quer. Claude Code deixa a chave fastMode em seu arquivo, então desativar essa chave restaura o comportamento antigo.
Proprietários em planos Team ou Enterprise podem implantá-lo em toda a organização através de configurações gerenciadas pelo servidor. Quando as configurações gerenciadas definem a chave, /fast on é recusado fora de sessões de terminal interativas e relata que sua organização desativou o modo rápido. Isso cobre modo não interativo, a extensão VS Code e sessões na nuvem.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: umfastMode: truesalvo não ativa mais o modo rápido no início da sessão, então cada pessoa executa/fastem cada sessão que o quer; umfastMode: truepassado com--settingsainda conta para essa sessão a menos que as configurações gerenciadas definam essa chavefalse: umfastMode: truesalvo ativa o modo rápido no início de cada sessão posterior
- Padrão:
false
settings.json
language
Faça Claude responder em um idioma diferente do inglês por padrão. Não há lista fixa para respostas: Claude Code passa o valor verbatim para Claude como uma instrução para sempre responder nesse idioma, então qualquer nome de idioma que Claude possa ler funciona. Claude Code não verifica o valor, então um nome digitado incorretamente chega a Claude como escrito em vez de produzir um erro. O mesmo valor define o idioma para ditado de voz, que tem uma lista fixa de idiomas de ditado suportados, e para títulos de sessão gerados automaticamente.
- Escopo:
Qualquer arquivo - Tipo: string, qualquer nome de idioma, como
"japanese","spanish"ou"french"; Claude Code não o valida - Padrão: sem definir; os títulos de sessão então correspondem ao idioma de sua conversa
settings.json
maxEffortLevel
Limite o nível de esforço que uma sessão pode usar, deixando níveis mais baixos disponíveis. Qualquer nível mais alto funciona no limite em vez disso, incluindo um de /effort, o seletor /model, --effort, CLAUDE_CODE_EFFORT_LEVEL, a frontmatter effort de uma skill ou subagente, ou o padrão do próprio modelo. Claude Code aplica o limite em si antes de cada solicitação, então ele se mantém em cada provedor, incluindo Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry. Requer Claude Code v2.1.267 ou posterior.
- Escopo:
Qualquer arquivo. Implante-o em configurações gerenciadas para aplicá-lo a uma organização. Quando vários escopos definem um limite, o mais baixo se aplica, então um limite definido em um escopo não pode ser aumentado de outro - Tipo: string, um de
"low","medium","high","xhigh"ou"max". Um valor"max"não define limite - Padrão: sem definir, então nenhum limite se aplica
- Limites por modelo: adicione
maxEffortLevelà entradamodelSettingsde um modelo. Essa entrada substitui essa chave apenas para o modelo dentro da fonte de configurações que define ambas, como suas configurações de usuário ou uma fonte gerenciada. Defina"max"lá para isentar o modelo do limite dessa fonte; Claude Code ainda aplica limites de outras fontes
medium e isenta Sonnet 4.6:
settings.json
model
Defina o modelo que cada nova sessão usa, então você não tem que escolher um com /model cada vez. Defini-lo aqui não o impede de mudar no meio da sessão. Se seu admin definiu um modelo padrão da organização para substituir a seleção do usuário, você obtém esse modelo mesmo quando define essa chave em configurações de usuário, projeto ou local.
- Escopo:
Qualquer arquivo - Tipo: string, um alias de modelo ou ID de modelo completo
- Padrão: sem definir, então Claude Code usa o modelo padrão de sua conta
- Substituições por sessão:
--modeltem precedência sobreANTHROPIC_MODEL, e ambos têm precedência sobre essa chave para uma sessão, incluindo sobre ummodelgerenciado; uma listaavailableModelsainda se aplica à escolha
settings.json
ANTHROPIC_DEFAULT_MODEL, que Claude Code usa apenas quando nada mais seleciona um modelo.
modelOverrides
Mapeie IDs de modelo Anthropic para IDs de modelo específicos do provedor, como ARNs de perfil de inferência do Amazon Bedrock. Cada entrada do seletor de modelo então usa seu valor mapeado ao chamar a API do provedor. Administradores usam isso em Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry para rotear cada versão de modelo para um perfil de inferência específico, nome de versão ou implantação para governança, alocação de custos ou roteamento regional.
- Escopo:
Qualquer arquivo - Tipo: objeto mapeando ID de modelo para ID de modelo do provedor
- Padrão: sem definir
settings.json
modelPicker
Liste os modelos que o seletor /model oferece, na ordem que você os escreve e sob rótulos que você escolhe, então o seletor lista os modelos que sua organização executa, após o lineup integrado ou em vez dele. O model de cada linha é tomado verbatim, então aceita qualquer coisa que --model aceita: um alias como opus, um ID de modelo Anthropic ou um ID de formato de provedor para Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry ou um gateway LLM. Requer Claude Code v2.1.242 ou posterior.
- Escopo:
Usuário ou gerenciado. Claude Code lê a chave de configurações gerenciadas,--settingse configurações de usuário, e a ignora em configurações de projeto e local para que um repositório que você clone não possa rotular novamente o seletor. O maior dos três que define a chave fornece todo o lineup, e Claude Code nunca combina lineups de duas fontes. - Tipo: objeto com um array
optionsde linhas e um BooleanreplaceBuiltInOptionsopcional - Padrão: sem definir, então o seletor mostra o lineup integrado
managed-settings.json
Campos para modelPicker
A chave leva dois campos, um para as linhas em si e outro para se elas substituem o lineup integrado ou o adicionam.
Uma entrada em
options também pode levar um behavesAs string opcional ao lado de seu model, que requer v2.1.257 ou posterior. Defina-o para o ID de um modelo que sua versão do Claude Code já conhece, como claude-opus-4-8, em uma entrada cujo model é mais novo que sua versão. Claude Code então aplica as capacidades e padrões de esforço desse modelo conhecido à entrada em vez de tratar seu modelo como desconhecido. O rótulo da entrada e o ID do modelo que Claude Code envia em solicitações não mudam.
Com replaceBuiltInOptions ativado, Claude Code oculta todas as outras linhas: o lineup integrado, as linhas que adiciona para entradas availableModels, os modelos que descoberta de gateway encontrou e ANTHROPIC_CUSTOM_MODEL_OPTION. Com ele desativado, Claude Code pula um modelo listado que o lineup integrado já cobre. Um rótulo muda o que o seletor mostra, não qual modelo Claude Code executa.
Uma lista de permissões availableModels ainda se aplica a essas linhas. Antes de adicionar um modelo listado à lista de permissões, leia Comportamento de mesclagem: um ID de modelo específico estreita a entrada curinga de sua família. Claude Code também verifica cada linha contra a sessão antes de mostrar o seletor:
- Descartada: uma linha que Claude Code não pode servir, como um modelo aposentado ou um modelo ao qual sua organização não tem acesso
- Acinzentada: uma linha que você não pode selecionar ainda, mostrada com o motivo
- Nenhuma linha sobrevive: Claude Code mantém o lineup integrado, filtrado pela lista de permissões como usual
modelPricing
Relate gastos nas taxas que sua organização paga em vez de preço de lista. Defina-o quando sua organização tem taxas contratadas, então os valores em dólares que os desenvolvedores veem correspondem à sua fatura. Claude Code aplica as taxas em /usage, a linha de status, o total_cost_usd do Agent SDK, o limite --max-budget-usd e a métrica de custo OpenTelemetry e eventos. Você fornece as taxas: Claude Code não as lê de seu contrato ou do Claude Console. Requer Claude Code v2.1.242 ou posterior.
- Escopo:
Gerenciado. Implante a chave através de configurações gerenciadas pelo servidor, uma política MDM, um arquivomanaged-settings.jsonou um auxiliar de política. Claude Code a ignora em configurações de usuário, projeto e local, em--settingse no Windows no registro HKCU gravável pelo usuário. Com configurações gerenciadas pelo servidor, cada sessão relata custos ao preço de lista até que a busca de configurações dessa sessão tenha confirmado a configuração. Um aplicativo host que incorpora Claude Code e defineCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTpode fornecer uma tabela própria através da opção SDKmanagedSettings, que Claude Code usa apenas quando nenhuma fonte gerenciada define a chave e apenas em Claude Code v2.1.246 ou posterior. - Tipo: objeto com um
multiplieropcional e um mapaoverridesopcional - Padrão: sem definir, então Claude Code relata preço de lista a menos que um aplicativo host forneça uma tabela
multiplier sozinho para um desconto fixo, overrides sozinho para taxas por modelo ou ambos.
Este exemplo define taxas contratadas para Sonnet 4.6 e depois reduz cada figura, a linha Sonnet incluída, em 15%:
managed-settings.json
multiplier acima de 1, até 10, para marcar cada figura para cima. Uma marcação requer Claude Code v2.1.271 ou posterior. Versões anteriores ignoram um multiplier acima de 1 com um aviso e mantêm o resto da configuração.
Para as etapas, incluindo como confirmar que as taxas estão em vigor, consulte Relate gastos em suas taxas contratadas.
Campos para modelPricing
Claude Code usa as taxas de uma linha exatamente como você as escreveu, sem adicionar a sobretaxa do modo rápido ou a taxa de inferência apenas para EUA. Se você também definir
multiplier, Claude Code a aplica no topo das taxas da linha. Claude Code descarta uma linha com uma taxa que não pode analisar ou um multiplier que não pode analisar e mantém o resto; consulte Corrija um arquivo de configurações quebrado.
Quais modelos uma linha modelPricing se aplica a
Claude Code decide quais modelos uma linha se aplica a partir da chave da linha:
- ID de um modelo integrado: uma chave que Claude Code usa para um modelo integrado, independentemente de essa chave ser o próprio ID do modelo, como
claude-sonnet-4-6, ou seu ID Bedrock, Agent Platform ou Foundry. Claude Code aplica a linha a cada ID de snapshot datado e ID específico do provedor desse modelo. - Qualquer outra chave: uma chave que não é o ID de um modelo integrado, como um alias de modelo de gateway. Claude Code aplica a linha apenas a esse ID. Quando um ID de modelo corresponde exatamente a uma de suas chaves e também se enquadra em uma linha com chave de ID de modelo integrado, Claude Code usa a correspondência exata.
- Um perfil de inferência de aplicação Bedrock: uma vez que Claude Code resolveu o perfil para o modelo ao qual roteia, através de seu mapa
modelOverridesou da buscabedrock:GetInferenceProfile, Claude Code aplica a linha desse modelo ao perfil.
modelSettings
Salve um nível de esforço para cada modelo que você usa. Requer Claude Code v2.1.251 ou posterior.
Em uma sessão interativa em sua máquina, quando você salva low, medium, high ou xhigh como seu padrão com /effort ou o controle deslizante de esforço do seletor /model, Claude Code escreve esse nível aqui sob o modelo que você está usando, então você raramente edita essa chave você mesmo. Quando você escolhe um desses níveis no seletor de modelo da extensão VS Code, Claude Code salva-o aqui da mesma forma. A entrada effortLevel lista as sessões onde /effort se aplica apenas a essa sessão.
Edite a chave manualmente para alterar ou remover um nível que você salvou.
Um effortLevel de um modelo aqui tem precedência sobre o effortLevel de nível superior no mesmo arquivo de configurações. Entre arquivos, Claude Code resolve cada modelo separadamente: o arquivo de configurações de maior precedência settings file que define um effortLevel para esse modelo ou o effortLevel de nível superior que se aplica a esse modelo decide, então um effortLevel em configurações gerenciadas supera um nível que você salvou em configurações de usuário. Ajuste o nível de esforço lista o que mais pode substituir um nível salvo, como --effort no lançamento.
Para limitar o esforço de um modelo em vez de definir seu nível, adicione um campo maxEffortLevel à entrada desse modelo. O campo requer Claude Code v2.1.267 ou posterior.
- Escopo:
Qualquer arquivo - Tipo: objeto mapeando um nome de modelo para um objeto com qualquer um destes campos:
effortLevel: um de"low","medium","high"ou"xhigh"maxEffortLevel: o nível de esforço mais alto em que o modelo pode ser executadoautoCompactWindow: um número de tokens de100000a1000000, ou"auto"para a janela ajustada para o modelo./autocompactsalva aqui. Para esse modelo, o valor tem precedência sobre umautoCompactWindowde nível superior no mesmo arquivo de configurações. Requer Claude Code v2.1.288 ou posterior
- Padrão: sem definir
claude-opus-5-5, e corresponde ao alias desse modelo, com sufixo de data, [1m] e IDs específicos do provedor reconhecidos à mesma entrada.
Este exemplo mantém Opus 5.5 em high enquanto outros modelos usam seus próprios níveis salvos ou padrão:
settings.json
/effort auto para limpar seu nível salvo para o modelo que você está usando. Claude Code deixa as outras entradas e qualquer effortLevel de nível superior em vigor.
outputStyle
Selecione um estilo de saída por nome. Um estilo de saída é um conjunto salvo de instruções que muda o papel, tom e formato de saída de Claude, como os estilos Explanatory e Learning integrados ou um que você escreveu você mesmo.
Se você alterar essa chave durante uma sessão, Claude usa o novo estilo começando com sua próxima mensagem. Para o que essa mensagem custa em cache de prompt, consulte Alterando estilo de saída. Antes da v2.1.251, a edição se aplicava apenas depois que você executava /clear ou iniciava uma nova sessão.
- Escopo:
Qualquer arquivo - Tipo: string, o nome de um estilo de saída integrado ou personalizado
- Padrão: sem definir, então Claude Code usa o estilo padrão
settings.json
promptCacheTtl
Escolha quanto tempo o cache de prompt mantém a conversa principal. Esta chave se aplica a suas voltas interativas, -p e Agent SDK, juntamente com os auxiliares que Claude Code executa inline com elas. A vida útil de uma hora mantém o cache aquecido entre pausas mais longas, e a API cobra cada gravação de cache a uma taxa mais alta do que na vida útil de cinco minutos. Requer Claude Code v2.1.242 ou posterior.
- Escopo:
Qualquer arquivo - Tipo: string, um de:
"5m": o cache se mantém por cinco minutos"1h": o cache se mantém por uma hora
- Padrão: sem definir, então cada solicitação de conversa principal obtém sua vida útil padrão
- Substituições por sessão:
FORCE_PROMPT_CACHING_5Mtem precedência sobre tudo mais, depoisCLAUDE_CODE_PROMPT_CACHE_TTL, depois essa chave e por últimoENABLE_PROMPT_CACHING_1H
settings.json
showThinkingSummaries
Veja resumos do pensamento estendido de Claude em sessões interativas. Defina-o se você quer os resumos completos quando expande o pensamento com Ctrl+O. Quando sem definir ou false, a API Anthropic redige blocos de pensamento e Claude Code mostra um stub recolhido; provedores de terceiros não redagem.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: você vê resumos completos de pensamento quando expande o pensamento comCtrl+Ofalse: a API Anthropic redige blocos de pensamento e Claude Code mostra um stub recolhido
- Padrão:
false
settings.json
subagentPromptCacheTtl
Escolha quanto tempo o cache de prompt mantém as solicitações que Claude Code faz fora da conversa principal. Esta chave se aplica a subagentes, workflows e as próprias solicitações de background e auxiliar de Claude Code, como compactação e títulos de sessão. A vida útil de uma hora mantém o cache aquecido entre pausas mais longas, e a API cobra cada gravação de cache a uma taxa mais alta do que na vida útil de cinco minutos. Requer Claude Code v2.1.242 ou posterior.
- Escopo:
Qualquer arquivo - Tipo: string, um de:
"5m": o cache se mantém por cinco minutos"1h": o cache se mantém por uma hora
- Padrão: sem definir, então cada uma dessas solicitações obtém sua vida útil padrão
- Substituições por sessão:
FORCE_PROMPT_CACHING_5Mtem precedência sobre tudo mais, depoisCLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL, depois essa chave, depoisENABLE_PROMPT_CACHING_1H, que pede a vida útil de uma hora em cada solicitação. Para onde o valor de frontmatter próprio de um subagente se classifica, consulte Escolha o TTL você mesmo
settings.json
promptCacheTtl não cobre, então defina ambas para escolher uma vida útil para cada solicitação que Claude Code faz. Para como o cache de um subagente difere do cache da conversa principal, consulte Subagentes e o cache.
switchModelsOnFlag
Escolha o que acontece quando um classificador de segurança sinaliza uma solicitação: mude para o modelo de fallback e continue, ou pause para que você possa escolher entre mudar e editar o prompt.
- Escopo:
Qualquer arquivo. Aparece em/configcomo Switch models when a message is flagged, com as opções Switch automatically e Ask each time. - Tipo: Boolean
true: Claude Code muda para o modelo de fallback e continuafalse: em uma sessão interativa Claude Code pausa para que você possa escolher entre mudar e editar o prompt; onde nenhum diálogo pode mostrar, como uma execução-p, a solicitação sinalizada termina como um erro
- Padrão: sem definir. Claude Code muda automaticamente, embora possa perguntar primeiro em uma sessão interativa
settings.json
ultracode
Inicie sessões com ultracode ativado. Com ele ativado, Claude planeja um workflow para cada tarefa substancial em vez de esperar você pedir. Claude planeja workflows apenas quando workflows dinâmicos estão habilitados para você e seu modelo suporta esforço xhigh. A chave não muda o nível de esforço da sessão: ultracode funciona em qualquer nível que a sessão usa. Claude Code lê essa chave mas nunca a escreve: /effort ultracode ativa ultracode apenas para a sessão atual.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: sessões começam com ultracode ativado quando workflows dinâmicos estão habilitados para você e seu modelo suportaxhighfalse: sessões começam com ultracode desativado
- Padrão: sem definir, então ultracode está desativado
- Substituições por sessão:
/effort ultracodeativa ultracode para uma sessão sem essa chave, e/effort ultracode offo desativa para uma sessão quando essa chave étrue. O sinalizador--effort ultracodetambém o ativa para uma sessão, em esforçoxhigh, e requer Claude Code v2.1.203 ou posterior
settings.json
effortLevel, modelSettings e as outras fontes de esforço, e um limite de esforço como maxEffortLevel reduz esse nível sem desativar ultracode. Isso e a forma /effort ultracode off requerem Claude Code v2.1.284 ou posterior. Antes da v2.1.284, ultracode: true executava a sessão em esforço xhigh, e um limite de esforço abaixo de xhigh mantinha ultracode desativado. Uma solicitação de controle apply_flag_settings do Agent SDK também aceita a chave.
Configurações de permissão
Decida o que Claude pode fazer sem perguntar, em qual modo de permissão uma sessão começa e o que o classificador do modo automático permite. Para a sintaxe de regras e o modelo de permissão, consulte Configurar permissões.allowManagedPermissionRulesOnly
Torne as configurações gerenciadas a única fonte de regras de permissão. Claude Code então ignora as regras allow, ask e deny em arquivos de usuário, projeto, local e --settings, ignora --allowedTools, oculta as opções de sempre permitir nos prompts de permissão e para de salvar novas regras.
Quando configurações pai de um host de incorporação se aplicam, Claude Code as trata como parte da camada gerenciada. Ele descarta suas regras allow e additionalDirectories, e mantém suas regras deny e ask exceto regras Read e Edit cujo padrão começa com !. Um host não pode esculpir caminhos fora das regras gerenciadas com uma regra !, independentemente de você definir esta chave.
As regras --disallowedTools e as regras deny e ask da sessão atual ainda se aplicam, inclusive após Claude Code recarregar as configurações no meio da sessão. Elas apenas restringem, portanto não podem ampliar o que as regras gerenciadas concedem. Antes da v2.1.257, Claude Code descartava essas regras de linha de comando e de sessão no primeiro recarregamento de configurações.
Para o que um padrão ! em uma regra --disallowedTools ou de sessão pode esculpir, consulte Regras Read e Edit.
Quando você define esta chave, Claude Code v2.1.282 ou posterior também ignora o frontmatter allowed-tools em skills e arquivos .claude/commands/ destas fontes:
- O diretório
.claude/de um repositório - Seus diretórios
~/.claude/skills/e~/.claude/commands/, incluindo skills sincronizadas do claude.ai - Um diretório
--add-dir - Plugins declarados com um manifesto
.claude-plugindentro de~/.claude/skills/ou do.claude/skills/do projeto
allowed-tools. O disallowed-tools de uma skill ainda se aplica. Para o que um desenvolvedor vê quando Claude Code ignora o campo, consulte Quando apenas regras de permissão gerenciadas se aplicam.
- Escopo:
Managed - Tipo: Booleano
true: as configurações gerenciadas se tornam a única fonte de regras de permissãofalse: Claude Code aplica regras de permissão de arquivos de usuário, projeto, local e--settingsalém das gerenciadas
- Padrão: não definido, portanto Claude Code aplica regras de permissão de configurações de usuário, projeto e local e de
--settings, além das gerenciadas
managed-settings.json
allowManagedMcpServersOnly. Consulte Configurações apenas gerenciadas.
autoMode
Adicione suas próprias regras ao que o classificador do modo automático bloqueia e permite. Use-o para informar ao classificador quais repositórios, buckets e domínios sua organização confia, para que ele pare de bloquear operações internas rotineiras. O classificador é fornecido com regras de permissão e bloqueio integradas. Inclua a string literal "$defaults" em um array para manter essas regras integradas nessa posição e adicione as suas ao redor; deixe-a de fora para substituí-las pelas suas.
- Escopo:
User or managed - Tipo: objeto com arrays
environment,allow,soft_denyehard_denyde regras em prosa, mais o BooleanoclassifyAllShell - Padrão: não definido, portanto o classificador usa apenas suas regras integradas
soft_deny integradas, através de "$defaults", e adiciona uma mais que bloqueia terraform apply:
settings.json
autoMode.classifyAllShell
Envie cada comando Bash e PowerShell através do classificador do modo automático enquanto o modo automático está ativo. Por padrão, o modo automático suspende apenas regras de permissão que poderiam executar código arbitrário: regras de ferramenta inteira e curinga como Bash(*), e prefixos de interpretador ou wrapper de shell como Bash(python *). Um comando que qualquer outra regra de permissão corresponde, como Bash(npm test), pula o classificador a menos que ele carregue domínios permitidos por comando. Quando pula, um argumento destrutivo que o prefixo da regra não antecipou pode passar despercebido. Definir esta chave suspende cada regra de shell de permissão para a sessão para que o classificador veja cada comando. Requer Claude Code v2.1.193 ou posterior.
- Escopo:
User or managed. Leia ondeautoModeé lido. - Tipo: Booleano
true: enquanto o modo automático está ativo, Claude Code envia cada comando Bash e PowerShell através do classificador e suspende suas regras de shell de permissão; fora do modo automático as regras ainda se aplicamfalse: o modo automático suspende apenas regras de permissão que poderiam executar código arbitrário, comoBash(*)eBash(python *); um comando que qualquer outra regra de permissão corresponde pula o classificador a menos que ele carregue domínios permitidos por comando, e cada outro comando de shell passa por ele
- Padrão:
false
settings.json
disableAutoMode
Remova o modo automático do ciclo Shift+Tab. Qualquer sessão que de outra forma começaria em modo automático, seja de --permission-mode auto, um arquivo de configurações ou o padrão integrado, começa em default em vez disso. Administradores o definem em configurações gerenciadas para impedir que desenvolvedores em sua organização usem o modo automático.
- Escopo:
Any file. Mais útil em configurações gerenciadas, onde os usuários não podem substituí-lo. Também aceito sobpermissionscomopermissions.disableAutoMode. - Tipo: a string
"disable" - Padrão: não definido
settings.json
permissions
Controle quais ferramentas Claude pode usar sem perguntar, quais sempre solicitam e quais são bloqueadas, e defina o modo de permissão em que uma sessão começa. Cada chave permissions.* abaixo se aninha sob este objeto.
- Escopo:
Any file - Tipo: objeto com
allow,ask,deny,additionalDirectories,blockReadsOutsideWorkingDirectories,defaultMode,disableBypassPermissionsModeedisableAutoMode - Padrão: não definido
npm run sem perguntar, solicita antes de git push, bloqueia leituras de .env e inicia sessões em acceptEdits:
settings.json
permissions.allow. Para como as regras de permissão de diferentes arquivos se combinam, consulte como as regras de permissão se mesclam entre escopos; para como as chaves de configurações em geral se combinam, consulte Precedência de configurações no guia de configurações.
useAutoModeDuringPlan
Escolha se Claude Code usa o classificador do modo automático para revisar comandos de shell no modo de planejamento. Com o padrão true, o classificador revisa cada comando durante o planejamento quando o modo automático está disponível e você não vê nenhum prompt, exceto para remoções de caminho crítico. Defina false para obter um prompt de permissão para cada comando fora do conjunto integrado somente leitura. Aparece em /config como Use auto mode during plan.
- Escopo:
User, local, or managed. Um repositório não pode desativá-lo para você. - Tipo: Booleano
true: o mesmo que não definido; quando o modo automático está disponível, o classificador revisa cada comando de shell durante o planejamento em vez de solicitar a você, exceto remoções de caminho crítico. Umfalseem qualquer um desses arquivos ainda o desativafalse: você obtém um prompt de permissão para cada comando fora do conjunto integrado somente leitura
- Padrão:
true
settings.json
permissions.allow
Liste os usos de ferramentas que Claude Code aprova sem perguntar a você. Em uma regra MCP, * pode aparecer apenas no nome da ferramenta após o prefixo mcp__<server>__, como mcp__github__get_*; não pode aparecer no nome do servidor.
- Escopo:
Any file - Tipo: array de strings de regra de permissão
- Padrão: não definido
- Substituições por sessão:
--allowedToolsadiciona regras de permissão para uma sessão, e uma regra de bloqueio de qualquer arquivo de configurações ainda bloqueia uma ferramenta que ela nomeia
git diff e permite que Claude Code leia seu .zshrc sem perguntar:
settings.json
allow do .claude/settings.json de um projeto apenas depois que você aceita o diálogo de confiança do workspace para essa pasta.
Sintaxe de regra de permissão
As regras de permissão seguem o formatoTool ou Tool(specifier). Claude Code avalia as regras deny primeiro, depois ask, depois allow, e a primeira correspondência decide independentemente de quão específica cada regra é; consulte a ordem de avaliação de regra de permissão.
Cada linha mostra uma forma de regra e o que ela corresponde.
Para a sintaxe de regra completa, incluindo comportamento de curinga, padrões específicos de ferramenta para Read, Edit, WebFetch, MCP e regras de Agent, e as limitações de segurança de padrões Bash, consulte Sintaxe de regra de permissão.
permissions.ask
Liste os usos de ferramentas que solicitam sua confirmação mesmo em um modo de permissão que de outra forma os aprovaria, como acceptEdits ou bypassPermissions. No modo dontAsk, Claude Code nega um uso de ferramenta correspondente em vez de solicitar.
- Escopo:
Any file - Tipo: array de strings de regra de permissão
- Padrão: não definido
settings.json
permissions.deny
Liste os usos de ferramentas que Claude Code bloqueia. Use-o para arquivos que contêm chaves de API, segredos ou valores de ambiente: Claude Code exclui arquivos correspondentes da descoberta de arquivos e resultados de pesquisa, nega leituras deles e bloqueia as ferramentas Edit e Write nos caminhos correspondentes.
As regras de bloqueio Read e Edit se aplicam às ferramentas de arquivo integradas de Claude, aos comandos de arquivo que Claude Code reconhece em Bash, como cat, head, tail, sed e tee, e aos destinos de redirecionamentos de Bash como > file e < file; elas não se aplicam a um comando que lê arquivos sem nomeá-los, como grep -r pattern ., ou a subprocessos arbitrários, portanto para aplicação em nível de SO ative o sandbox.
- Escopo:
Any file - Tipo: array de strings de regra de permissão
- Padrão: não definido
- Substituições por sessão:
--disallowedToolsadiciona regras de bloqueio para uma sessão ao lado desta chave
.env, o diretório secrets e um arquivo de credenciais, e bloqueia comandos curl:
settings.json
"*" nega cada ferramenta e "mcp__*" nega cada ferramenta MCP. Claude Code ignora uma regra de bloqueio para a ferramenta EndConversation enquanto qualquer outra ferramenta ainda estiver disponível para Claude. Uma regra de bloqueio Bash corresponde ao comando como Claude o escreve, portanto Bash(curl *) não para /usr/bin/curl ou sh -c 'curl …'; consulte o que uma regra Bash não corresponde. Esta chave substitui a configuração ignorePatterns descontinuada.
permissions.additionalDirectories
Dê a Claude acesso a arquivos em diretórios fora do que você começou, como diretórios de trabalho adicionais. A maioria da configuração .claude/ não é descoberta desses diretórios.
- Escopo:
Any file, com limites no acesso de gravação do sandbox que as entradas de projeto e local concedem - Tipo: array de caminhos de diretório
- Padrão: não definido
- Substituições por sessão:
--add-dire/add-diradicionam diretórios para uma sessão ao lado desta chave
settings.json
allow, as entradas no .claude/settings.json de um projeto entram em vigor apenas depois que você aceita o diálogo de confiança do workspace para essa pasta.
permissions.blockReadsOutsideWorkingDirectories
Faça as ferramentas de arquivo de Claude recusarem leituras fora dos diretórios de trabalho em cada modo de permissão, incluindo bypassPermissions. Claude Code nega chamadas Read, Grep, Glob e LSP nesses caminhos e diz a Claude para pedir que você adicione o diretório com /add-dir. Arquivos que Claude Code em si precisa permanecem legíveis, como suas skills, plugins, regras, agentes, comandos e o arquivo de memória CLAUDE.md sob ~/.claude/. Requer Claude Code v2.1.257 ou posterior.
Claude Code não recusa comandos de shell da mesma forma:
- Ações que nenhum modo aprova automaticamente cobre quando um comando de shell que lê tal caminho solicita a você
- Comandos em sandbox sob o bloqueio cobre o que um comando em sandbox pode ler
bypassPermissions. O prompt aparece mesmo quando o comando não nomeia nenhum caminho fora dos diretórios de trabalho. Este prompt não se aplica quando o comando é executado no sandbox e o sandbox aplica o bloqueio.
Claude Code também escreve true aqui quando você escolhe bloquear tais leituras no prompt do modo automático antes da primeira leitura fora dos diretórios de trabalho.
- Escopo:
Any file. Umtrueem qualquer arquivo se aplica, portanto um repositório pode ativar o bloqueio para si mesmo, mas não pode levantar o seu. - Tipo: Booleano
true: as ferramentas de arquivo de Claude recusam leituras fora dos diretórios de trabalhofalse: o mesmo que não definido; o bloqueio ainda se aplica se outro arquivo definirtrue
- Padrão: não definido, portanto leituras fora dos diretórios de trabalho seguem seu modo de permissão
settings.json
--add-dir, /add-dir ou additionalDirectories em suas configurações de usuário ou gerenciadas contam como diretórios de trabalho para o bloqueio. Diretórios adicionados apenas em configurações de repositório não contam: aqueles em .claude/settings.json e aqueles em .claude/settings.local.json a menos que git relate esse arquivo como não rastreado. Em um diretório que não é um repositório git, ou quando git rastreia o arquivo, Claude Code trata .claude/settings.local.json como configurações de repositório, portanto coloque diretórios que você quer manter legíveis em suas configurações de usuário em vez disso.
Quando autoMemoryDirectory vem do .claude/settings.json do projeto, ou de um .claude/settings.local.json tratado como fornecido pelo repositório, Claude Code não carrega nenhuma memória automática desse diretório e não salva nenhuma nele.
Para levantar o bloqueio, remova a chave de cada arquivo de configurações que a define, depois inicie uma nova sessão.
Comandos em sandbox sob o bloqueio
Quando sandboxing está ativado, o bloqueio também cobre comandos em sandbox. Claude Code nega a eles acesso de leitura ao seu diretório pessoal e às outras raízes que contêm arquivos de usuário:/Users, /home, /root, /Volumes, /mnt, /media, /run/media e /srv. Ele então reabre os diretórios de trabalho, worktrees que Claude Code cria na sessão, o diretório temporário da sessão e as partes de ~/.claude que os comandos precisam, como skills e plugins. Enquanto o bloqueio está em vigor, entradas allowRead e allowWrite de configurações de repositório não contam.
Quando o diretório de trabalho da sessão é um git worktree vinculado, incluindo um que Claude Code entrou no meio da sessão, o diretório .git comum do repositório permanece legível e gravável para comandos em sandbox, para que o git continue funcionando lá.
Nestes casos o bloqueio não alcança comandos em sandbox, enquanto as ferramentas de arquivo de Claude continuam aplicando-o:
- O isolamento do sistema de arquivos está desativado através de
sandbox.filesystem.disabled allowManagedReadPathsOnlyestá definido- O caminho do diretório em que você iniciou Claude Code contém um caractere glob como
*,?ou[
git mantenha sua identidade e configurações:
~/.gitconfig- Os arquivos
config,ignoreeattributessob$XDG_CONFIG_HOME/git, que padrão para~/.config/git - Arquivos que sua configuração git global nomeia através de
[include],[includeIf],core.excludesFileoucore.attributesFile
git então é executado sem ele. ~/.git-credentials e $XDG_CONFIG_HOME/git/credentials permanecem bloqueados.
Se um arquivo reaberto contém um segredo, como um token http.extraHeader, adicione seu caminho a sandbox.filesystem.denyRead. Uma entrada denyRead que cobre um arquivo sempre tem precedência sobre esta reabertura.
permissions.defaultMode
Defina o modo de permissão em que novas sessões começam. Quando você deixa não definido, as sessões começam no padrão integrado para sua superfície.
- Escopo:
Any file.autoebypassPermissionsnão entram em vigor a partir de configurações de projeto ou local, portanto defina-os em~/.claude/settings.jsonem vez disso. Antes da v2.1.257,bypassPermissionsentrava em vigor a partir de qualquer arquivo. Para conversas que a extensão VS Code inicia, Claude Code lê apenas valores de usuário, gerenciados e--settings. - Tipo: string, uma de:
"default": Claude Code executa apenas leituras sem perguntar"acceptEdits": Claude Code também executa edições de arquivo e comandos comuns do sistema de arquivos comomkdiremvsem perguntar"plan": Claude Code lê e planeja, mas bloqueia edições até que você aprove um plano"auto": Claude Code executa sem prompts rotineiros; antes de ações como comandos de shell e requisições de rede serem executadas, um classificador em segundo plano verifica se elas se alinham com sua solicitação"dontAsk": Claude Code nega automaticamente cada chamada que de outra forma solicitaria; leituras, outras ações que não precisam de aprovação e ferramentas pré-aprovadas ainda são executadas"bypassPermissions": Claude Code executa tudo sem perguntar"manual": um alias para"default"
- Padrão: não definido
- Substituições por sessão:
--permission-modee seu equivalente--dangerously-skip-permissionsparabypassPermissionstêm precedência sobre esta chave para uma sessão
settings.json
deny bloqueiam em cada modo, incluindo bypassPermissions. Consulte Modos de permissão. Em sessões na nuvem, Claude Code honra apenas acceptEdits, plan, default e auto desta chave. Para conversas que a extensão VS Code inicia, consulte qual configuração a extensão lê para o modo de permissão inicial.
permissions.disableBypassPermissionsMode
Impeça que qualquer pessoa entre no modo bypassPermissions. Claude Code então rejeita a flag --dangerously-skip-permissions e ignora uma definição de agente permissionMode: bypassPermissions, portanto o subagente é executado com o modo de permissão da sessão pai.
- Escopo:
Any file. Normalmente definido em configurações gerenciadas para aplicar a política organizacional. - Tipo: a string
"disable" - Padrão: não definido
- Substituições por sessão: esta chave tem precedência sobre
--dangerously-skip-permissions, que Claude Code rejeita enquanto a chave está definida
settings.json
skipAutoPermissionPrompt
Pule o aviso único descrevendo o modo automático que Claude Code mostra quando você entra no modo automático pela primeira vez, por exemplo através de suas próprias configurações ou do seletor de modo, em vez de quando o padrão integrado inicia uma sessão nele. Claude Code mostra esse aviso uma vez e depois registra que foi mostrado, portanto esta chave só importa onde o aviso ainda não apareceu.
- Escopo:
User or managed. Um repositório não pode defini-lo para você. - Tipo: Booleano
true: Claude Code pula o avisofalse: o mesmo que não definido; o aviso aparece uma vez a menos que outro desses arquivos definatrue
- Padrão: não definido, portanto o aviso aparece uma vez
settings.json
skipDangerousModePermissionPrompt
Pule o diálogo de confirmação que Claude Code mostra antes de uma sessão entrar no modo bypassPermissions, seja de --dangerously-skip-permissions ou de defaultMode: "bypassPermissions". Claude Code escreve true aqui em suas configurações de usuário quando você aceita esse diálogo uma vez.
- Escopo:
User, local, or managed. Um repositório não confiável não pode pular o diálogo para você. - Tipo: Booleano
true: Claude Code pula o diálogo de confirmação antes de uma sessão entrar no modobypassPermissionsfalse: o mesmo que não definido; o diálogo aparece a menos que outro desses arquivos definatrue
- Padrão: não definido, portanto o diálogo aparece
settings.json
Configurações de sandbox
Isole os comandos que Claude executa do seu sistema de arquivos, da sua rede e das suas credenciais. Para saber como o sandboxing funciona e os requisitos de plataforma, consulte Sandboxing.sandbox
Isole os comandos Bash que Claude executa do seu sistema de arquivos e rede com sandboxing. Ative o sandbox com enabled, depois restrinja ou amplie o que os comandos em sandbox podem acessar com os sub-objetos filesystem, network e credentials. O sandbox é executado em macOS, Linux e WSL2.
- Scope:
Any file - Type: object com
enabled,failIfUnavailable,autoAllowBashIfSandboxed,excludedCommands,allowUnsandboxedCommands,enableWeakerNestedSandbox,enableWeakerNetworkIsolation,allowAppleEvents,bwrapPath,socatPath,ignoreViolationseripgrep, além dos objetosfilesystem,networkecredentials - Default: não definido, então Claude Code executa comandos sem sandbox
docker fora do sandbox, abre dois caminhos de escrita extras, oculta seu arquivo de credenciais AWS e pré-autoriza GitHub e npm:
settings.json
enabled ou failIfUnavailable, esse valor sobrescreve qualquer coisa que um desenvolvedor defina. Claude Code mescla chaves de array em todos os escopos de configurações que a sessão carrega, então um desenvolvedor pode anexar entradas; consulte Keep developers from widening the policy para os bloqueios somente gerenciados. Para exigir o sandbox para uma organização, consulte Enforce sandboxing with managed settings.
sandbox.enabled
Ative sandboxing para comandos Bash. Quando você escolhe um modo no painel /sandbox, Claude Code escreve essa chave em .claude/settings.local.json para o projeto atual; defina-a em ~/.claude/settings.json para fazer sandbox em todos os projetos.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: Boolean
true: Claude Code faz sandbox dos comandos Bashfalse: Comandos Bash são executados sem sandbox
- Default:
false
settings.json
bubblewrap e socat; consulte Set up Linux and WSL2. Quando o sandbox não consegue iniciar, Claude Code executa comandos sem sandbox, a menos que você também defina failIfUnavailable.
sandbox.failIfUnavailable
Faça Claude Code sair com um erro na inicialização quando sandbox.enabled é true mas o sandbox não consegue iniciar, porque uma dependência está faltando ou a plataforma não é suportada. Sem essa chave, Claude Code executa comandos sem sandbox. Implantações gerenciadas que exigem sandboxing como uma barreira de segurança podem usar essa configuração.
Em uma plataforma que o sandbox não suporta, Claude Code não inicia com essa chave ativada. Consulte Enforce sandboxing with managed settings.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: Boolean
true: Claude Code sai com um erro na inicialização quandosandbox.enabledétruemas o sandbox não consegue iniciarfalse: Claude Code executa comandos sem sandbox quando o sandbox não consegue iniciar
- Default:
false
managed-settings.json
sandbox.autoAllowBashIfSandboxed
Deixe Claude Code executar comandos Bash em sandbox sem um prompt de permissão. Comandos que não conseguem ser executados no sandbox ainda passam pelo fluxo de permissão regular, e regras deny e regras ask com escopo de conteúdo como Bash(git push *) ainda se aplicam; uma regra ask Bash simples é ignorada para comandos em sandbox. Defina-o como false para enviar comandos em sandbox também pelo fluxo de permissão regular, que a aba Mode do /sandbox chama modo de permissões regular.
- Scope:
Any file - Type: Boolean
true: Claude Code executa comandos Bash em sandbox sem um prompt de permissão, sujeito a regrasdenye regrasaskcom escopo de conteúdo;CLAUDE_CODE_SUBPROCESS_ENV_SCRUBdesativa a auto-autorizaçãofalse: comandos em sandbox passam pelo fluxo de permissão regular, então suas regras de autorização e modo de permissão decidem. A aba Mode do/sandboxchama isso modo de permissões regular
- Default:
true
settings.json
sandbox.excludedCommands
Nomeie comandos que Claude Code executa fora do sandbox, como ferramentas que não funcionam sob ele. Cada entrada usa a mesma sintaxe do conteúdo de uma regra de permissão Bash(...): um comando exato, um prefixo como docker * ou um padrão curinga. Um padrão sem curinga é uma correspondência exata, então docker corresponde apenas a docker sem argumentos.
Suas entradas tiram uma chamada Bash do sandbox apenas quando cobrem cada comando nela, e algumas formas de chamada permanecem em sandbox mesmo assim. Uma entrada docker * sozinha não tira npm ci && docker build . do sandbox.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: array de padrões de comando
- Default: não definido, então nenhum comando é excluído
settings.json
- Um comando começando com
sudo,evalouxargs - Um
cd,pushdoupopd, onde quer que apareça na chamada - Uma substituição de comando, um subshell ou um bloco de fluxo de controle como
ifoufor - Um redirecionamento, como
docker build . > build.log, outro que não apenas duplica um descritor de arquivo, como2>&1faz - Um nome de comando que vem de uma variável
- Um
git clone,git init,git worktree add,git worktree moveougit bundle createcom um argumento de caminho que é absoluto, começa com~ou contém um segmento..
cd build && docker compose up permanece em sandbox sob uma entrada docker *, e adicionar uma entrada cd não muda isso. Sob uma entrada git *, git clone <url> vendor/lib é executado fora do sandbox, mas git clone <url> ~/tools permanece em sandbox. Um clone escreve uma árvore inteira de arquivos, possivelmente executáveis, onde quer que seu caminho de destino aponte.
Comandos excluídos ainda passam pelo fluxo de permissão regular. Exclusão é uma conveniência, não uma barreira de segurança: quando uma ferramenta só precisa escrever em algum lugar específico, filesystem.allowWrite a mantém em sandbox.
Entradas dos escopos de configurações que a sessão carrega se combinam em uma única lista, a menos que o sandbox seja exigido pelo administrador. Enquanto for, Claude Code ignora entradas em .claude/settings.json e .claude/settings.local.json, para que um repositório clonado não possa tirar comandos do sandbox. Entradas em configurações gerenciadas, --settings e seu ~/.claude/settings.json ainda se aplicam, e nenhum bloqueio somente gerenciado cobre essa lista.
sandbox.allowUnsandboxedCommands
Deixe Claude tentar novamente um comando fora do sandbox com o parâmetro dangerouslyDisableSandbox depois que o sandbox o bloqueia. Quando é false, Claude Code ignora esse parâmetro. Enquanto o sandbox está em execução, os comandos que Claude executa ficam então em sandbox, a menos que correspondam a uma entrada de excludedCommands. A aba Overrides do /sandbox mostra esse estado como Strict sandbox mode. Um false em configurações gerenciadas ativa o modo de sandbox rigoroso para os desenvolvedores que elas cobrem.
- Scope:
Any file, com um limite em configurações de projeto e locais - Type: Boolean
true: Claude pode tentar novamente um comando fora do sandbox com o parâmetrodangerouslyDisableSandboxdepois que o sandbox o bloqueiafalse: Claude Code ignora esse parâmetro, então, enquanto o sandbox está em execução, os comandos que Claude executa ficam em sandbox, a menos que correspondam a uma entrada deexcludedCommands
- Default:
true
managed-settings.json
false vindo de configurações gerenciadas ou de --settings também torna o sandbox exigido pelo administrador. Um false em suas configurações de usuário prevalece sobre um true de um projeto, mas não torna o sandbox exigido pelo administrador. Prevalecer sobre o valor de um projeto requer Claude Code v2.1.285 ou posterior.
Quem aprova uma nova tentativa sem sandbox depende do seu modo de permissão e das suas regras de autorização. Consulte The unsandboxed retry escape hatch.
Para ver quando comandos que você digita você mesmo no prompt de modo shell ! são executados em sandbox, consulte strict sandbox mode.
sandbox.filesystem
Controle quais caminhos os comandos em sandbox podem ler e escrever. Por padrão, eles podem escrever no diretório de trabalho, no diretório temporário por usuário e em diretórios que você adiciona com --add-dir, /add-dir ou permissions.additionalDirectories, e podem ler o resto do sistema de arquivos, incluindo arquivos de credenciais. Amplie ou restrinja isso com as quatro listas de caminhos, ou desative a camada do sistema de arquivos com disabled. Consulte Filesystem isolation para os limites padrão.
- Scope:
Any file - Type: object com arrays
allowWrite,denyWrite,denyReadeallowRead, além dos booleanosallowManagedReadPathsOnlyedisabled - Default: não definido, então os limites padrão de leitura e escrita se aplicam
settings.json
kubectl, terraform ou npm. Claude Code adiciona suas regras de permissão às mesmas listas: regras Edit allow e deny para allowWrite e denyWrite, regras Read deny para denyRead e regras WebFetch(domain:...) allow e deny para as listas de domínio network.
A menos que um bloqueio se aplique, Claude Code mescla essas listas nos arquivos de configurações que a sessão carrega. allowManagedReadPathsOnly limita allowRead a entradas de configurações gerenciadas, e allowManagedDomainsOnly faz o mesmo para domínios permitidos. Bloqueios de repositório deixam de fora entradas dos arquivos de configurações de um repositório.
Configure sandboxing cobre fontes que você exclui com --setting-sources. Quando você edita uma lista durante uma sessão, Claude Code aplica a mudança à sessão em execução.
Prefixos de caminho do sandbox
Caminhos emallowWrite, denyWrite, denyRead, allowRead e credentials.files são resolvidos por seu prefixo:
O prefixo
//path para caminhos absolutos também funciona. Se você usar /path com barra única esperando resolução relativa ao projeto, mude para ./path. Essa sintaxe difere das regras de permissão Read e Edit, que usam //path para absoluto e /path para relativo ao projeto: caminhos do sistema de arquivos do sandbox usam convenções padrão, então /tmp/build é um caminho absoluto.
Claude Code remove uma barra final de um caminho de diretório, então ~/.aws e ~/.aws/ correspondem ao mesmo diretório. Antes da v2.1.224, Claude Code passava a barra final para o sandbox, e Claude ainda podia ler ou escrever caminhos sob uma entrada denyRead ou denyWrite escrita com uma.
Claude Code também remove um /** final, então ~/build/** e ~/build cobrem o mesmo diretório. Se um curinga como * funciona depende de qual lista a entrada está e da plataforma:
allowWriteedenyWrite: em macOS, curingas funcionam. No Linux e WSL2, o sandbox monta caminhos concretos, então Claude Code ignora uma entrada que contém*,?ou[uma vez que o/**final é removido, e essa entrada não tem efeito. Claude Code adiciona os caminhos de suas regras de permissãoEdita essas listas, então o mesmo limite se aplica a elas, e a aba Config do/sandboxavisa sobre regras de permissãoEditeReadque contêm curingas.denyReadeallowRead: curingas funcionam em todas as plataformas. No Linux e WSL2, Claude Code expande uma entrada de leitura para os caminhos concretos que ela corresponde, o que não faz para as listas de escrita.
sandbox.filesystem.allowWrite
Adicione caminhos onde comandos em sandbox podem escrever, além do diretório de trabalho, do diretório temporário por usuário e dos diretórios que você adicionou com --add-dir, /add-dir ou permissions.additionalDirectories. Use-o quando um subprocesso como kubectl ou uma ferramenta de build precisa escrever fora do projeto.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: array de strings de caminho, usando os prefixos de caminho do sandbox
- Default: não definido, então comandos em sandbox podem escrever no diretório de trabalho, no diretório temporário por usuário, em diretórios que você adicionou com
--add-dirou/add-dire em diretórios empermissions.additionalDirectories
/tmp/build e deixa kubectl atualizar seu kubeconfig:
settings.json
allowWrite e os caminhos de suas regras de permissão Edit(...) allow em todos os escopos de configurações que a sessão carrega, deixando de fora os de configurações de repositório enquanto permissions.blockReadsOutsideWorkingDirectories está ativado. Bloqueios de repositório também podem deixar de fora as entradas de um repositório. Uma entrada allowWrite não pode levantar um caminho protegido.
sandbox.filesystem.denyWrite
Bloqueie comandos em sandbox de escrever em caminhos específicos, incluindo caminhos dentro de um diretório que é de outra forma gravável.
- Scope:
Any file - Type: array de strings de caminho, usando os prefixos de caminho do sandbox
- Default: não definido
settings.json
Edit(...) deny.
sandbox.filesystem.denyRead
Bloqueie comandos em sandbox de ler caminhos específicos, como arquivos de credenciais que a política de leitura padrão exporia de outra forma. Para proteger um arquivo de credenciais e mantê-lo utilizável através do proxy do sandbox, consulte sandbox.credentials em vez disso.
- Scope:
Any file - Type: array de strings de caminho, usando os prefixos de caminho do sandbox
- Default: não definido, então comandos em sandbox mantêm o acesso de leitura padrão, que inclui arquivos de credenciais como
~/.aws/credentials
settings.json
Read(...) deny. Quando filesystem.disabled é true, Claude Code não impõe essas entradas.
sandbox.filesystem.allowRead
Reabra a leitura para caminhos específicos dentro de uma região que denyRead bloqueia, para construir acesso de leitura somente do espaço de trabalho. Uma entrada denyRead exata ou curinga permanece bloqueada dentro de um allowRead mais amplo, como a tabela de sobreposição mostra. Quando uma entrada denyRead curinga como ~/**/.env corresponde a um diretório, Claude Code bloqueia leituras de seu conteúdo também. Antes da v2.1.236 em macOS, Claude Code reabria os caminhos que uma entrada denyRead curinga correspondia onde uma entrada allowRead mais ampla as cobria, e deixava o conteúdo de um diretório correspondido legível.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: array de strings de caminho, usando os prefixos de caminho do sandbox
- Default: não definido
settings.json
. para a raiz do projeto em configurações de projeto e para ~/.claude em configurações de usuário. Claude Code mescla entradas em todos os arquivos de configurações que a sessão carrega, a menos que allowManagedReadPathsOnly seja definido, e deixa de fora entradas de configurações de repositório enquanto permissions.blockReadsOutsideWorkingDirectories está ativado. Bloqueios de repositório também podem deixar de fora as entradas de um repositório.
sandbox.filesystem.allowManagedReadPathsOnly
Honre apenas as entradas allowRead que vêm de configurações gerenciadas, para que desenvolvedores não possam reabrir acesso de leitura a caminhos que sua organização bloqueou. Claude Code ainda mescla entradas denyRead de todos os escopos de configurações que a sessão carrega.
- Scope:
Managed - Type: Boolean
true: Claude Code honra apenas as entradasallowReadde configurações gerenciadasfalse: entradasallowReadde outros arquivos de configurações podem ser mescladas
- Default:
false
~/work e impede que desenvolvedores reabram qualquer outra coisa:
managed-settings.json
sandbox.filesystem.disabled
Ignore isolamento do sistema de arquivos mantendo isolamento de rede. Comandos em sandbox obtêm acesso irrestrito de leitura e escrita ao sistema de arquivos do host, e sua saída de rede permanece confinada a network.allowedDomains. Use-o quando você faz sandbox para controlar onde os comandos se conectam em vez do que eles escrevem. Requer Claude Code v2.1.216 ou posterior.
- Scope:
User or managed. Quando configurações gerenciadas configuramsandbox.filesystemde qualquer forma, ou listam uma entradasandbox.credentials.filescom"mode": "deny", apenas configurações gerenciadas podem defini-lo. - Type: Boolean
true: Claude Code ignora isolamento do sistema de arquivos e mantém isolamento de redefalse: isolamento do sistema de arquivos permanece ativado
- Default:
false, então isolamento do sistema de arquivos permanece ativado
settings.json
denyRead ou credentials.files deny, enquanto entradas credentials.envVars e entradas mask aplicadas continuam funcionando. autoAllowBashIfSandboxed ainda tem true como padrão, então defina-o como false para continuar solicitando. Consulte Disable filesystem isolation para a lista completa de fontes que podem defini-lo e o que muda quando o isolamento está desativado. Requer Claude Code v2.1.216 ou posterior.
sandbox.ignoreViolations
Silencie relatórios de violação de sandbox para caminhos que você espera que um comando sonde e seja recusado, como uma ferramenta que verifica /etc/hosts na inicialização, para que essas negações não apareçam como violações ou no que Claude vê. O sandbox ainda bloqueia o acesso; apenas o relatório é suprimido. As chaves são substrings para corresponder contra o comando, com * correspondendo a cada comando, e os valores são substrings da violação a ignorar para esse comando, como um caminho do sistema de arquivos.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: object mapeando uma substring de comando para um array de substrings de violação, geralmente caminhos
- Default: não definido, então cada violação é relatada
settings.json
sandbox.enableWeakerNestedSandbox
Execute o sandbox do Linux dentro de um contêiner Docker sem privilégios, onde bubblewrap não consegue montar um /proc fresco. Em vez disso, o sandbox interno faz bind-mount do /proc existente do contêiner, o que expõe informações de processo que uma montagem fresca ocultaria. Isso reduz a segurança; use-o apenas quando o contêiner externo já fornece o isolamento que você precisa.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: Boolean
true: o sandbox interno faz bind-mount do/procexistente do contêiner em vez de montar um frescofalse: o sandbox monta um/procfresco, o que não funciona em um contêiner Docker sem privilégios
- Default:
false
settings.json
sandbox.enableWeakerNetworkIsolation
Deixe comandos em sandbox em macOS alcançar o serviço de confiança TLS do sistema, com.apple.trustd.agent. Ferramentas baseadas em Go como gh, gcloud e terraform precisam disso para verificar certificados TLS quando você usa network.httpProxyPort com um proxy MITM e uma CA personalizada. Isso reduz a segurança abrindo um possível caminho de exfiltração de dados através do serviço de confiança.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: Boolean
true: comandos em sandbox em macOS podem alcançarcom.apple.trustd.agentfalse: comandos em sandbox em macOS não podem alcançar o serviço de confiança TLS do sistema
- Default:
false
settings.json
excludedCommands em vez disso; consulte Go-based CLIs fail TLS verification on macOS.
sandbox.allowAppleEvents
Deixe comandos em sandbox em macOS enviar Apple Events, que open, osascript e ferramentas que abrem URLs em um navegador precisam; sem isso, eles falham com erro -600. Isso remove isolamento de execução de código: comandos em sandbox podem iniciar outros aplicativos sem sandbox sem prompt do usuário e podem enviar comandos AppleScript para aplicativos em execução como Terminal, sujeito ao prompt de consentimento de automação por aplicativo do macOS (TCC).
- Scope:
User or managed - Type: Boolean
true: comandos em sandbox em macOS podem enviar Apple Eventsfalse: comandos em sandbox em macOS não podem enviar Apple Events, entãoopeneosascriptfalham com erro-600
- Default:
false
settings.json
excludedCommands em vez disso. Consulte Apple Events on macOS.
sandbox.ripgrep
Aponte o sandbox para um binário ripgrep seu em vez do que Claude Code usa, por exemplo, quando sua plataforma precisa de um rg compilado de forma diferente.
- Scope:
User or managed - Type: object com
command, o caminho para o binário ripgrep, eargsopcional, um array de argumentos para prepender - Default: não definido, então o sandbox usa o mesmo binário ripgrep que Claude Code. Esse é o binário agrupado, a menos que você defina
USE_BUILTIN_RIPGREPpara0
settings.json
sandbox.bwrapPath
Aponte o sandbox para um binário bubblewrap instalado fora de PATH, como uma cópia fornecida em um host isolado. Claude Code usa o caminho tanto para a verificação de dependência de inicialização quanto quando envolve cada comando em sandbox.
- Scope:
Managed. Claude Code o lê apenas de configurações gerenciadas para que um arquivo de usuário, projeto ou local não possa apontar o sandbox para um binário diferente. - Type: string, um caminho absoluto; Claude Code descarta um caminho relativo e volta para busca em
PATH - Default: não definido, então Claude Code encontra
bwrapemPATH
managed-settings.json
sandbox.socatPath
Aponte o proxy de rede do sandbox para um binário socat instalado fora de PATH.
- Scope:
Managed - Type: string, um caminho absoluto; Claude Code descarta um caminho relativo e volta para busca em
PATH - Default: não definido, então Claude Code encontra
socatemPATH
managed-settings.json
sandbox.credentials
Declare os arquivos de credenciais e variáveis de ambiente para proteger de comandos em sandbox. Cada entrada nomeia um arquivo path ou uma variável name e um mode: deny oculta a credencial dentro do sandbox, e mask mostra aos comandos em sandbox um espaço reservado enquanto o proxy do sandbox substitui o valor real em requisições de saída. Claude Code protege apenas as entradas que você lista; não há lista de negação de credenciais integrada.
- Scope:
Any file. Claude Code honra entradasmask,allowPlaintextInject,awsPairsesigv4apenas de configurações de usuário, configurações gerenciadas e a flag--settings. - Type: object com
files,envVars,allowPlaintextInject,awsPairsesigv4 - Default: não definido, então nenhuma credencial é protegida
GITHUB_TOKEN de comandos em sandbox:
settings.json
deny faz parte da camada do sistema de arquivos, então não se aplica quando você desativa isolamento do sistema de arquivos; a proteção de variável de ambiente ainda se aplica.
Entradas de credenciais inválidas em configurações gerenciadas
Quando uma entradasandbox.credentials gerenciada falha na validação, Claude Code continua protegendo a credencial onde pode:
- Uma entrada em
filesouenvVarsque ainda tem umpathounameválido e ummodedemaskoudeny, como uma cujo padrãoextractnão tem grupo de captura, é degradada paramode: "deny"com um aviso, então a credencial permanece bloqueada, não mascarada, até você corrigir a entrada. Uma entradafilesdegradada fixafilesystem.disabledcomo uma entradadenyexplícita, e o aviso observa que seu bloqueio de leitura não é imposto se configurações gerenciadas desativarem isolamento do sistema de arquivos. - Uma entrada com um
modedesconhecido ou umpathounameinválido é removida. - Cada caso avisa; se uma entrada é degradada ou removida, as entradas válidas restantes ainda são impostas, e um valor
credentialstotalmente inválido é descartado enquanto o resto desandboxainda se aplica.
sandbox.credentials.files
Proteja arquivos ou diretórios de credenciais de comandos em sandbox. Com "mode": "deny", Claude Code bloqueia leituras do caminho dentro do sandbox, o mesmo bloqueio de leitura que sandbox.filesystem.denyRead. Com "mode": "mask", comandos em sandbox em Linux e WSL2 leem uma cópia sentinela do arquivo, e o proxy do sandbox substitui o valor real em requisições de saída para injectHosts dessa entrada; em macOS o arquivo é ilegível dentro do sandbox em vez disso. "mode": "mask" requer Claude Code v2.1.221 ou posterior.
- Scope:
Any file. Claude Code descarta entradasmaskde.claude/settings.jsonde projeto e.claude/settings.local.jsonlocal. - Type: array de objetos, cada um com
pathe ummodede"deny"ou"mask", mais os campos mask opcionais para arquivos - Default: não definido, então nenhum arquivo de credenciais é protegido
gh, substituindo o valor real apenas em requisições para api.github.com:
settings.json
sandbox.filesystem.*, e Claude Code mescla os arrays de todos os escopos de configurações que a sessão carrega. Protect credentials cobre o que ainda se aplica de fontes que você exclui com --setting-sources. Entradas mask requerem Claude Code v2.1.221 ou posterior.
A substituição mask é executada apenas através do proxy do sandbox, então defina sandbox.network.tlsTerminate ou allowPlaintextInject para redes de teste HTTP simples. mask se aplica a um único arquivo, então liste cada arquivo de credenciais individualmente. Claude Code aceita mas ignora os campos mask em uma entrada deny. Mask credentials cobre quais fontes de configurações são honradas, e Mask credential files cobre quando uma entrada volta para deny.
Campos mask para arquivos
Uma entradamask aceita esses campos opcionais. Sem extract ou decode, Claude Code substitui todo o conteúdo do arquivo por um sentinela. Em macOS com isolamento do sistema de arquivos ativado, Claude Code aplica uma entrada mask como deny antes de extract ou decode ser executado; consulte Mask credential files.
Isso mascara apenas o valor
oauth_token no arquivo de hosts gh, substitui cada outra cópia dele no arquivo, torna o arquivo ilegível se o padrão não corresponder a nada e substitui o token real apenas em requisições para api.github.com:
settings.json
sandbox.credentials.envVars
Proteja variáveis de ambiente de comandos em sandbox. Com "mode": "deny", Claude Code remove a variável do ambiente de comandos em sandbox. Com "mode": "mask", comandos em sandbox veem um valor sentinela por sessão, e o proxy do sandbox substitui o valor real em requisições de saída para injectHosts dessa entrada, então ferramentas como gh e npm continuam autenticando sem nunca manter a credencial real.
- Scope:
Any file. Claude Code descarta entradasmaskde.claude/settings.jsonde projeto e.claude/settings.local.jsonlocal. - Type: array de objetos, cada um com
namee ummodede"deny"ou"mask", mais os campos mask opcionais para variáveis de ambiente - Default: não definido, então nenhuma variável de ambiente é protegida
NPM_TOKEN de comandos em sandbox e mascara GITHUB_TOKEN, substituindo o valor real apenas em requisições para api.github.com:
settings.json
name deve começar com uma letra ou sublinhado e conter apenas letras, dígitos e sublinhados. Claude Code mescla os arrays de todos os escopos de configurações que a sessão carrega e aplica deny quando a mesma variável aparece com ambos os modos. Protect credentials cobre o que ainda se aplica de fontes que você exclui com --setting-sources.
A substituição mask é executada apenas através do proxy do sandbox, então defina sandbox.network.tlsTerminate ou allowPlaintextInject para redes de teste HTTP simples; consulte Mask credentials. Claude Code aceita mas ignora os campos mask em uma entrada deny.
Campos mask para variáveis de ambiente
Uma entradamask aceita esses campos opcionais. Sem extract ou decode, Claude Code substitui todo o valor por um sentinela. extract e decode não podem ser combinados na mesma entrada.
Isso mascara apenas a senha dentro de
DATABASE_URL, desdefine a variável se o padrão não corresponder a nada e mascara um JWT em SERVICE_JWT enquanto deixa cada claim exceto api_key legível:
settings.json
sandbox.credentials.allowPlaintextInject
Permita substituição mask em requisições HTTP simples bem como HTTPS terminado em TLS. Em HTTP simples a identidade upstream não é verificada e a credencial viaja em texto claro, então deixe isso desativado fora de redes de teste confiáveis.
- Scope:
User or managed - Type: Boolean
true: Claude Code permite substituiçãomaskem requisições HTTP simples bem como HTTPS terminado em TLSfalse: Claude Code permite substituiçãomaskapenas em HTTPS terminado em TLS
- Default:
false
settings.json
sandbox.credentials.awsPairs
Agrupe variáveis de ambiente mascaradas que formam uma credencial AWS para re-assinatura SigV4 quando sua credencial vive em variáveis com nomes não padrão. Claude Code vincula o trio convencional AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_SESSION_TOKEN automaticamente quando você mascara seus valores inteiros, então você precisa dessa chave apenas para outros nomes. Requer Claude Code v2.1.224 ou posterior.
- Scope:
User or managed - Type: array de objetos, cada um com
accessKeyIdVar,secretAccessKeyVare opcionalmentesessionTokenVar, nomeando entradassandbox.credentials.envVars - Default: não definido, então apenas o trio convencional é emparelhado
settings.json
mask de valor inteiro em sandbox.credentials.envVars, sem extract ou decode, e pode preencher apenas um slot em todos os pares. Estas regras também se aplicam:
- O proxy re-assina requisições nos hosts listados em
injectHostsda entrada do ID de chave de acesso - Quando
sessionTokenVarestá definido, o proxy envia o token real comox-amz-security-tokenem requisições re-assinadas - Nomear qualquer uma das variáveis convencionais em um par substitui o emparelhamento automático
sandbox.credentials.sigv4
Escolha o que o proxy do sandbox faz com formas de requisição AWS que não consegue re-assinar: streaming para uploads de streaming aws-chunked, presigned para URLs pré-assinadas e sigv4a para assinaturas assimétricas SigV4A. Isso se aplica apenas a requisições assinadas com a ID de chave de acesso de espaço reservado de um par mascarado. Requer Claude Code v2.1.224 ou posterior.
- Scope:
User or managed - Type: object com
streaming,presignedesigv4a, cada um de:"deny": o proxy falha a requisição"passthrough": o proxy encaminha a requisição assinada com o espaço reservado mascarado, então a ferramenta recebe a própria rejeição da AWS
- Default: não definido, então cada forma é
"deny"
settings.json
deny, o proxy falha a requisição. Com passthrough, o proxy encaminha a requisição com sua assinatura computada a partir do espaço reservado mascarado, então AWS a rejeita e a ferramenta chamadora recebe a própria resposta da AWS em vez de um erro de proxy.
sandbox.network
Controle quais hosts, portas e sockets os comandos em sandbox podem alcançar. O sandbox roteia o tráfego de saída através de um proxy que impõe essas listas; consulte Network isolation para saber como o proxy decide e quando solicita.
- Scope:
Any file.strictAllowlist,allowManagedDomainsOnlyetlsTerminatesão lidos de menos fontes, como suas entradas dizem. - Type: object com as sub-chaves abaixo
- Default: não definido, então nenhum domínio é pré-autorizado e seu modo de permissão decide o que acontece com cada novo host
uploads.github.com e deixa comandos se vincularem a localhost:
settings.json
WebFetch(domain:...) allow e deny alimentam as mesmas listas de allow e deny.
sandbox.network.allowUnixSockets
Liste os caminhos de socket Unix aos quais comandos em sandbox podem se conectar em macOS. Claude Code ignora essa lista no Linux e WSL2, onde o filtro seccomp não consegue inspecionar caminhos de socket; use allowAllUnixSockets em vez disso.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: array de strings, cada um um caminho de socket
- Default: não definido, então o sandbox macOS bloqueia cada socket Unix
settings.json
/var/run/docker.sock, por exemplo, deixa um comando em sandbox controlar o daemon Docker. Consulte Security limitations.
sandbox.network.allowAllUnixSockets
Deixe comandos em sandbox se conectarem a cada socket Unix. No Linux e WSL2, o filtro seccomp do sandbox bloqueia chamadas socket(AF_UNIX, ...), então essa é a única maneira de permitir sockets Unix lá. Quando o filtro está faltando, o que /sandbox relata em sua aba Dependencies, o sandbox não bloqueia chamadas de socket Unix. Consulte Set up Linux and WSL2 para saber de onde o filtro vem.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: Boolean
true: comandos em sandbox podem se conectar a cada socket Unixfalse: o sandbox bloqueia conexões de socket Unix: em macOS exceto os caminhos emallowUnixSocketse no Linux e WSL2 através do filtro seccomp quando está presente
- Default:
false
settings.json
true também reabre o socket interop que inicia binários Windows como cmd.exe e powershell.exe.
sandbox.network.allowLocalBinding
Deixe comandos em sandbox em macOS escutarem em portas de rede, por exemplo, para iniciar um servidor de desenvolvimento, e se conectarem a qualquer porta em localhost. Um comando que escuta em um endereço que não é de loopback aceita conexões de outras máquinas. A chave não tem efeito no Linux e WSL2, onde cada comando em sandbox tem sua própria interface de loopback. Para alcançar um servidor no host a partir do Linux ou WSL2, consulte A command fails to reach a server on localhost.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: Boolean
true: comandos em sandbox em macOS podem escutar em qualquer endereço local e se conectar a qualquer porta em localhostfalse: comandos em sandbox em macOS não podem escutar em uma porta nem se conectar diretamente a servidores em localhost
- Default:
false
settings.json
sandbox.network.allowMachLookup
Liste nomes de serviço XPC e Mach adicionais que o sandbox macOS pode procurar. Ferramentas que se comunicam sobre XPC, como o iOS Simulator ou Playwright, precisam de seus serviços listados aqui.
- Scope:
Any file, com limites em configurações de projeto e locais - Type: array de strings, cada um um nome de serviço; um único
*final corresponde a um prefixo e"*"sozinho corresponde a cada serviço - Default: não definido
com.apple.coresimulator.:
settings.json
sandbox.network.allowedDomains
Pré-autorize domínios para tráfego de saída de comandos em sandbox, então o sandbox não solicita por eles. Curingas como *.example.com correspondem a subdomínios, e um sufixo :port opcional limita uma entrada a uma porta; uma entrada sem porta corresponde a cada porta.
- Scope:
Any file, com limites em configurações de projeto e locais. Apenas configurações gerenciadas quandoallowManagedDomainsOnlyestá definido. - Type: array de strings, cada um um domínio, padrão curinga ou literal IP, com um sufixo
:portopcional - Default: não definido, então seu modo de permissão decide o que acontece com cada novo host
settings.json
"[::1]" permite cada porta e "[::1]:443" uma porta. A forma entre colchetes requer Claude Code v2.1.229 ou posterior. Consulte IPv6 addresses in domain lists.
sandbox.network.deniedDomains
Bloqueie domínios para tráfego de saída de comandos em sandbox, usando a mesma sintaxe de curinga, porta e IPv6 que allowedDomains. Um domínio negado permanece bloqueado mesmo quando uma entrada allowedDomains também o corresponde.
- Scope:
Any file - Type: array de strings, cada um um domínio, padrão curinga ou literal IP, com um sufixo
:portopcional - Default: não definido
settings.json
allowManagedDomainsOnly está definido, então um desenvolvedor pode sempre apertar a lista de negação. Para literais IPv6, consulte IPv6 addresses in domain lists.
Uma entrada escrita com o ponto final que marca um nome de domínio totalmente qualificado, como example.com., bloqueia as mesmas conexões que example.com.
sandbox.network.strictAllowlist
Negue acesso de comandos em sandbox a hosts fora da allowlist em vez de solicitar aprovação. A allowlist é allowedDomains mais domínios de regras WebFetch(domain:...) allow, ou apenas as entradas de configurações gerenciadas quando allowManagedDomainsOnly está definido. Locks that apply without an admin-required sandbox cobre as entradas de um repositório. Requer Claude Code v2.1.219 ou posterior.
- Scope:
User or managed. Um repositório não pode ativá-lo ou desativá-lo. - Type: Boolean
true: Claude Code nega acesso de comandos em sandbox a hosts fora da allowlistfalse: a menos que outro arquivo de configurações confiável definatrue, Claude Code decide um host fora da allowlist por modo de permissão em vez de negá-lo imediatamente: em modo auto ele verifica o host contra os domínios permitidos por comando do comando, em mododontAsknega, em modobypassPermissionse em sessões de modo de planejamento de terminal interativo onde bypass está disponível permite, e caso contrário pergunta a você
- Default:
false
settings.json
WebFetch ainda seguem suas regras de permissão. Quando qualquer uma das fontes honradas a define como true, ela permanece ativada. Consulte Network isolation. Requer Claude Code v2.1.219 ou posterior.
sandbox.network.allowManagedDomainsOnly
Bloqueie a allowlist de rede para o que as configurações gerenciadas definem. Claude Code então honra apenas allowedDomains e regras WebFetch(domain:...) allow de configurações gerenciadas, ignora domínios de configurações de usuário, projeto, local e --settings, e bloqueia um domínio não permitido automaticamente em vez de solicitar.
- Scope:
Managed - Type: Boolean
true: Claude Code honra apenasallowedDomainse regrasWebFetch(domain:...)allow de configurações gerenciadas e bloqueia um domínio não permitido em vez de solicitarfalse: domínios de outros arquivos de configurações podem ser mesclados na allowlist
- Default:
false
managed-settings.json
true, o sandbox é exigido pelo administrador, e apenas configurações gerenciadas podem definir uma porta de proxy.
Domínios negados ainda são mesclados de cada fonte que a sessão carrega. Consulte Keep developers from widening the policy.
sandbox.network.httpProxyPort
Aponte o sandbox para seu próprio proxy HTTP em vez do que Claude Code executa. Organizações fazem isso para inspecionar tráfego HTTPS, aplicar suas próprias regras de filtragem ou registrar requisições em log. Seu proxy assume a filtragem, e Claude Code deixa de aplicar suas listas de domínios e prompts de rede ao tráfego enviado para lá. Quando não definido, Claude Code inicia seu próprio proxy para tráfego HTTP.
- Scope:
Any file, a menos que outras configurações de sandbox limitem quais arquivos podem definir uma porta - Type: number, uma porta TCP local
- Default: não definido, então Claude Code executa seu próprio proxy
settings.json
socksProxyPort também se seu proxy deve carregar tráfego SOCKS também; com apenas um dos dois definido, Claude Code ainda executa seu próprio proxy para o outro protocolo. Consulte Custom proxy configuration.
sandbox.network.socksProxyPort
Aponte o sandbox para seu próprio proxy SOCKS5 em vez do que Claude Code executa. Seu proxy assume a filtragem, e Claude Code deixa de aplicar suas listas de domínios e prompts de rede ao tráfego enviado para lá. Quando não definido, Claude Code inicia seu próprio proxy para tráfego SOCKS.
- Scope:
Any file, a menos que outras configurações de sandbox limitem quais arquivos podem definir uma porta - Type: number, uma porta TCP local
- Default: não definido, então Claude Code executa seu próprio proxy
settings.json
sandbox.network.tlsTerminate
Faça o proxy do sandbox terminar TLS para que ele possa ler o conteúdo de requisições HTTPS. Isso é experimental, e a substituição de credenciais mask requer isso. Defina {} para gerar uma autoridade de certificado efêmera para a sessão, ou defina caCertPath e caKeyPath para usar a sua própria.
- Scope:
User or managed. Um repositório não pode ativá-lo ou fornecer uma autoridade de certificado. - Type: object com
caCertPathecaKeyPathstrings opcionais, cada um um caminho de arquivo - Default: não definido, então o proxy não termina ou inspeciona TLS
settings.json
--settings, depois configurações de usuário.
Memória e contexto
Controle o que Claude Code carrega no contexto, como ele compacta e onde mantém memória e planos. Veja Gerenciar contexto e Memória.autoCompactEnabled
Faça Claude Code compactar a conversa automaticamente quando o contexto se aproximar do limite. Aparece em /config como Auto-compact, e alternar lá escreve essa chave nas suas configurações de usuário.
- Scope:
Any file - Type: Boolean
true: Claude Code compacta a conversa automaticamente quando o contexto se aproxima do limitefalse: Claude Code não compacta automaticamente
- Default:
true - Per-session overrides:
DISABLE_AUTO_COMPACTdesativa auto-compact para uma sessão; qualquer um dos dois que o desativar, o outro não pode reativá-lo
settings.json
/compact continua funcionando enquanto auto-compact está desativado.
autoCompactWindow
Defina o quão cheio o contexto fica antes de Claude Code compactar automaticamente.
- Scope:
Any file - Type: número de tokens, de
100000a1000000. Claude Code limita o valor à janela de contexto do seu modelo; a visão geral de modelos lista a janela de cada modelo - Default: não definido, então Claude Code escolhe uma janela ajustada para seu modelo
- Per-session overrides:
--autocompacttem precedência sobre essa chave para uma sessão, eCLAUDE_CODE_AUTO_COMPACT_WINDOWtem precedência sobre ambas
settings.json
/autocompact salva uma janela para o modelo atual em modelSettings, que tem precedência sobre essa chave no mesmo arquivo para esse modelo. Defina a janela auto-compact cobre como o comando, flag, variável e configuração interagem.
autoMemoryDirectory
Armazene memória automática em um diretório de sua escolha em vez do padrão por projeto.
- Scope:
Any file - Type: string, um caminho de diretório absoluto ou prefixado com
~/ - Default: não definido, então Claude Code usa
~/.claude/projects/<project>/memory/
settings.json
autoMemoryEnabled
Ative ou desative memória automática. Quando false, Claude não lê ou escreve no diretório de memória automática. Você também pode alternar com /memory durante uma sessão, que escreve essa chave nas suas configurações de usuário.
- Scope:
Any file - Type: Boolean
true: o mesmo que não definido; memória automática permanece ativada a menos que algo que tenha precedência sobre essa chave a desative para a sessão, como--bare, modo seguro ouCLAUDE_CODE_DISABLE_AUTO_MEMORYfalse: Claude não lê ou escreve no diretório de memória automática
- Default:
true - Per-session overrides:
CLAUDE_CODE_DISABLE_AUTO_MEMORYtem precedência sobre essa chave para uma sessão, em qualquer direção
settings.json
bashOutputMaxChars
Defina quantos caracteres da saída de um comando Bash ou PowerShell bem-sucedido Claude recebe inline. Quando a saída passa do limite, Claude Code a salva em um arquivo e Claude recebe uma visualização curta mais o caminho do arquivo. Aumente o limite quando a saída do comando, como uma compilação detalhada ou um log completo de suite de testes, rotineiramente ultrapassa o padrão e você quer que Claude a leia sem abrir o arquivo. Requer Claude Code v2.1.261 ou posterior.
- Scope:
Any file - Type: número de caracteres, um inteiro positivo. Claude Code limita o valor ao intervalo
4000a128000 - Default: não definido, então Claude recebe até 30.000 caracteres inline
settings.json
BASH_MAX_OUTPUT_LENGTH.
claudeMd
Injete instruções no estilo CLAUDE.md como memória gerenciada pela organização sem implantar um arquivo separado. Claude Code carrega o texto como uma entrada de memória gerenciada antes dos arquivos CLAUDE.md de usuário e projeto.
- Scope:
Managed - Type: string, o texto de um arquivo CLAUDE.md; escreva como você faria o arquivo, Markdown incluído, com quebras de linha como
\n - Default: não definido
managed-settings.json
claudeMdExcludes
Pule arquivos CLAUDE.md específicos quando Claude Code carrega memória. Em um grande monorepo, use para pular arquivos CLAUDE.md de outros times que não são relevantes para seu trabalho; Exclua arquivos CLAUDE.md irrelevantes no guia de grandes bases de código percorre esse caso. Padrões correspondem a caminhos de arquivo absolutos.
- Scope:
Any file - Type: array de strings, cada uma um padrão glob ou caminho absoluto
- Default: não definido, então Claude Code carrega cada CLAUDE.md que encontra
settings.json
env
Defina variáveis de ambiente para cada sessão e para os subprocessos que Claude Code inicia a partir dela. A maioria das variáveis na referência de variáveis de ambiente pode ir aqui, que é como você aplica uma a cada sessão ou a implanta para seu time. Configurações de projeto e local não podem definir algumas delas.
- Scope:
Any file - Type: objeto mapeando nomes de variáveis para valores de string
- Default: não definido
settings.json
Como valores env interagem com seu shell
- Um valor aqui sobrescreve a mesma variável exportada em seu shell, e quando mais de um arquivo de configurações define uma variável, a precedência mais alta se aplica. Variáveis que Claude Code ignora em
envlista as exceções para configurações de projeto e local. - Quando o aplicativo Claude Desktop ou um ambiente auto-hospedado inicia a sessão, o ambiente de inicialização que ele constrói tem precedência: Claude Code ignora um valor
envde qualquer arquivo de configurações para uma variável que o ambiente de inicialização já define. O log de depuração nomeia cada variável ignorada. - Para cancelar uma exportação de shell, defina a variável como
"". Claude Code trata um valor vazio como não definido para seleção de provedor, e subprocessos herdam o valor vazio. NO_COLOReFORCE_COLORdefinidos aqui chegam apenas aos subprocessos. Para alterar as cores da própria interface de Claude Code, defina-as em seu shell antes de iniciarclaude.- Valores aqui são texto simples no arquivo de configurações e chegam a cada subprocesso que Claude Code inicia. Para um token de portador OTLP que gira, use
otelHeadersHelper; para credenciais de API, useapiKeyHelper.
Quando Claude Code aplica valores env
- Das configurações de usuário,
--settingse configurações gerenciadas: na inicialização, e novamente na sessão em execução quando uma alteração salva modifica oenvmesclado. - Das configurações de projeto e local: depois que você confia no workspace, ou na inicialização no modo
-p, que nunca mostra o diálogo de confiança, e novamente quando uma alteração salva modifica oenvmesclado. - Variáveis que Claude Code classifica como seguras, como seleção de modelo, timeouts e limites, e alternadores de recursos: na inicialização de cada arquivo de configurações, além das variáveis que configurações de projeto e local não podem definir.
- Depois que você move a sessão com
/cdem v2.1.246 ou posterior: os valoresenvdo novo diretório de projeto e local, além dos do diretório anterior.
Variáveis que Claude Code ignora em env
-
Configurações de projeto e local não podem definir variáveis que um repositório verificado não deveria controlar; defina-as em seu shell, configurações de usuário ou configurações gerenciadas. Claude Code descarta cada uma, além de alguns valores que desativam telemetria, e registra um aviso que você pode ver com
claude --debug. Elas incluem:-
Variáveis que escolhem onde Claude Code armazena ou escreve seus próprios arquivos:
CLAUDE_CONFIG_DIR,CLAUDE_CODE_TMPDIRe as variáveis de diretório do sistema operacional comoHOME,TMPDIR,TMP,TEMPe a famíliaXDG_*. -
Variáveis do Windows que escolhem os programas e a configuração de toda a máquina para os processos que Claude Code inicia, como
SystemRoot,ComSpec,ProgramData,LOCALAPPDATA,PATHEXT,PSModulePathe a famíliaProgramFiles. -
Variáveis que exportam conteúdo de sessão:
OTEL_LOG_RAW_API_BODIESe o par de rastreamento beta detalhadoENABLE_BETA_TRACING_DETAILEDeBETA_TRACING_ENDPOINT. -
As variáveis do exportador OpenTelemetry que ativam telemetria, escolhem para onde ela vai ou escolhem qual conteúdo ela captura:
CLAUDE_CODE_ENABLE_TELEMETRY, mais o par de telemetria aprimorada betaCLAUDE_CODE_ENHANCED_TELEMETRY_BETAeENABLE_ENHANCED_TELEMETRY_BETA- Os seletores de exportador
OTEL_LOGS_EXPORTER,OTEL_METRICS_EXPORTEReOTEL_TRACES_EXPORTER - As variáveis de conteúdo
OTEL_LOG_USER_PROMPTS,OTEL_LOG_ASSISTANT_RESPONSES,OTEL_LOG_TOOL_CONTENTeOTEL_LOG_TOOL_DETAILS - Variáveis
OTEL_EXPORTER_OTLP_*cujos nomes terminam em_ENDPOINT,_HEADERS,_PROTOCOL,_CERTIFICATE,_CLIENT_KEYou_INSECURE, nas formas genérica e por sinal, comoOTEL_EXPORTER_OTLP_ENDPOINTeOTEL_EXPORTER_OTLP_METRICS_HEADERS OTEL_EXPORTER_PROMETHEUS_HOSTeOTEL_EXPORTER_PROMETHEUS_PORT
nonepara os três seletores de exportador, e um valor desativado como0paraOTEL_LOG_USER_PROMPTS,OTEL_LOG_TOOL_CONTENTeOTEL_LOG_TOOL_DETAILS. Tal valor sobrescreve a mesma variável em suas configurações de usuário, mas não uma que o ambiente do qual você inicia Claude Code, um arquivo--settingsou configurações gerenciadas definem. Quando um arquivo de configurações de projeto ou local define uma variável neste grupo, uma sessão interativa local mostra um aviso na inicialização. Execute/statusouclaude doctorpara ver quais Claude Code ignorou e quais desativaram telemetria; ambos listam nomes, nunca valores. Uma execução não interativa com-pou uma sessão do Agent SDK não mostra aviso, então verifique se seu coletor ainda recebe dados depois que você atualizar. Se não receber, defina as variáveis em suas configurações de usuário, configurações gerenciadas, o ambiente do trabalho ou um arquivo que você passa com--settings. Ignorar este grupo em configurações de projeto e local requer Claude Code v2.1.282 ou posterior. -
Variáveis que alteram como Claude Code inicia ou sincroniza, como
CLAUDE_CODE_PROCESS_WRAPPER,CLAUDE_CODE_SYNC_SKILLS,CLAUDE_CODE_SYNC_PLUGINS,CLAUDE_CODE_PLUGIN_CACHE_DIReCLAUDE_CODE_PLUGIN_SEED_DIR. -
Variáveis que definem os timers de um diálogo não respondido:
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS,CLAUDE_AFK_TIMEOUT_MSeCLAUDE_AFK_COUNTDOWN_MS. -
CLAUDE_CODE_DISABLE_ATTACHMENTS, que desativa o processamento de anexos.
HOMEeXDG_CONFIG_HOME. Antes de v2.1.290, elas também podiam definir as variáveis de timer de diálogo eCLAUDE_CODE_DISABLE_ATTACHMENTS. -
Variáveis que escolhem onde Claude Code armazena ou escreve seus próprios arquivos:
-
Variáveis de identidade que os ambientes de hospedagem de Claude Code possuem, como
CLAUDE_CODE_REMOTEeCLAUDE_CODE_ACCOUNT_UUID, são ignoradas de cada arquivo. -
CLAUDE_CODE_MESSAGING_SOCKETeCLAUDE_CODE_MESSAGING_TOKEN, que Claude Code exporta a si mesmo, são ignoradas de cada arquivo. Ignorar a variável de socket requer Claude Code v2.1.224 ou posterior, e ignorar o token requer v2.1.228 ou posterior. -
CLAUDE_CODE_PROJECT_DIR_NAME, que Claude Code lê apenas do ambiente de inicialização, é ignorada de cada arquivo; requer v2.1.234 ou posterior. -
CLAUDE_CODE_RESTRICTED, que Claude Code lê apenas do ambiente de inicialização, é ignorada de cada arquivo. -
CLAUDE_CODE_DISABLE_POWERSHELL_CMD_RM_DENY, que Claude Code lê apenas do ambiente de inicialização, é ignorada de cada arquivo. A variável requer Claude Code v2.1.283 ou posterior. -
CLAUDE_CODE_DISABLE_DANGEROUS_RM_TIMEOUT,CLAUDE_CODE_DISABLE_SUBSTITUTION_RM_PROMPTeCLAUDE_CODE_DISABLE_INLINE_SHELL_RM_PROMPT, que Claude Code lê apenas do ambiente de inicialização, são ignoradas de cada arquivo.
fileCheckpointingEnabled
Faça Claude Code tirar snapshots de arquivos antes de cada edição para que /rewind possa restaurá-los. Aparece em /config como Rewind code (checkpoints), e alternar lá escreve essa chave nas suas configurações de usuário.
- Scope:
Any file - Type: Boolean
true: Claude Code tira snapshots de arquivos antes de cada edição para que/rewindpossa restaurá-losfalse: Claude Code não tira snapshots de arquivos, então/rewindnão pode restaurá-los
- Default:
true - Per-session overrides:
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTINGdesativa checkpointing para uma sessão; qualquer um dos dois que o desativar, o outro não pode reativá-lo
settings.json
-p ou uma sessão do Agent SDK, Claude Code ignora essa chave. O SDK ativa checkpointing com sua opção enableFileCheckpointing, e uma execução -p simples precisa de CLAUDE_CODE_ENABLE_SDK_FILE_CHECKPOINTING=true. Veja File checkpointing in the Agent SDK.
plansDirectory
Escolha onde Claude Code armazena os arquivos de plano que escreve no modo de planejamento. Claude Code resolve o caminho relativo à raiz do projeto.
- Scope:
Any file - Type: string, um caminho relativo à raiz do projeto
- Default: não definido, então Claude Code usa
~/.claude/plans
settings.json
~/.claude/plans em vez do diretório que você definiu em casos como estes:
- Fora da raiz do projeto: o caminho se resolve fora da raiz do projeto, como acontece com
"../plans". - Barra invertida no macOS, Linux e WSL: o caminho resolvido contém uma barra invertida, como acontece com
"docs\\plans"no estilo Windows. Escreva"docs/plans", que também funciona no Windows.
skillListingBudgetFraction
A cada turno, Claude vê uma listagem de suas skills com suas descrições, e Claude Code limita essa listagem a uma parte da janela de contexto. Quando a listagem está acima do limite, Claude Code mantém o nome de cada skill mas descarta as descrições das skills menos usadas, para que Claude ainda possa invocar essas skills mas seja menos provável escolher uma por conta própria. Aumente essa chave para manter mais descrições visíveis ao custo de mais contexto por turno.
- Scope:
Any file - Type: número, uma fração maior que
0e no máximo1 - Default:
0.01, que reserva 1% da janela de contexto
settings.json
/doctor.
skillListingMaxDescChars
A cada turno, Claude vê uma listagem de suas skills que mostra o texto description e when_to_use de cada skill. Essa chave limita quantos caracteres desse texto Claude Code mostra por skill; texto mais longo é cortado no limite.
- Scope:
Any file - Type: número de caracteres, um inteiro positivo
- Default:
1536
settings.json
skillListingBudgetFraction.
taskOutputMaxChars
Até v2.1.276, você definia essa chave para o número de caracteres da saída de uma tarefa de background que Claude recebia inline quando lia a tarefa com a ferramenta TaskOutput.
Interface e terminal
Altere como Claude Code aparece e se comporta no seu terminal: tema, modo de editor, linha de status, spinner, notificações dentro da sessão e acessibilidade. Veja Configuração de terminal.askUserQuestionTimeout
Deixe um diálogo AskUserQuestion sem resposta continuar automaticamente após um período de tempo ocioso, enviando quaisquer opções que você já tivesse selecionado. Defina isso quando você se afastar e quiser que Claude continue sem você. Com o padrão, as perguntas aguardam até que você as responda. Para saber quando o temporizador pausa ou nunca inicia, veja Timeout de continuação automática de perguntas.
- Scope:
User or managed - Type: string, um de
"60s","5m","10m", ou"never" - Default:
"never" - Per-session overrides:
CLAUDE_AFK_TIMEOUT_MStem precedência sobre esta chave para uma sessão
settings.json
/config como Question auto-continue timeout, que escreve esta chave nas configurações do usuário; Claude Code oculta a linha enquanto configurações gerenciadas ou a flag --settings definem a chave.
autoContinueAtUsageLimit
Depois que um limite de uso do claude.ai interrompe sua sessão, aguarde na sessão aberta e continue a tarefa automaticamente após a redefinição. Veja Desativar continuação automática. Requer Claude Code v2.1.234 ou posterior.
- Scope:
User or managed. Leia a partir das configurações do usuário,--settingse configurações gerenciadas apenas. Quando nenhum desses define a chave, um arquivo de configurações de projeto ou local que a define desativa o recurso em vez de ser ignorado. - Type: Boolean
true: depois que um limite de uso do claude.ai interrompe sua sessão, Claude Code aguarda na sessão aberta e continua a tarefa automaticamente após a redefiniçãofalse: Claude Code não inicia a espera por conta própria. Você ainda pode iniciar uma espera você mesmo no menu de opções de limite de uso
- Default:
true
settings.json
/config como Continue automatically at usage limit, que escreve esta chave nas configurações do usuário; Claude Code oculta a linha enquanto configurações gerenciadas ou a flag --settings definem a chave.
autoScrollEnabled
Siga a nova saída até o final da conversa em renderização em tela cheia. Desative-a para permanecer onde você rolou enquanto Claude continua trabalhando; prompts de permissão ainda rolam para a visualização.
- Scope:
Any file - Type: Boolean
true: a conversa segue a nova saída até o finalfalse: você permanece onde rolou enquanto Claude continua trabalhando; prompts de permissão ainda aparecem abaixo da transcrição
- Default:
true
settings.json
/config como Auto-scroll quando a renderização em tela cheia está ativada, que escreve esta chave nas configurações do usuário.
axScreenReader
Renderize saída amigável ao leitor de tela: texto simples sem bordas decorativas ou animações. O modo leitor de tela usa o renderizador clássico, portanto a configuração tui não tem efeito enquanto está ativo; sessões em segundo plano anexadas ainda renderizam em tela cheia.
- Scope:
Any file - Type: Boolean
true: Claude Code renderiza texto simples sem bordas decorativas ou animações, usando o renderizador clássicofalse: Claude Code renderiza normalmente
- Default: unset, portanto o modo leitor de tela está desativado
- Per-session overrides:
--ax-screen-readertem precedência sobreCLAUDE_AX_SCREEN_READER, e ambos têm precedência sobre esta chave para uma sessão
settings.json
bashEditDiffEnabled
Escolha se Claude Code registra quais arquivos foram alterados em um repositório Git enquanto um comando Bash é executado. Quando registra, você vê seu diff no terminal após o comando, e seus hooks PostToolUse Bash recebem a lista de arquivos alterados.
Um arquivo listado nem sempre é um que o comando alterou. Uma alteração que outro programa ou outra chamada Bash fez enquanto o comando era executado também pode aparecer lá.
Defina a chave como true para registrá-los em todos os modos de permissão. Requer Claude Code v2.1.269 ou posterior.
- Scope:
User or managed. Umtrueconta apenas a partir de suas configurações de usuário, JSON passado com--settings, ou configurações gerenciadas, portanto umtrueem um arquivo.claude/settings.jsonou.claude/settings.local.jsonde um repositório não pode ativar o registro. Umfalseem qualquer arquivo de repositório ainda o desativa a menos que um arquivo de precedência mais alta definatrue. - Type: Boolean
- Default: unset, portanto Claude Code registra alterações no modo auto e modo
bypassPermissionsquando direciona Claude a editar arquivos através de Bash - Per-session overrides:
CLAUDE_CODE_BASH_EDIT_DIFFtem precedência sobre esta chave para uma sessão
settings.json
companyAnnouncements
Mostre os anúncios da sua organização aos usuários na inicialização. Quando você lista mais de um, Claude Code escolhe um aleatoriamente para cada sessão; no primeiro lançamento de uma pessoa, ele mostra a primeira entrada.
- Scope:
Any file - Type: array de strings
- Default: unset, portanto nenhum anúncio é exibido
settings.json
defaultShell
Escolha se Bash ou PowerShell executa os comandos shell que você digita com o prefixo ! na caixa de entrada, aqueles que Claude Code executa diretamente e adiciona à sessão.
"powershell" funciona apenas enquanto a ferramenta PowerShell está ativada. A ferramenta está ativada por padrão no Windows sem Git Bash, e no Windows com Git Bash para contas claude.ai e Console. Em sessões do Amazon Bedrock, da Plataforma de Agentes do Google Cloud e do Microsoft Foundry, e no macOS, Linux e WSL, defina CLAUDE_CODE_USE_POWERSHELL_TOOL=1 para ativar a ferramenta. Defina essa variável como 0 para desativar a ferramenta.
- Scope:
Any file - Type: string, um de:
"bash": Claude Code executa seus comandos!em Bash"powershell": Claude Code executa seus comandos!em PowerShell
- Default:
"bash", ou"powershell"no Windows quando Bash não está disponível
settings.json
"powershell" volta para Bash quando a ferramenta PowerShell está desativada, e "bash" volta para PowerShell quando Bash não está instalado.
dialogExpiry
Defina o prazo para diálogos que Claude Code encaminha para um cliente remoto, como um host Remote Control ou SDK, e para o diálogo de aprovação de uma mensagem entre sessões retida. No Claude Code v2.1.236 ou posterior, o mesmo prazo limita o prompt de consentimento de créditos de uso Fable no meio da sessão em uma sessão que pode não ter ninguém no terminal. Quando nenhuma resposta chega antes do prazo, Claude Code cancela o diálogo e continua com seu padrão sem ação. Requer Claude Code v2.1.224 ou posterior.
- Scope:
User or managed - Type: string, um de
"60s","5m","10m", ou"never", que desativa o prazo - Default:
"5m" - Per-session overrides:
CLAUDE_CODE_USER_DIALOG_TIMEOUT_MStem precedência sobre esta chave para uma sessão
settings.json
AskUserQuestion usam seus próprios fluxos e não são regidos por este prazo. Aparece em /config como Dialog expiry, que escreve esta chave nas configurações do usuário; a linha requer Claude Code v2.1.232 ou posterior, e Claude Code a oculta enquanto configurações gerenciadas ou a flag --settings definem a chave.
editorMode
Escolha o modo de vinculação de teclas para o prompt de entrada.
- Scope:
Any file - Type: string, um de:
"normal": atalhos de teclado padrão na entrada do prompt"vim": edição no estilo vim com modos NORMAL, INSERT e VISUAL
- Default:
"normal"
settings.json
/config como Editor mode, que escreve esta chave nas configurações do usuário.
emojiCompletionEnabled
Mostre sugestões de emoji quando você digita : mais um código abreviado na entrada do prompt, e substitua um código abreviado concluído como :heart: por seu emoji. Defina como false para desativar ambos.
- Scope:
Any file - Type: Boolean
true: Claude Code mostra sugestões de emoji após:e substitui um código abreviado concluído por seu emojifalse: Claude Code não sugere emoji nem substitui códigos abreviados
- Default:
true
settings.json
fileSuggestion
Execute seu próprio comando para fornecer preenchimento automático de caminho de arquivo @ em vez da sugestão de arquivo integrada. A sugestão integrada usa travessia rápida do sistema de arquivos; um grande monorepo pode se sair melhor com indexação específica do projeto, como um índice de arquivo pré-construído.
- Scope:
Any file. Sob os portões de linha de status e sugestão de arquivo, Claude Code desativa o comando ou executa apenas um valor gerenciado, e ignora o seu sem aviso. - Type: objeto com
type, sempre"command", ecommand, o comando shell a executar - Default: unset, portanto Claude Code usa a sugestão de arquivo integrada
settings.json
@ seguido por parte de um caminho no prompt: as sugestões vêm da saída do seu comando.
Entrada e saída do comando
Claude Code executa o comando com as mesmas variáveis de ambiente que hooks, incluindoCLAUDE_PROJECT_DIR, e para de aguardar após cinco segundos. O comando recebe JSON em stdin com um campo query contendo o que você digitou até agora:
footerLinksRegexes
Renderize badges clicáveis extras no rodapé abaixo da caixa de entrada quando um regex corresponde à saída de turno: resultados de ferramentas, incluindo conteúdo de arquivo e páginas buscadas, e respostas do próprio Claude. Use-o para transformar IDs impressos por CLIs de projeto, como ferramentas de revisão e rastreadores de problemas, em links de sessão.
- Scope:
User or managed - Type: array de objetos, cada um com
typedefinido como"regex", um regexpattern, um templateurl, e umlabelopcional; placeholders{name}emurlelabelsão preenchidos a partir de grupos de captura nomeados empattern - Default: unset, portanto nenhum badge é renderizado
PROJ-1234 e constrói cada link a partir da chave capturada:
settings.json
PROJ-1234 aparece em um resultado de ferramenta ou na resposta de Claude, um badge PROJ-1234 aparece no rodapé vinculando a https://issues.example.com/browse/PROJ-1234.
Restrições de badge
A URL, rótulo e contagem de badges de cada entrada são limitados da seguinte forma:
Quando um turno é concluído, Claude Code corresponde cada regex
pattern da entrada contra a saída do turno no thread principal, portanto um regex lento bloqueia a UI até que termine. Quantificadores aninhados como (a+)+$ podem levar exponencialmente tempo contra certas entradas e congelar a sessão, portanto mantenha cada pattern linear e evite aninhar + ou *.
Badges de rodapé são renderizados junto com uma linha de status personalizada quando uma está configurada; nenhum substitui o outro. Use uma linha de status para uma linha orientada por script que calcula seu próprio conteúdo a partir de dados de sessão, e badges de rodapé para transformar IDs da conversa em links sem um script.
keybindingFlavor
Na v2.1.238 até v2.1.260, defini-la como "readline" fez Ctrl+W deletar de volta ao espaço em branco anterior em vez de apenas a palavra anterior.
- Scope:
Any file - Type: string,
"classic"ou"readline" - Default: unset
maxProseWidth
Limite a largura da prosa nas respostas de Claude para que as linhas permaneçam legíveis em um terminal amplo. Parágrafos, títulos, listas e citações em bloco se envolvem dentro deste número de colunas, enquanto tabelas e blocos de código mantêm a largura total do terminal. Requer Claude Code v2.1.282 ou posterior.
- Scope:
Any file - Type: número de colunas do terminal, um número inteiro, mínimo
40. Claude Code ignora qualquer outro valor - Default: unset, portanto a prosa se envolve na borda do terminal
settings.json
prefersReducedMotion
Reduza ou desative animações de interface, como o spinner, shimmer e efeitos de flash. Aparece em /config como Reduce motion.
- Scope:
Any file - Type: Boolean
true: Claude Code reduz ou desativa animações de interface, como o spinner, shimmer e efeitos de flashfalse: o mesmo que unset; Claude Code mostra suas animações
- Default:
false
settings.json
promptSuggestionEnabled
Mostre ou oculte sugestões de prompt, as previsões acinzentadas que aparecem na sua entrada de prompt. Defina como false, ou desative Prompt suggestions em /config, para ocultá-las.
- Scope:
Any file - Type: Boolean
true: você vê sugestões de prompt na sua entrada de promptfalse: Claude Code oculta sugestões de prompt
- Default:
true - Per-session overrides:
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTIONtem precedência sobre esta chave para uma sessão
settings.json
DISABLE_TELEMETRY, esta chave não tem efeito e apenas CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1 as ativa.
respectGitignore
Controle se o seletor de arquivo @ deixa de fora arquivos que correspondem aos padrões .gitignore. Aparece em /config como Respect .gitignore in file picker.
- Scope:
Any file. Quando nenhum arquivo de configurações a define, Claude Code volta pararespectGitignoreem~/.claude.json, que o toggle/configescreve. - Type: Boolean
true: o seletor de arquivo@deixa de fora arquivos que correspondem aos padrões.gitignorefalse: o seletor de arquivo@inclui arquivos que correspondem aos padrões.gitignore
- Default:
true
settings.json
respondToBashCommands
Escolha se Claude responde depois que você executa um comando shell com o prefixo ! na caixa de entrada. Por padrão, Claude Code adiciona a saída do comando à conversa e Claude responde a ela. Defina esta chave como false para adicionar a saída ao contexto sem uma resposta, para que você possa executar vários comandos e perguntar sobre eles juntos.
- Scope:
Any file - Type: Boolean
true: Claude Code adiciona a saída do comando à conversa e Claude responde a elafalse: Claude Code adiciona a saída ao contexto sem uma resposta
- Default:
true
settings.json
!.
showClearContextOnPlanAccept
Quando Claude termina um plano em modo de plano, ele mostra um menu de aprovação. O planejamento pode usar muito contexto, portanto esta chave adiciona uma primeira opção a esse menu, Yes, clear context and …, que aprova o plano, limpa o contexto da conversa e começa a implementar apenas a partir do plano. O resto do rótulo nomeia o modo de permissão em que a sessão continua, e mostra quanto do seu contexto o planejamento usou.
- Scope:
Any file - Type: Boolean
true: o menu de aprovação do plano obtém uma primeira opção, Yes, clear context and …, que aprova o plano e limpa o contexto da conversafalse: o menu de aprovação do plano não mostra nenhuma opção de limpar contexto
- Default:
false
settings.json
showTurnDuration
Mostre ou oculte a mensagem de duração do turno após cada resposta, como “Cooked for 1m 6s · done 6:05 PM”. O relógio após “done” mostra quando o turno terminou; timeFormat e timeZone controlam seu formato e zona. Aparece em /config como Show turn duration.
- Scope:
Any file. Um valor em~/.claude.jsonde uma versão anterior se aplica quando nenhum arquivo de configurações a define. - Type: Boolean
true: você vê a mensagem de duração do turno após cada respostafalse: Claude Code oculta a mensagem de duração do turno
- Default:
true
settings.json
spellcheck
Sublinhe palavras com erros de ortografia na entrada do prompt conforme você digita, usando um verificador de ortografia que você instala. Claude Code verifica apenas o texto na caixa de entrada. Verificar ortografia conforme você digita cobre a instalação de aspell, hunspell ou ispell e o que o verificador cobre. Requer Claude Code v2.1.235 ou posterior.
- Scope:
User or managed. O bloco do nível mais alto que a define se aplica como um todo. - Type: objeto com
enabled(Boolean),checker("aspell","hunspell","ispell", ou"auto"),language(string, passada para o verificador como seu nome de dicionário), ecolor(string, um nome de cor de terminal,#rrggbb,rgb(r,g,b),ansi256(n), ouansi:<name>) - Default: unset, portanto a verificação de ortografia está desativada;
checkerpadrão para"auto", o primeiro dos três encontrado emPATH;languagepadrão para o próprio dicionário do verificador;colorpadrão para a cor de erro do tema
settings.json
spinnerTipsEnabled
Enquanto Claude trabalha, a linha do spinner gira através de dicas curtas sobre recursos do Claude Code, como “Use Plan Mode para se preparar para uma solicitação complexa antes de fazer alterações. Pressione Shift+Tab duas vezes para ativar.” Defina esta chave como false para ocultá-las. Aparece em /config como Show tips.
- Scope:
Any file - Type: Boolean
true: você vê dicas no spinner enquanto Claude está trabalhandofalse: Claude Code oculta dicas do spinner
- Default:
true
settings.json
spinnerTipsOverride
Adicione suas próprias dicas às dicas do spinner que Claude Code mostra enquanto Claude trabalha, ou substitua as dicas integradas pelas suas. Claude Code coloca suas dicas na mesma rotação que as integradas.
Se você definir spinnerTipsEnabled como false, Claude Code oculta todas as dicas, incluindo as suas.
- Scope:
Any file. Claude Code honra objetos de dica,tipsFile,labeleexcludeDefaultdas configurações do usuário, a flag--settingse configurações gerenciadas; a partir de configurações de projeto e local, ele lê apenas dicas de string simples. - Type: objeto com campos
tips,tipsFile,labeleexcludeDefault, cada um opcional - Default: unset, portanto Claude Code mostra apenas as dicas integradas
tipsFile, label e a regra da linha Scope que configurações de projeto e local contribuem apenas com strings simples requerem Claude Code v2.1.247 ou posterior.
Cada entrada tips é uma string simples ou um objeto com estes campos:
Claude Code lê uma string simples como uma dica com esses padrões e um id baseado em posição, portanto seu histórico de exibição é redefinido quando você reordena a lista. Dê a uma dica um
id para manter seu histórico entre edições.
Claude Code lê no máximo 200 dicas entre tips e tipsFile, e descarta uma entrada inválida com um aviso de debug em vez de rejeitar o arquivo de configurações.
Use os campos restantes para nomear um arquivo de dicas, definir o prefixo e ocultar as dicas integradas:
tipsFile: um caminho absoluto ou~/para um arquivo JSON local contendo um array das mesmas entradas, ou um objeto com um arraytips, até 256 KB. Claude Code lê o arquivo uma vez por processo, portanto carrega suas edições na próxima inicialização. Você não pode defini-lo através de configurações gerenciadas por servidor; implantetipsinline lá, ou implante o caminho em ummanaged-settings.jsonem disco.label: o prefixo que Claude Code mostra antes de dicas das configurações do usuário,--settingse configurações gerenciadas, até 40 caracteres. O padrão éTip, o mesmo prefixo que as dicas integradas, e dicas de configurações de projeto e local sempre o usam.excludeDefault: defina comotruepara ocultar as dicas integradas e mostrar apenas as suas. Quando Claude Code não consegue carregar nenhuma de suas dicas, por exemplo porquetipsFilenão existe ou cada entrada é inválida, ele mantém a rotação integrada em vez de um spinner vazio.
tipsFile, label e excludeDefault de qualquer um das configurações gerenciadas, a flag --settings e configurações do usuário que seja o de precedência mais alta que define cada um.
Este exemplo, em suas configurações do usuário, adiciona uma dica de string simples e uma dica de objeto à rotação sob o prefixo Acme tip:
settings.json
label: Claude Code mostra ambas as dicas comoAcme tip: ...em vez deTip: ....- A string simples: Claude Code lhe dá os padrões, portanto pode aparecer novamente na próxima sessão.
id: Claude Code baseia o histórico de exibição da segunda dica emgateway-errors, portanto seu cooldown ainda se aplica depois que você adiciona ou reordena dicas.cooldownSessions: depois que Claude Code mostra a dicagateway-errors, ele não mostra essa dica novamente até cinco sessões depois.priority: quando a dicagateway-errorse outra dica não foram mostradas pelo mesmo número de sessões, por exemplo quando nenhuma foi mostrada ainda, Claude Code mostragateway-errorsprimeiro. A string simples tem a prioridade padrão,0.
Acme tip: Run /review before opening a PR.
spinnerVerbs
Enquanto um turno está em progresso, o spinner mostra um verbo rotativo como “Accomplishing”, “Architecting”, ou “Baking”. Use esta chave para adicionar seus próprios verbos a essa rotação ou substituir a lista integrada pela sua.
- Scope:
Any file - Type: objeto com um array
verbsde strings emode, um de:"append": Claude Code adiciona seus verbos ao conjunto integrado"replace": Claude Code mostra apenas seus verbos
- Default: unset, portanto Claude Code usa os verbos integrados
settings.json
"replace" com um array verbs vazio, Claude Code mantém os verbos integrados.
statusLine
Execute seu próprio comando para renderizar uma linha de status abaixo do prompt com contexto como o modelo, custo ou branch git. Campos opcionais ajustam espaçamento, adicionam re-execuções periódicas e ocultam o indicador de modo vim integrado quando seu script renderiza vim.mode em si.
- Scope:
Any file. QuandoallowManagedHooksOnlyestá ativado, oudisableAllHooksestá definido fora das configurações gerenciadas, apenas o valor das configurações gerenciadas é executado. - Type: objeto com
typedefinido como"command"e uma stringcommand, maispaddingopcional como um número de caracteres,refreshIntervalcomo um número de segundos, mínimo1, ehideVimModeIndicatorcomo um Boolean - Default: unset, portanto nenhuma linha de status
settings.json
jq instalado e é executado em um shell. Para equivalentes PowerShell e Git Bash, veja Configuração do Windows; para a configuração completa, veja Configurar manualmente uma linha de status.
subagentStatusLine
Quando Claude executa subagentes, Claude Code os lista em uma exibição de tarefa abaixo do prompt, uma linha por subagente mostrando name · description · token count. Esta chave permite que você execute seu próprio comando para reescrever essas linhas, por exemplo para mostrar o uso de contexto de cada subagente como uma porcentagem. Em cada atualização, Claude Code envia as linhas visíveis como um objeto JSON em stdin, com um array tasks carregando id, name, status, model, tokenCount de cada subagente e mais, e substitui a linha para cada id que você escreve de volta como uma linha {"id", "content"}. Linhas que você não escreve de volta mantêm a renderização padrão.
- Scope:
Any file. QuandoallowManagedHooksOnlyestá ativado, oudisableAllHooksestá definido fora das configurações gerenciadas, apenas o valor das configurações gerenciadas é executado. - Type: objeto com
typedefinido como"command"e uma stringcommand - Default: unset, portanto Claude Code renderiza as linhas padrão
settings.json
syntaxHighlightingDisabled
Claude Code colore código por linguagem nos diffs, blocos de código e visualizações de arquivo que mostra no terminal, com seu highlighter integrado; nenhum plugin ou servidor de linguagem está envolvido. Defina esta chave como true para mostrá-los como texto simples em vez disso, por exemplo se as cores entrarem em conflito com seu tema de terminal ou desacelerem um leitor de tela.
- Scope:
Any file - Type: Boolean
true: Claude Code desativa o destaque de sintaxe em diffs, blocos de código e visualizações de arquivofalse: Claude Code destaca a sintaxe
- Default:
false
settings.json
terminalProgressBarEnabled
Alguns terminais podem mostrar um indicador de progresso na aba ou na barra de tarefas para o programa em execução neles. Enquanto Claude está trabalhando, Claude Code relata um estado em progresso ao terminal, para que você possa ver de outra aba ou janela se a sessão ainda está ocupada. O indicador permanece visível após o turno terminar enquanto subagentes em segundo plano ou fluxos de trabalho dinâmicos ainda estão em execução, e é limpo assim que a sessão fica ociosa.
Claude Code o relata apenas em terminais que suportam o indicador: ConEmu, Ghostty 1.2.0 ou posterior, e iTerm2 3.6.6 ou posterior. Defina esta chave como false para impedir que Claude Code o relate. Aparece em /config como Terminal progress bar.
- Scope:
Any file. Um valor em~/.claude.jsonde uma versão anterior se aplica quando nenhum arquivo de configurações a define. - Type: Boolean
true: você vê a barra de progresso do terminal em terminais que a suportamfalse: Claude Code oculta a barra de progresso do terminal
- Default:
true
settings.json
terminalTitleFromRename
Claude Code define o título da aba do seu terminal. Por padrão, ele usa um título que gera a partir da conversa, e uma vez que você dá à sessão um nome com /rename ou --name, a aba mostra esse nome em vez disso. Defina esta chave como false para manter o título gerado na aba mesmo depois de nomear a sessão. O nome em si ainda se aplica, portanto /resume <name> e o seletor de sessão o encontram.
- Scope:
Any file - Type: Boolean
true: o título da aba do terminal mostra o nome da sessão que você definiufalse: a aba mantém o título que Claude Code gera a partir de sua conversa
- Default:
true
settings.json
CLAUDE_CODE_DISABLE_TERMINAL_TITLE como 1 em vez disso.
theme
Escolha o tema de cor para a interface. Aparece em /config como Theme.
- Scope:
Any file. Um valor em~/.claude.jsonde uma versão anterior se aplica quando nenhum arquivo de configurações a define. - Type: string, um de:
"auto": corresponde ao fundo claro ou escuro do seu terminal"dark": o tema escuro"light": o tema claro"dark-daltonized": o tema escuro com cores amigáveis ao daltônico"light-daltonized": o tema claro com cores amigáveis ao daltônico"dark-ansi": o tema escuro usando apenas a paleta de cores ANSI do seu terminal"light-ansi": o tema claro usando apenas a paleta de cores ANSI do seu terminal"custom:<slug>"ou"custom:<plugin-name>:<slug>": um tema personalizado de~/.claude/themes/ou um plugin
- Default:
"dark"
settings.json
timeFormat
Escolha como Claude Code escreve os horários que mostra na interface, como o done 6:05 PM no final de cada mensagem de duração de turno e os timestamps no visualizador de transcrição. Para escolher uma predefinição, execute /config e defina Time format. Requer Claude Code v2.1.257 ou posterior.
- Scope:
Any file - Type: string, um de:
"auto": o mesmo que unset; cada hora mantém seu formato integrado, que segue sua localidade na mensagem de duração de turno"12-hour": um relógio de 12 horas"24-hour": um relógio de 24 horas"24-hour-utc": um relógio de 24 horas em UTC comZapós os minutos, como18:05Z; Claude Code ignoratimeZonepara esta predefinição- Um padrão strftime como
"%H:%M": Claude Code escreve cada hora com o padrão. Qualquer valor que contenha um%é um padrão, e qualquer outro valor fora das predefinições conta como"auto"
- Default:
"auto"
settings.json
/config oferece apenas as predefinições, portanto para usar um padrão strftime, adicione a chave a um arquivo de configurações. Este exemplo mostra cada hora como um relógio de 24 horas de dois dígitos:
settings.json
18:05. No visualizador de transcrição, o padrão é o timestamp inteiro, portanto adicione diretivas de data quando quiser a data lá. Este exemplo coloca a data na frente do relógio:
settings.json
2026-09-01 18:05.
timeZone
Mostre os horários na interface em um fuso horário diferente do seu sistema. Defina como um nome de fuso horário IANA, como "UTC" ou "Europe/Dublin". Os horários que timeFormat controla então mostram nesta zona. Se timeFormat for "24-hour-utc", os horários permanecem em UTC e Claude Code ignora esta chave. /config não tem linha para esta chave, portanto defina em um arquivo de configurações. Requer Claude Code v2.1.257 ou posterior.
- Scope:
Any file - Type: string, um nome de fuso horário IANA. Quando Claude Code não reconhece o nome, usa seu fuso horário do sistema
- Default: unset, portanto os horários mostram em seu fuso horário do sistema
settings.json
tui
Escolha o renderizador de UI do terminal. Use "fullscreen" para o renderizador alt-screen sem cintilação com scrollback virtualizado, ou "default" para o renderizador clássico de tela principal. Executar /tui fullscreen ou /tui default escreve esta chave para você.
- Scope:
Any file - Type: string, um de:
"default": o renderizador clássico de tela principal"fullscreen": o renderizador alt-screen sem cintilação com scrollback virtualizado
- Default: unset, portanto Claude Code escolhe o renderizador para você
- Per-session overrides:
CLAUDE_CODE_NO_FLICKEReCLAUDE_CODE_DISABLE_ALTERNATE_SCREENtêm precedência sobre esta chave para uma sessão:CLAUDE_CODE_NO_FLICKER=1ativa tela cheia, eCLAUDE_CODE_NO_FLICKER=0ouCLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1a desativa; quando ambos estão definidos, Claude Code a desativa
settings.json
-CC ou sobre SSH para Windows, Claude Code mantém o renderizador clássico a menos que você defina CLAUDE_CODE_NO_FLICKER=1. Sessões em segundo plano abertas de agent view sempre usam o renderizador em tela cheia independentemente desta configuração.
verbose
Por padrão, a transcrição colapsa cada chamada de ferramenta para um resumo curto, como o comando que Claude executou e uma contagem de linhas de sua saída, e você pressiona Ctrl+O para alternar a transcrição inteira para a visualização expandida quando quiser os detalhes. Defina esta chave como true para mostrar a entrada e saída completas de cada chamada de ferramenta inline conforme acontece, o que é útil quando você está depurando um hook, um servidor MCP ou um comando shell longo. Aparece em /config como Verbose output.
- Scope:
Any file. Um valor em~/.claude.jsonde uma versão anterior se aplica quando nenhum arquivo de configurações a define. - Type: Boolean
true: você vê saída completa de ferramentafalse: você vê resumos truncados de saída de ferramenta
- Default:
false - Per-session overrides:
--verbosetem precedência sobre esta chave para uma sessão
settings.json
viewMode ou uma seleção sticky /focus substitui esta chave a cada sessão.
viewMode
Defina a visualização de transcrição em que Claude Code começa: "default", "verbose", ou "focus". Quando definido, substitui tanto a seleção sticky /focus quanto a configuração verbose.
- Scope:
Any file - Type: string, um de:
"default": a transcrição normal com saída de ferramenta truncada"verbose": a transcrição com saída de ferramenta completa"focus": apenas seu último prompt, um resumo de uma linha de chamadas de ferramenta com diffstats de edição, e a resposta final. A visualização de foco precisa do renderizador em tela cheia
- Default: unset, portanto a configuração
verbosee sua última escolha/focusse aplicam - Per-session overrides:
--verbosetem precedência sobre esta chave para uma sessão
settings.json
vimInsertModeRemaps
Mapeie sequências de INSERT-mode de duas teclas para Escape no modo de editor vim. Cada chave é exatamente dois caracteres imprimíveis digitados em sequência, e "<Esc>" é o único alvo suportado; Claude Code ignora outras entradas. Requer Claude Code v2.1.208 ou posterior.
- Scope:
User or managed. Um repositório não pode remapear seus pressionamentos de tecla. - Type: objeto mapeando uma sequência de dois caracteres para
"<Esc>" - Default: unset
settings.json
editorMode seja "vim". Veja Remapear sequências de tecla de INSERT-mode. Requer Claude Code v2.1.208 ou posterior.
voice
Ative ditado por voz e escolha como a tecla de ditado se comporta. Claude Code escreve este objeto para você quando você executa /voice.
- Scope:
Any file - Type: objeto com
enabledcomo um Boolean,autoSubmitcomo um Boolean que se aplica apenas no modo hold, emode, um de:"hold": você segura a tecla de ditado enquanto fala e a solta para parar"tap": você toca a tecla uma vez para começar a gravar e novamente para enviar
- Default: unset, portanto o ditado está desativado; quando
enabledétrueemodeé unset, Claude Code usa"hold"
settings.json
autoSubmit envia o prompt quando você solta a tecla no modo hold. O ditado por voz requer uma conta claude.ai.
voiceEnabled
Ative o ditado por voz com o formulário Boolean único que precede o objeto voice. Quando ambos estão definidos, voice.enabled se aplica.
- Scope:
Any file - Type: Boolean
true: o ditado por voz está ativado quando você está conectado com uma conta claude.ai e a política da sua organização permite voz, a menos quevoice.enabledesteja definidofalse: o ditado por voz está desativado, a menos quevoice.enabledesteja definido
- Default: unset
settings.json
wheelScrollAccelerationEnabled
Acelere a velocidade de rolagem da roda do mouse durante rolagens rápidas em renderização em tela cheia. Defina como false para uma taxa de rolagem constante por entalhe de roda.
- Scope:
Any file - Type: Boolean
true: Claude Code acelera a velocidade de rolagem da roda do mouse durante rolagens rápidasfalse: Claude Code rola a uma taxa constante por entalhe de roda
- Default:
true
settings.json
Git e atribuição
Controle a atribuição que Claude Code adiciona aos commits e pull requests e como funciona com git.attribution
Personalize a atribuição que Claude Code adiciona aos commits git e pull requests. Os commits recebem um git trailer como Co-Authored-By por padrão; as descrições de pull request recebem texto simples. Defina cada parte separadamente com as sub-chaves abaixo.
- Escopo:
Qualquer arquivo - Tipo: objeto com strings
commitepre um BooleansessionUrl, oufalsepara ocultar toda a atribuição. O valorfalserequer Claude Code v2.1.281 ou posterior; versões anteriores o rejeitam e pulam todo o arquivo de configurações do usuário, projeto ou local que o contém - Padrão: não definido, então Claude Code usa a atribuição padrão mostrada em cada sub-chave
attribution como false. Em um arquivo de configurações que versões anteriores também leem, defina commit e pr como strings vazias e sessionUrl como false em vez disso.
Este exemplo substitui a atribuição de commit, remove a atribuição de pull request e descarta o link da sessão:
settings.json
commit ou pr, Claude Code ignora a configuração includeCoAuthoredBy descontinuada e usa seu texto padrão para qualquer um dos dois que você deixou não definido.
Claude Code informa a Claude que suas próprias instruções sobre atribuição, como uma regra CLAUDE.md ou memory, têm precedência sobre essas linhas de commit e PR, a menos que a linha esteja definida em managed settings.
includeCoAuthoredBy
Use attribution em vez disso, que substitui esta chave e permite que você altere ou oculte o trailer de commit, o texto de pull request e o link da sessão separadamente. Claude Code ainda honra includeCoAuthoredBy: false de arquivos de configuração anteriores a attribution, mas o ignora depois que você define attribution.commit ou attribution.pr.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: o mesmo que não definido; Claude Code adiciona o trailer de commit e o texto de atribuição de pull requestfalse: Claude Code omite tanto o trailer de commit quanto o texto de atribuição de pull request, a menos queattributiondefinacommitoupr, caso em que as regras deattributionse aplicam
- Padrão:
true
settings.json
attribution.
includeGitInstructions
Claude Code fornece a Claude duas partes relacionadas a git de contexto: suas instruções integradas sobre como escrever commits e pull requests, na descrição da ferramenta Bash, e um snapshot de status git do seu repositório. O snapshot contém o branch atual, o branch principal, saída de git status e commits recentes. Claude Code o lê quando uma conversa começa.
Defina esta chave como false para deixar ambas de fora, por exemplo quando você usa suas próprias skills de fluxo de trabalho git.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: Claude Code inclui suas instruções integradas de fluxo de trabalho de commit e pull request e o snapshot de status git. As sessões em nuvem nunca incluem o snapshotfalse: Claude Code deixa ambas de fora
- Padrão:
true - Substituições por sessão:
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONStem precedência sobre esta chave para uma sessão
settings.json
prUrlTemplate
Aponte os links de PR que Claude Code renderiza, no badge de rodapé e em resumos de resultado de ferramenta, para uma ferramenta de revisão de código interna em vez de github.com. Claude Code substitui {host}, {owner}, {repo}, {number} e {url} da URL de PR. Os links de solicitação de merge GitLab em ambas as superfícies mantêm sua URL GitLab.
- Escopo:
Qualquer arquivo - Tipo: string, um template de URL usando qualquer um dos cinco placeholders
- Padrão: não definido
settings.json
#123, permanece como Claude o escreveu. Uma URL que não tem a forma /pull/<number> é deixada inalterada.
attribution.commit
Defina o texto de atribuição que Claude Code adiciona aos commits git, incluindo qualquer trailer. Defina como uma string vazia para ocultar a atribuição de commit.
- Escopo:
Qualquer arquivo - Tipo: string
- Padrão: não definido, então Claude Code adiciona
Co-Authored-By: <name> <noreply@anthropic.com>. O nome é o modelo em uso quando o commit é feito, comoClaude Sonnet 5. Quando um subagent faz o commit, o trailer nomeia o modelo do subagent.- Quando Claude Code reconhece o modelo como um modelo Claude mas não consegue confirmar sua versão exata, escreve
Claudesozinho. - Quando não consegue corresponder o ID do modelo a nenhum modelo Claude, como um modelo de terceiros servido através de um
ANTHROPIC_BASE_URLcustomizado, escreveClaude Code.
- Quando Claude Code reconhece o modelo como um modelo Claude mas não consegue confirmar sua versão exata, escreve
Co-Authored-By customizado:
settings.json
attribution.pr
Defina o texto de atribuição que Claude Code adiciona às descrições de pull request. Defina como uma string vazia para ocultar a atribuição de pull request.
- Escopo:
Qualquer arquivo - Tipo: string
- Padrão: não definido, então Claude Code adiciona
🤖 Generated with [Claude Code](https://claude.com/claude-code)
settings.json
attribution.sessionUrl
Escolha se Claude Code anexa o link de sessão claude.ai quando faz commit ou abre um pull request de uma sessão cloud ou Remote Control. Claude Code adiciona o link como um trailer Claude-Session em commits e como um link em descrições de pull request. Defina como false para omitir o link.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: Claude Code anexa o link de sessão claude.ai quando faz commit ou abre um pull request de uma sessão cloud ou Remote Controlfalse: Claude Code omite o link
- Padrão:
true
settings.json
Hooks e automação
Registre hooks, restrinja quais hooks são executados e controle fluxos de trabalho. Para eventos de hook e payloads, consulte a referência de hooks.allowedHttpHookUrls
Limite quais URLs os HTTP hooks podem atingir. Quando você define essa chave, Claude Code executa um HTTP hook apenas se sua URL corresponder a um dos padrões e bloqueia o resto sem executá-los; um array vazio bloqueia todos os HTTP hooks.
- Escopo:
Qualquer arquivo. Arrays são mesclados entre arquivos de configurações. - Tipo: array de padrões de URL, com
*como curinga - Padrão: não definido, portanto qualquer URL é permitida
https://hooks.example.com/ e qualquer URL http://localhost:
settings.json
hooks.example.com., com o ponto final que marca um nome de domínio totalmente qualificado, da mesma forma que hooks.example.com, que é como o DNS os trata. A allowlist se aplica a hooks de todas as fontes, incluindo configurações gerenciadas.
allowManagedHooksOnly
Restrinja a execução de hooks apenas aos hooks que sua organização implanta.
- Escopo:
Gerenciado - Tipo: Booleano
true: apenas hooks gerenciados são executados, além de hooks do Agent SDK e hooks de plugins que suas configurações gerenciadas forçam a ativar. Consulte O que é executado soballowManagedHooksOnlyfalse: hooks de todos os escopos de configurações e plugins são executados
- Padrão: não definido, portanto hooks de todos os escopos de configurações e plugins são executados
managed-settings.json
O que é executado sob allowManagedHooksOnly
Quando você o define como true, Claude Code altera quais hooks e comandos semelhantes a hooks são carregados:
- Hooks gerenciados e SDK são executados: hooks de configurações gerenciadas e hooks que o Agent SDK registra em processo
- Hooks de plugins forçadamente ativados são executados: hooks de plugins que suas configurações gerenciadas forçam a ativar através de
enabledPlugins. Claude Code corresponde ao ID completoplugin@marketplace, portanto um plugin com o mesmo nome de um marketplace diferente permanece bloqueado. Isso permite que você distribua hooks verificados através de um marketplace da organização enquanto bloqueia tudo o mais. Um mod em tal plugin é carregado apenas quando conta como da sua organização - Tudo o mais é bloqueado: hooks de usuário, projeto e local, hooks e mods de outros plugins instalados e hooks declarados no frontmatter do agente. Mods integrados ao Claude Code continuam sendo executados. Para bloquear apenas os mods dos usuários, defina
allowManagedModsOnlyem vez disso. - Plugins com origem em comando são desativados: Claude Code também desativa plugins com uma
commandsource, incluindo plugins forçadamente ativados emenabledPluginsgerenciado, a menos que você definadisableCommandPluginSourcesexplicitamente comofalse - Comandos
headersHelperdo marketplace são bloqueados: Claude Code também bloqueia comandosheadersHelperdo marketplace a menos quedisableCommandPluginSourcesseja explicitamente definido comofalse, exceto para um marketplace que as próprias configurações gerenciadas declaram. Requer Claude Code v2.1.238 ou posterior - Linha de status e sugestão de arquivo restringem-se a configurações gerenciadas: Claude Code lê
statusLine,fileSuggestionesubagentStatusLineapenas de configurações gerenciadas, seguindo os gates de linha de status e sugestão de arquivo
/goal não pode ser executado enquanto essa chave está definida, porque depende de hooks.
disableAllHooks
Desative hooks, qualquer linha de status personalizada e qualquer comando sugestão de arquivo personalizado. Use-o para desativar todos esses temporariamente sem deletá-los de suas configurações.
- Escopo:
Qualquer arquivo. Apenas configurações gerenciadas podem desativar hooks gerenciados. - Tipo: Booleano
true: Claude Code desativa hooks, qualquer linha de status personalizada e qualquer comando de sugestão de arquivo personalizadofalse: hooks, a linha de status e o comando de sugestão de arquivo são executados
- Padrão: não definido, portanto hooks são executados
settings.json
- Em configurações gerenciadas: Claude Code desativa todos os hooks configurados, incluindo os gerenciados, e continua executando os hooks que o Agent SDK registra em processo
- Em qualquer outro arquivo de configurações: Claude Code desativa hooks de usuário, projeto, local e plugin; hooks gerenciados, hooks do Agent SDK e hooks de plugins forçadamente ativados em
enabledPluginsgerenciado continuam sendo executados
- Em configurações gerenciadas: os mods em todos os plugins instalados são interrompidos, incluindo os da sua organização
- Em qualquer outro arquivo de configurações: os mods que você instalou são interrompidos, e os mods da sua organização continuam sendo executados
/goal não pode ser executado enquanto hooks estão desativados, e o menu /hooks mostra um aviso em vez de seus hooks.
Gates de linha de status e sugestão de arquivo
Claude Code toma duas decisões parastatusLine, fileSuggestion e subagentStatusLine, nesta ordem:
- Desativado completamente: quando configurações gerenciadas definem
disableAllHooks, ou quando a pasta não é confiável sob a mesma regra de confiança de workspace que hooks em arquivos de configurações - Restringido a configurações gerenciadas: quando
allowManagedHooksOnlyestá definido, quandodisableAllHooksétruefora de configurações gerenciadas após precedência de configurações ser aplicada, ou quando você inicia Claude Code com--safe-mode
@ volta para a sugestão de arquivo integrada.
disableWorkflows
Desative fluxos de trabalho dinâmicos e os comandos de fluxo de trabalho agrupados para todos que suas configurações alcançam, como uma organização através de configurações gerenciadas. Para ativar ou desativar fluxos de trabalho apenas para você, use enableWorkflows em vez disso, que o toggle Dynamic workflows em /config escreve em suas configurações de usuário.
- Escopo:
Qualquer arquivo - Tipo: Booleano
true: Claude Code desativa fluxos de trabalho dinâmicos e os comandos de fluxo de trabalho agrupados para todos que suas configurações alcançamfalse: o mesmo que não definido; se fluxos de trabalho estão ativados então segueenableWorkflowse o padrão do seu plano
- Padrão:
false - Substituições por sessão:
CLAUDE_CODE_DISABLE_WORKFLOWSdesativa fluxos de trabalho por uma sessão; qualquer um dos dois que os desativa, o outro não pode ativá-los novamente
settings.json
enableWorkflows
Ative ou desative fluxos de trabalho dinâmicos para você quando o padrão do seu plano não é o que você quer. Aparece em /config como Dynamic workflows, que escreve essa chave em suas configurações de usuário e a remove novamente quando você alterna de volta para o padrão do seu plano. Para desativar fluxos de trabalho para todos a partir de configurações gerenciadas, use disableWorkflows em vez disso.
- Escopo:
Qualquer arquivo - Tipo: Booleano
true: Claude Code ativa fluxos de trabalho dinâmicos para vocêfalse: Claude Code desativa fluxos de trabalho dinâmicos para você
- Padrão: não definido, portanto fluxos de trabalho estão ativados a menos que você esteja no plano Pro, onde estão desativados
- Substituições por sessão:
CLAUDE_CODE_DISABLE_WORKFLOWSdesativa fluxos de trabalho por uma sessão, etrueaqui não pode ativá-los novamente enquanto estiver definido
settings.json
disableWorkflows e a política de fluxos de trabalho da sua organização também têm precedência: enableWorkflows: true não pode ativar fluxos de trabalho novamente enquanto qualquer fonte os desativa. Claude Code oculta a linha /config enquanto uma fonte diferente de suas configurações de usuário define enableWorkflows, ou define disableWorkflows como true.
hooks
Execute seus próprios comandos, prompts, agentes, requisições HTTP ou ferramentas MCP como hooks em pontos do ciclo de vida do Claude Code, como antes de uma chamada de ferramenta ou quando uma sessão inicia; a referência de hooks lista todos os eventos, seu payload e seus códigos de saída. Cada evento mapeia para uma lista de grupos de matcher, e cada grupo lista os handlers a executar quando o matcher se aplica.
- Escopo:
Qualquer arquivo. Hooks são mesclados entre arquivos em vez de se substituírem, e hooks de configurações gerenciadas não podem ser removidos de outros arquivos. - Tipo: objeto com chave por evento de hook; cada valor é um array de grupos
{ "matcher", "hooks" }cujas entradashookstêm umtypede"command","prompt","agent","http"ou"mcp_tool" - Padrão: não definido, portanto nenhum hook é executado
settings.json
disableAllHooks; para limitar hooks aos que sua organização implanta, consulte allowManagedHooksOnly.
httpHookAllowedEnvVars
Um HTTP hook pode colocar o valor de uma variável de ambiente em um cabeçalho de requisição, por exemplo um cabeçalho Authorization: Bearer $HOOK_TOKEN, mas apenas para variáveis que o hook lista em seu próprio allowedEnvVars. Esta chave define um limite externo nessa lista para cada HTTP hook: um hook pode usar uma variável apenas se tanto seu próprio allowedEnvVars quanto esta chave a nomearem. Use-a para impedir que um hook leia um segredo que não deveria, mesmo quando a definição do hook pede por isso.
- Escopo:
Qualquer arquivo. Arrays são mesclados entre arquivos de configurações. - Tipo: array de nomes de variáveis de ambiente
- Padrão: não definido, portanto a lista
allowedEnvVarsde cada hook se aplica
MY_TOKEN e HOOK_SECRET:
settings.json
workflowKeywordTriggerEnabled
Escolha se digitar a palavra-chave ultracode em um prompt dispara um fluxo de trabalho dinâmico. Defina como false para digitar a palavra sem disparar um.
- Escopo:
Qualquer arquivo. Aparece em/configcomo Ultracode keyword trigger. - Tipo: Booleano
true: digitarultracodeem um prompt dispara um fluxo de trabalho dinâmicofalse: você pode digitar a palavra sem disparar um
- Padrão:
true
settings.json
ultracode, /workflows e comandos de fluxo de trabalho salvos não são afetados.
workflowSizeGuideline
Defina a contagem de agentes que Claude visa nos fluxos de trabalho dinâmicos que escreve. Claude Code envia o valor para Claude como conselho, não um limite imposto: "small" pede menos de 5 agentes, "medium" menos de 10 e "large" menos de 50. Escolha "small" quando você quer limitar o que um fluxo de trabalho gasta. Requer Claude Code v2.1.219 ou posterior.
- Escopo:
Qualquer arquivo. Um valor lá tem precedência sobre a escolha Dynamic workflow size em/config, que Claude Code armazena em~/.claude.json, e Claude Code oculta essa linha enquanto um arquivo de configurações define a chave. - Tipo: string, um de:
"unrestricted": sem diretriz, portanto Claude dimensiona o fluxo de trabalho para a tarefa"small": Claude visa menos de 5 agentes"medium": Claude visa menos de 10 agentes"large": Claude visa menos de 50 agentes
- Padrão:
"medium", ou"small"quando você está conectado em um plano Pro com Claude Code v2.1.271 ou posterior
settings.json
/config em vez disso.
Plugins e skills
Ative plugins, registre marketplaces, restrinja quais fontes de plugin sua organização permite e controle quais skills são carregadas. Para instalar e criar plugins, consulte Plugins.disableBundledSkills
Desative os skills e workflows inclusos no Claude Code. Claude Code remove completamente os skills e workflows agrupados, enquanto comandos integrados como /init permanecem digitáveis, mas ficam ocultos do modelo.
- Scope:
Any file - Type: Boolean
true: Claude Code remove os skills e workflows agrupados e oculta comandos integrados como/initdo modelofalse: os skills agrupados são carregados
- Default: não definido, portanto os skills agrupados são carregados
- Per-session overrides:
CLAUDE_CODE_DISABLE_BUNDLED_SKILLSdefinido como1desativa os skills agrupados por uma sessão; qualquer um dos dois que os desativar, o outro não pode reativá-los
settings.json
.claude/skills/ e .claude/commands/ não são afetados. /doctor permanece digitável como os comandos integrados; para ocultá-lo, defina DISABLE_DOCTOR_COMMAND em vez disso.
disableSkillShellExecution
Desative a execução de shell inline para blocos !`...` e ```! em skills e comandos personalizados de fontes de usuário, projeto, plugin ou diretório adicional. Claude Code substitui cada comando por [shell command execution disabled by policy] em vez de executá-lo.
- Scope:
Any file. Umtrueem configurações gerenciadas não pode ser substituído porfalseem outro lugar. - Type: Boolean
true: Claude Code substitui cada comando de shell inline por[shell command execution disabled by policy]em vez de executá-lofalse: o shell inline é executado
- Default: não definido, portanto o shell inline é executado
settings.json
skillOverrides
Oculte ou recolha um skill sem editar seu SKILL.md. Claude Code aplica o valor sob o nome de cada skill à lista de skills que Claude vê e ao seu autocomplete /.
- Scope:
Any file. O menu/skillsescreve em.claude/settings.local.json. - Type: objeto mapeando nome do skill para um de:
"on": Claude vê o skill e você pode digitar/name"name-only": Claude vê o skill pelo nome sem sua descrição"user-invocable-only": Claude não vê o skill, mas você ainda pode digitar/name"off": Claude não vê o skill e/namefica oculto do autocomplete
- Default: não definido, portanto cada skill é
"on"
legacy-context para Claude apenas pelo nome e oculta deploy de Claude e do autocomplete /:
settings.json
/plugin.
Em configurações gerenciadas e arquivos passados com --settings, uma chave em um alias de skill agrupado, como checkup para /doctor, também se aplica ao skill; consulte como chaves de alias se combinam com chaves no próprio nome do skill.
syncClaudeAiSkills
Desative o download dos skills habilitados para sua conta claude.ai. Claude Code os baixa em ~/.claude/skills/synced/ em sessões de terminal onde você faz login com sua conta claude.ai, interativas ou não interativas, e em sessões Cowork e cloud. Defina false para parar esse download e parar de carregar os skills que já sincronizou. Claude Code honra apenas false: true é o mesmo que não definido e não ativa a sincronização onde está desativada.
- Scope:
User, local, or managed, e arquivos passados com--settings. Um repositório não pode desativá-lo para você. - Type: Boolean
false: Claude Code para de baixar skills sincronizados e para de carregar os já em~/.claude/skills/synced/. Em configurações de usuário ou gerenciadas, também os move para~/.claude/skills/.trash/true: o mesmo que não definido
- Default: não definido, portanto sessões conectadas com sua conta claude.ai sincronizam seus skills
settings.json
syncClaudeAiPlugins
Desative o download dos plugins habilitados para sua conta claude.ai. Claude Code os baixa em ~/.claude/plugins/synced/ no início de sessões de terminal onde você faz login com sua conta claude.ai e em sessões Cowork, e carrega cada um como <name>@synced. Defina false para parar esse download e parar de carregar os plugins que já sincronizou. Claude Code honra apenas false: true é o mesmo que não definido e não ativa a sincronização onde está desativada. Requer Claude Code v2.1.273 ou posterior.
- Scope:
User, local, or managed, e arquivos passados com--settings. Um repositório não pode desativá-lo para você. - Type: Boolean
false: Claude Code para de baixar plugins sincronizados e para de carregar os já em~/.claude/plugins/synced/. Em configurações de usuário ou gerenciadas, também os move para~/.claude/plugins/.trash/true: o mesmo que não definido
- Default: não definido, portanto sessões conectadas com sua conta claude.ai sincronizam seus plugins
"<name>@synced": false em enabledPlugins.
Este exemplo impede que uma máquina baixe os plugins da conta em qualquer sessão:
settings.json
allowedChannelPlugins
Escolha quais plugins de channel podem enviar mensagens para sessões em sua organização. Quando você o define, Claude Code usa sua lista no lugar da lista de permissões padrão da Anthropic; cada entrada nomeia um plugin e o marketplace de onde vem.
- Scope:
Managed - Type: array de objetos, cada um com strings
marketplaceeplugin. Uma entrada pode ser uma string"plugin@marketplace"como"telegram@claude-plugins-official", que Claude Code trata como o objeto equivalente. A forma de string requer Claude Code v2.1.267 ou posterior; versões anteriores rejeitam todo o valorallowedChannelPluginsquando contém uma - Default: não definido, portanto Claude Code usa a lista de permissões padrão da Anthropic
managed-settings.json
channelsEnabled para a conta: em planos Team e Enterprise, e em contas Console com configurações gerenciadas, isso significa channelsEnabled: true. Consulte Restringir quais plugins de channel podem ser executados.
blockedMarketplaces
Bloqueie fontes de marketplace de plugin para sua organização. Claude Code verifica a lista de bloqueio ao adicionar marketplace e ao instalar, atualizar, atualizar e auto-atualizar plugin, portanto um marketplace que alguém adicionou antes de você definir a política não pode ser usado para buscar plugins. Fontes bloqueadas são verificadas antes do download, portanto nunca tocam o sistema de arquivos.
Se você definir esta chave no console de administração claude.ai, claude.ai também a aplica quando qualquer pessoa em sua organização adiciona um marketplace de um repositório git em claude.ai, como Como as restrições funcionam descreve.
- Scope:
Managed - Type: array de objetos de fonte de marketplace, nas mesmas formas que
strictKnownMarketplaces - Default: não definido, portanto nenhum marketplace é bloqueado
managed-settings.json
github pode usar a forma owner-wildcard "owner/*" para bloquear cada repositório sob esse proprietário GitHub, que requer Claude Code v2.1.223 ou posterior. Adicione { "source": "skills-dir" } para parar Claude Code de carregar plugins @skills-dir de ~/.claude/skills/ sem restringir nenhum marketplace. Consulte Restrições de marketplace gerenciadas.
channelsEnabled
Permita channels para sua organização. Em planos Team e Enterprise do claude.ai, Claude Code bloqueia channels até você definir isso como true. Para contas do Anthropic Console que autenticam com uma chave API, channels são permitidos por padrão. Se sua organização implanta configurações gerenciadas, Claude Code bloqueia channels nessas contas também até você definir esta chave como true.
- Scope:
Managed - Type: Boolean
true: Claude Code permite channels para sua organizaçãofalse: o mesmo que não definido; se channels são bloqueados depende de seu plano, como o Default diz
- Default: não definido; channels são bloqueados em planos Team e Enterprise e em contas Console com configurações gerenciadas, e permitidos em planos Pro e Max e em contas Console sem configurações gerenciadas
managed-settings.json
allowedChannelPlugins. Consulte Controles Enterprise.
disableCommandPluginSources
Bloqueie a fonte de plugin command, que instala um plugin executando um comando declarado pelo marketplace na máquina do usuário. Quando você o define como true, Claude Code nunca executa o comando, não instala ou atualiza plugins originários de comando, e para de carregar os já instalados. Defina como false para permitir explicitamente. Sempre que bloqueia fontes de comando, se você o define como true ou o deixa não definido sob allowManagedHooksOnly, também bloqueia comandos headersHelper do marketplace, exceto para um marketplace que as próprias configurações gerenciadas declaram. Requer Claude Code v2.1.229 ou posterior, e o bloqueio headersHelper requer v2.1.238 ou posterior.
- Scope:
Managed - Type: Boolean
true: Claude Code nunca executa o comando declarado pelo marketplace, não instala ou atualiza plugins originários de comando, e para de carregar os já instaladosfalse: Claude Code permite plugins originários de comando explicitamente
- Default: não definido, portanto Claude Code segue
allowManagedHooksOnly: uma organização que restringe execução de hook a configurações gerenciadas também obtém fontes de comando desabilitadas
managed-settings.json
pluginSuggestionMarketplaces
Nomeie os marketplaces cujos plugins podem aparecer como sugestões de instalação contextual, em dicas de spinner e fixadas no topo da aba Discover do /plugin. A dica integrada de design de frontend de primeira parte não é afetada. Sugestões vêm da declaração relevance de cada plugin em sua entrada de marketplace.
- Scope:
Managed - Type: array de nomes de marketplace
- Default: não definido, portanto nenhuma sugestão declarada pelo marketplace aparece
managed-settings.json
extraKnownMarketplaces para esse nome ou como uma entrada de strictKnownMarketplaces. Claude Code ignora um marketplace registrado de uma fonte diferente sob um nome na lista de permissões. O marketplace oficial é isento do requisito de fonte: permitir apenas seu nome é suficiente, já que esse nome só pode ser registrado da fonte oficial da Anthropic. Consulte Sugerir plugins por contexto.
pluginTrustMessage
Adicione seu próprio texto da organização ao aviso de confiança de plugin que Claude Code mostra antes da instalação, por exemplo para confirmar que plugins do seu marketplace interno são verificados.
- Scope:
Managed - Type: string
- Default: não definido, portanto Claude Code mostra apenas o aviso padrão
managed-settings.json
strictKnownMarketplaces
Restrinja quais fontes de marketplace de plugin as pessoas em sua organização podem adicionar e instalar plugins. Claude Code aplica a lista de permissões ao adicionar marketplace e ao instalar, atualizar, atualizar e auto-atualizar plugin, antes de qualquer operação de rede ou sistema de arquivos, portanto um marketplace que alguém adicionou antes de você definir a política não pode ser usado para buscar plugins uma vez que sua fonte não corresponde mais. Usuários bloqueados veem um erro nomeando a política gerenciada.
Se você definir esta chave no console de administração claude.ai, claude.ai também a aplica quando qualquer pessoa em sua organização adiciona um marketplace de um repositório git em claude.ai, como Como as restrições funcionam descreve.
- Scope:
Managed - Type: array de objetos de fonte de marketplace; consulte Tipos de fonte permitidos
- Default: não definido, portanto usuários podem adicionar qualquer marketplace. Um array vazio é um bloqueio completo que bloqueia cada fonte de marketplace, incluindo o marketplace oficial da Anthropic
v2.0 e uma URL marketplace.json hospedada:
managed-settings.json
allowedMarketplaces; Aliases de chave de marketplace descreve como Claude Code trata o alias e qual versão o aceita. Esta chave é uma porta de política: controla o que usuários podem adicionar, mas não registra nada. Para restringir e pré-registrar em um arquivo, consulte Combinar com extraKnownMarketplaces. Para a visualização voltada para o usuário, consulte Restrições de marketplace gerenciadas.
Tipos de fonte permitidos
Cada entrada abaixo mostra uma entrada de lista de permissões por tipo de fonte e os campos que aceita. A maioria dos tipos corresponde exatamente;hostPattern e pathPattern correspondem por regex, e entradas github podem usar um owner wildcard.
Três tipos de fonte carregam regras além da tabela:
-
url: um marketplace de URL baixa apenas o arquivomarketplace.json, e Claude Code não busca arquivos de plugin por caminho relativo desse servidor, portanto seus plugins devem usar uma fonte de plugin diferente de um caminho relativo, como uma URL de arquivo, que pode estar no mesmo host. Para plugins com caminhos relativos, use um marketplace baseado em Git. Consulte Plugins com caminhos relativos falham em marketplaces baseados em URL. -
hostPattern: use-o para permitir cada marketplace em um GitHub Enterprise interno ou servidor GitLab sem listar cada repositório. Claude Code corresponde fontesgithubcontragithub.com, pega o nome do host de fontesurl, e o pega de fontesgitdependendo da forma da URL git:- Uma URL com um esquema, como
https://oussh://: o nome do host na URL. - Um endereço SSH sem esquema, na forma
user@host:pathdo git, comogit@git.example.com:tools/plugins.git: o host entre@e:, que é o host ao qual git se conecta. - Qualquer outra forma sem esquema: sem host, portanto nenhuma entrada
hostPatterndestrictKnownMarketplacescorresponde. Para umhostPatterndeblockedMarketplaces, Claude Code pega um host de um conjunto mais amplo de formas, portanto uma entrada de lista de bloqueio ainda pode corresponder a tal forma. Antes de v2.1.234, umhostPatterndestrictKnownMarketplacestambém correspondia a algumas formas que git não trata como endereços SSH.
fileedirectorynão têm host e nunca correspondem a uma entradahostPattern. - Uma URL com um esquema, como
-
pathPattern: use-o para permitir marketplaces do sistema de arquivos ao lado de entradashostPatternpara fontes de rede.".*"permite cada caminho local; um padrão mais estreito como"^/opt/approved/"restringe a um diretório.
@skills-dir de ~/.claude/skills/. Adicione a entrada { "source": "skills-dir" } para continuar carregando-os; a entrada não tem significado fora desta chave e blockedMarketplaces.
Owner wildcards
Uma entradagithub cujo valor repo é "<owner>/*" corresponde cada repositório sob esse proprietário GitHub. Owner wildcards requerem Claude Code v2.1.223 ou posterior e funcionam apenas em strictKnownMarketplaces e blockedMarketplaces. Em qualquer outro lugar onde uma fonte github aparece, como extraKnownMarketplaces ou /plugin marketplace add, o valor repo deve nomear um único repositório. Antes de v2.1.223, Claude Code comparava a entrada literalmente, portanto uma entrada de lista de permissões não correspondia a nenhum repositório e uma entrada de lista de bloqueio não bloqueava nada; entradas de repositório único são aplicadas em cada versão.
Esta entrada permite qualquer repositório de marketplace na organização acme-corp:
managed-settings.json
*, */plugins ou acme-corp/tools-* como inválidas, portanto não correspondem a nenhum repositório.
As regras de correspondência diferem entre as duas configurações:
Correspondência exata
Para cada tipo de fonte exceto entradasgithub de owner-wildcard e entradas hostPattern e pathPattern correspondidas por regex, Claude Code permite uma adição de usuário apenas quando a fonte de marketplace corresponde a uma entrada exatamente. Para as fontes baseadas em git github e git, correspondência exata inclui os campos opcionais:
- O
repoouurldeve corresponder exatamente - O campo
refdeve corresponder exatamente, ou ambos devem ser indefinidos - O campo
pathdeve corresponder exatamente, ou ambos devem ser indefinidos
{ "source": "github", "repo": "acme-corp/plugins" }e{ "source": "github", "repo": "acme-corp/plugins", "ref": "main" }{ "source": "github", "repo": "acme-corp/plugins", "path": "marketplace" }e{ "source": "github", "repo": "acme-corp/plugins" }
Permitir apenas o marketplace oficial
Para permitir o marketplace oficial da Anthropic e nada mais, liste seu repositório:managed-settings.json
- Ambientes não interativos que executam antes da primeira sessão de terminal interativa da máquina.
- Máquinas onde Claude Code só executou através da extensão VS Code.
- Máquinas onde Claude Code já executou uma sessão de terminal interativa sob uma política que bloqueou o marketplace, como o bloqueio de array vazio. Claude Code registra a tentativa bloqueada e não tenta novamente após a política mudar.
extraKnownMarketplaces no mesmo managed-settings.json para que Claude Code o registre automaticamente, ou execute claude plugin marketplace add anthropics/claude-plugins-official.
Combinar com extraKnownMarketplaces
As duas chaves fazem trabalhos diferentes. Esta tabela as compara:
Para restringir e pré-registrar um marketplace para todos os usuários, defina ambos em
managed-settings.json:
managed-settings.json
strictKnownMarketplaces definido, usuários ainda podem adicionar um marketplace permitido eles mesmos com /plugin marketplace add. O marketplace oficial da Anthropic é o único que Claude Code registra automaticamente, e apenas quando a lista de permissões o permite. Permitir apenas o marketplace oficial lista as máquinas que perde.
strictPluginOnlyCustomization
Bloqueie skills, agents, hooks e servidores MCP de fontes de usuário e projeto, portanto podem vir apenas de plugins ou configurações gerenciadas. Combine com strictKnownMarketplaces para controlar a cadeia de suprimento de customização completa: a lista de permissões de marketplace controla quais plugins usuários podem instalar.
- Scope:
Managed - Type:
truepara bloquear todos os quatro tipos de customização, ou um array nomeando os tipos a bloquear, de"skills","agents","hooks"e"mcp" - Default: não definido, portanto nada é bloqueado
managed-settings.json
strictPluginOnlyCustomization.skills
Bloqueie a superfície skills. Claude Code para de carregar skills de ~/.claude/skills/ e .claude/skills/, comandos personalizados de ~/.claude/commands/ e .claude/commands/, skills e comandos sob diretórios --add-dir, e skills sincronizados de sua conta claude.ai. Continua carregando plugin skills, skills agrupados e skills no diretório de política gerenciada.
- Scope:
Managed - Type: a string
"skills"no arraystrictPluginOnlyCustomization - Default: não bloqueado
managed-settings.json
strictPluginOnlyCustomization.agents
Bloqueie a superfície agents. Claude Code para de carregar agents de ~/.claude/agents/, .claude/agents/ e diretórios --add-dir. Continua carregando plugin agents, agents integrados e agents no diretório de política gerenciada.
- Scope:
Managed - Type: a string
"agents"no arraystrictPluginOnlyCustomization - Default: não bloqueado
managed-settings.json
strictPluginOnlyCustomization.hooks
Bloqueie a superfície hooks. Claude Code para de executar hooks de configurações de usuário, projeto e local settings.json, e continua executando plugin hooks e hooks em configurações gerenciadas.
- Scope:
Managed - Type: a string
"hooks"no arraystrictPluginOnlyCustomization - Default: não bloqueado
managed-settings.json
strictPluginOnlyCustomization.mcp
Bloqueie a superfície mcp. Claude Code para de carregar servidores MCP de ~/.claude.json e .mcp.json, e continua carregando plugin MCP servers, servidores managed-mcp.json e servidores de managedMcpServers.
- Scope:
Managed - Type: a string
"mcp"no arraystrictPluginOnlyCustomization - Default: não bloqueado
managed-settings.json
enabledPlugins
Ative ou desative plugins individuais, codificados por plugin-name@marketplace-name. Um plugin sem entrada em nenhum escopo volta ao seu valor defaultEnabled. Quando você ativa ou desativa um plugin com /plugin ou claude plugin enable, Claude Code escreve esta chave para você.
- Scope:
Any file - Type: objeto mapeando
plugin-name@marketplace-namepara um Boolean - Default: não definido, portanto cada plugin segue seu valor
defaultEnabled
team-tools e desativa um de personal:
settings.json
- User settings: suas preferências pessoais de plugin
- Project settings: plugins compartilhados com todos no repositório
- Local settings: overrides por máquina, gitignored quando Claude Code salva uma configuração lá
- Managed settings: política em toda a organização. Um plugin definido como
falseaqui é bloqueado da instalação em cada escopo e ocultado do marketplace
false em ~/.claude/settings.json não desativa um plugin que o .claude/settings.json do projeto ativa. Para optar por não participar de um plugin habilitado pelo projeto em sua máquina, defina como false em .claude/settings.local.json. Plugins forçadamente habilitados por configurações gerenciadas não podem ser desativados dessa forma, já que configurações gerenciadas substituem configurações locais.
Ativar um plugin de uma fonte externa como um repositório GitHub ou pacote npm no .claude/settings.json de um projeto não o instala para outras pessoas. Em cada caminho que carrega plugins, Claude Code relata o plugin como não instalado até que cada usuário o instale.
extraKnownMarketplaces
Registre marketplaces de plugin adicionais por nome, para que pessoas que abram o repositório, ou todos que suas configurações gerenciadas alcançam, obtenham o marketplace sem adicioná-lo eles mesmos. Claude Code registra cada marketplace que ainda não conhece. Se um plugin que enabledPlugins nomeia dele instala depende da fonte do plugin e qual arquivo o ativa; essa entrada tem as regras.
- Scope:
Any file. Claude Code honra entradas no.claude/settings.jsonou.claude/settings.local.jsonde um repositório apenas após você aceitar o diálogo de confiança de workspace para essa pasta; em uma pasta que você não confiou, incluindo uma execução-plá, ignora sem mensagem. - Type: objeto mapeando um nome de marketplace para um objeto com um objeto
sourcee um BooleanautoUpdateopcional - Default: não definido
settings.json
additionalMarketplaces; consulte Aliases de chave de marketplace.
Defina "autoUpdate": true ao lado de source para fazer Claude Code atualizar esse marketplace e atualizar seus plugins instalados em segundo plano após a inicialização. Quando omitido, claude-plugins-official e a maioria dos outros marketplaces oficiais da Anthropic padrão para true, e marketplaces de terceiros padrão para false. Consulte Configurar auto-atualizações.
Quando mais de um arquivo de configurações define uma entrada de marketplace sob o mesmo nome, Claude Code usa a entrada do arquivo de precedência mais alta inteiro. Essa entrada substitui a entrada de precedência mais baixa e não herda nenhum de seus campos, portanto uma redefinição não pode combinar source.headers de credencial de um arquivo com uma URL que outro arquivo controla. Antes de v2.1.228, Claude Code mesclava entradas de mesmo nome campo por campo, portanto uma entrada em um arquivo de precedência mais alta poderia herdar campos que não definiu, incluindo headers de outro arquivo.
Tipos de fonte de marketplace
O objetosource toma uma destas formas:
github: um repositório GitHub, comrepogit: qualquer URL git, comurlurl: uma URL direta para um arquivomarketplace.json, comurleheadersopcional eheadersHelperpara acesso autenticado.headersHelpernomeia um comando que imprime cabeçalhos cujos valores são muito efêmeros para listar emheaders, e requer Claude Code v2.1.238 ou posteriorfile: um caminho local para um arquivomarketplace.json, compathdirectory: um caminho do sistema de arquivos local, compath. Use-o para desenvolvimento, ou para um marketplace que sua organização implanta em cada máquina.settings: um marketplace inline declarado diretamente no arquivo de configurações sem um repositório hospedado, comnameeplugins
git funciona com qualquer serviço de hospedagem git, incluindo GitLab auto-hospedado e Bitbucket. Claude Code clona o repositório com a mesma autenticação que git clone usaria nessa máquina: helpers de credencial configurados ou chaves SSH. Um token de provedor como GITHUB_TOKEN entra em vigor através de um helper de credencial que o lê. Consulte Repositórios privados para detalhes de configuração.
Para fontes github e git, Claude Code nunca baixa conteúdo Git LFS quando clona o repositório de marketplace para adicioná-lo ou atualizá-lo. Arquivos rastreados por LFS são verificados como arquivos de ponteiro, e a saída de adição ou atualização relata quantos.
O campo skipLfs dentro do objeto source é aceito e não tem efeito. Antes de v2.1.274, Claude Code baixava conteúdo LFS a menos que você definisse "skipLfs": true.
Para uma fonte url, defina headersHelper dentro do objeto source quando a credencial em headers expira e um comando tem que produzir uma nova. Requer Claude Code v2.1.238 ou posterior. Para o que o comando deve imprimir e onde Claude Code o executa, consulte Escrever o comando headersHelper, e para os casos onde Claude Code não o executa, consulte Quando Claude Code pula um comando headersHelper. Uma vez que você defina headersHelper em uma URL de marketplace https://, Claude Code executa o comando em dois pontos, reutilizando a saída de uma execução por até 60 segundos:
- Antes de cada busca do
marketplace.jsondesse marketplace, incluindo uma atualização posterior. Claude Code envia os cabeçalhos impressos com essa busca. - Antes de cada download de arquivo de plugin na origem da URL do marketplace, significando o mesmo esquema, host e porta. Claude Code envia a saída com esse download, e nenhum outro download obtém os cabeçalhos.
headersHelper definido no .claude/settings.json ou .claude/settings.local.json de um diretório que você adiciona com --add-dir, em uma fonte url e em uma entrada de plugin inline, e envia apenas os headers fixos definidos nesse arquivo. Como usuários aceitam um comando headersHelper cobre os outros arquivos de configurações.
Plugins listados em uma fonte settings devem referenciar fontes externas como GitHub ou npm, e o name deve corresponder à chave de marketplace. Você ainda ativa cada plugin separadamente em enabledPlugins. Este exemplo declara um plugin inline:
settings.json
source: 'settings' cuja própria source é um archive pode definir headers para o download de arquivo. Se o valor que você colocaria em headers é efêmero, como um token que seu registro cria sob demanda, defina um comando headersHelper em vez disso. Uma entrada pode definir ambos. Ambos os campos requerem Claude Code v2.1.238 ou posterior.
Claude Code envia os headers da entrada, e o que o comando imprime, com o download de arquivo desse plugin e com nenhum outro download. Claude Code executa o comando apenas quando um usuário instala ou atualiza apenas esse plugin. Três regras adicionais dependem de qual arquivo contém a entrada:
strict: diferentemente de uma entrada nomarketplace.jsonde um marketplace, uma entrada em configurações não precisa de"strict": false, porque um arquivo de configurações não carrega campos de manifesto inline. Consulte Strict mode.- Folder trust: para uma entrada no
.claude/settings.jsonou.claude/settings.local.jsonde um projeto, Claude Code executa o comando apenas após o usuário também confiar nessa pasta. - Header filter: Claude Code descarta nomes de cabeçalho de roteamento de solicitação e identidade de cliente de uma entrada no
.claude/settings.jsonou.claude/settings.local.jsonde um projeto, porque um repositório pode fornecer esses arquivos. Claude Code aplica o mesmo filtro a uma entrada de catálogo e a uma entrada no settings de um diretório--add-dir, e nenhum filtro a uma entrada em suas configurações de usuário, um arquivo--settingsou configurações gerenciadas.
Aliases de chave de marketplace
No Claude Code v2.1.232 ou posterior, você pode escreverextraKnownMarketplaces como additionalMarketplaces e strictKnownMarketplaces como allowedMarketplaces. Claude Code trata cada alias como segue:
- Versões anteriores ignoram o alias, portanto mantenha a grafia canônica em um arquivo que versões mais antigas também leem, como um arquivo de configurações gerenciadas para uma frota com versões mistas de Claude Code.
- Em qualquer arquivo de configurações que aceita a chave canônica, Claude Code lê o alias exatamente como lê a chave canônica.
- Claude Code pode reescrever
additionalMarketplacesparaextraKnownMarketplacesquando atualiza o arquivo. - Se você definir ambas as grafias em um arquivo, Claude Code usa o valor canônico e ignora o alias.
pluginConfigs
Armazene as respostas não sensíveis que você dá ao diálogo de configuração userConfig de um plugin, codificadas por ID de plugin. Claude Code escreve esta chave para suas configurações de usuário quando você preenche o diálogo, portanto você não precisa editá-la manualmente. Claude Code armazena opções sensíveis no Keychain do macOS em vez disso, voltando para ~/.claude/.credentials.json quando o Keychain rejeita a escrita; em plataformas sem um keychain suportado, armazena em ~/.claude/.credentials.json.
- Scope:
User or managed - Type: objeto mapeando um ID de plugin para um objeto com um campo
options, mapeando cada nome de opção para uma string, número, Boolean ou array de strings, e um campomcpServersopcional mantendo valores de configuração de usuário por servidor na mesma forma - Default: não definido
api_endpoint para o plugin deployer de acme-tools:
settings.json
@builtin. Por exemplo, a configuração Project instructions que controla se Claude Code lê arquivos AGENTS.md é pluginConfigs["cc-plugin-agents-md@builtin"].options.instructionFiles. Antes de v2.1.285, o ID do plugin era agents-md@builtin. Versões posteriores leem uma entrada sob qualquer um dos dois IDs.
Claude Code ignora entradas de projeto e local porque substitui esses valores em configurações de plugin hook, MCP e LSP, e um repositório clonado não deve ser capaz de fornecê-los. Antes de v2.1.207, configurações de projeto e local também eram lidas.
prependPlugins
Liste os plugins gerenciados cujos mods são executados antes de cada mod que um usuário instala, na ordem listada. Quando você define esta chave em configurações gerenciadas, nomeie sec-default@builtin na lista para manter a guarda integrada. Em configurações gerenciadas, Claude Code pula um id cujo plugin não conta como de sua organização. Consulte Instale os mods de sua organização e defina a ordem para essas condições e para como as duas chaves de ordenação funcionam juntas.
- Scope:
User or managed. Claude Code lê a chave de configurações gerenciadas. Lê a chave de configurações de usuário apenas em uma máquina sem configurações gerenciadas, para um usuário que não está conectado com um plano Team ou Enterprise. Ignora a chave em configurações de projeto e local e em um arquivo--settings. - Type: array de strings
plugin-name@marketplace-name - Default: não definido
managed-settings.json
appendPlugins
Liste os plugins gerenciados cujos mods são executados após cada mod que um usuário instala, na ordem listada. Um id listado em ambos prependPlugins e appendPlugins é antecedido. Em configurações gerenciadas, Claude Code pula um id cujo plugin não conta como de sua organização.
- Scope:
User or managed. Claude Code lê a chave de configurações gerenciadas. Lê a chave de configurações de usuário apenas em uma máquina sem configurações gerenciadas, para um usuário que não está conectado com um plano Team ou Enterprise. Ignora a chave em configurações de projeto e local e em um arquivo--settings. - Type: array de strings
plugin-name@marketplace-name - Default: não definido
managed-settings.json
MCP
Controle quais servidores MCP o Claude Code se conecta e quais uma organização permite. Veja Conectar a ferramentas externas com MCP e Configuração MCP gerenciada.allowAllClaudeAiMcps
Carregue os conectores claude.ai que o Claude Code busca por si mesmo junto com um managed-mcp.json implantado. Sem essa chave, managed-mcp.json assume controle exclusivo dos servidores MCP e suprime esses conectores.
- Escopo:
Managed. Os usuários não podem reativar conectores que o controle exclusivo suprimiu. - Tipo: Booleano
true: Claude Code carrega os conectores claude.ai junto com ummanaged-mcp.jsonimplantadofalse: ummanaged-mcp.jsonimplantado assume controle exclusivo dos servidores MCP e suprime os conectores claude.ai que o Claude Code busca por si mesmo
- Padrão:
false, portanto ummanaged-mcp.jsonimplantado suprime os conectores claude.ai que o Claude Code busca por si mesmo
managed-settings.json
allowedMcpServers e deniedMcpServers ainda se aplicam aos conectores que essa chave carrega. Os conectores entregues a uma sessão na nuvem cujo host carrega um managed-mcp.json, como um executor auto-hospedado, permanecem suprimidos. Veja Permitir conectores claude.ai junto com o conjunto gerenciado.
allowClaudeInChromeWithManagedMcp
Permita que o servidor Claude no Chrome integrado seja executado junto com um managed-mcp.json implantado. Sem essa chave, um managed-mcp.json implantado bloqueia Claude no Chrome em sessões de terminal. Requer Claude Code v2.1.282 ou posterior.
- Escopo:
Managed, apenas das configurações gerenciadas do próprio dispositivo: um plist implantado por MDM ou chave de registro HKLM, ou um arquivomanaged-settings.jsondo sistema. O Claude Code ignora em configurações gerenciadas pelo servidor, no registro HKCU gravável pelo usuário e em configurações de usuário ou projeto. - Tipo: Booleano
true: o servidor Claude no Chrome integrado pode ser executado junto com ummanaged-mcp.jsonimplantadofalse: ummanaged-mcp.jsonimplantado bloqueia Claude no Chrome em sessões de terminal
- Padrão:
false, portanto ummanaged-mcp.jsonimplantado bloqueia Claude no Chrome em sessões de terminal
managed-settings.json
deniedMcpServers para claude-in-chrome ainda bloqueia o servidor com essa chave ativada. Veja Permitir Claude no Chrome junto com o conjunto gerenciado.
allowedMcpServers
Crie uma lista de permissões dos servidores MCP que as pessoas podem adicionar. O Claude Code bloqueia qualquer servidor que não corresponda a uma entrada onde quer que seja definido, incluindo servidores de plugins, servidores passados com --mcp-config e servidores do claude.ai.
Servidores integrados como Claude no Chrome, o servidor ide ao qual o Claude Code se conecta em um VS Code ou JetBrains IDE em execução, e servidores que a própria CLI configura estão isentos da lista de permissões, e a lista de negação ainda se aplica a eles. Na Claude Code v2.1.268 ou posterior, as ferramentas Slack de uma sessão Claude Tag também estão isentas da lista de permissões, e a lista de negação ainda se aplica a elas. Servidores type: "sdk" em processo estão isentos de ambas as listas; o aplicativo que iniciou a sessão os registra.
Os servidores que sua organização entrega também estão isentos da lista de permissões, e a lista de negação ainda se aplica a eles. A isenção cobre cada entrada managedMcpServers e qualquer entrada managed-mcp.json cujos valores não usam expansão ${VAR}. Veja Como um servidor é avaliado para a ordem de verificação completa. Antes da v2.1.259, servidores do managed-mcp.json também tinham que corresponder.
- Escopo:
Any file. As entradas de cada arquivo se mesclam em uma lista de permissões, a menos queallowManagedMcpServersOnlyesteja definido. Implante-o em configurações gerenciadas para aplicá-lo. - Tipo: matriz de objetos, cada um com exatamente uma chave:
serverName, uma string limitada a letras, números, hífens e sublinhados;serverCommand, uma matriz do comando e seus argumentos correspondidos exatamente; ouserverUrl, um padrão de URL com curingas* - Padrão: não definido, portanto cada servidor é permitido; uma matriz vazia bloqueia cada servidor que os usuários adicionam
npx listado inicia:
settings.json
deniedMcpServers tem precedência, portanto um servidor em ambas as listas é bloqueado. Uma vez que a lista contém qualquer entrada serverCommand, um servidor stdio deve corresponder a uma entrada serverCommand, e uma vez que contém qualquer entrada serverUrl, um servidor remoto deve corresponder a uma entrada serverUrl: uma correspondência serverName não admite mais esse tipo de servidor. Veja Controle baseado em política com listas de permissões e negação.
allowManagedMcpServersOnly
Faça da lista de permissões gerenciada a única que se aplica. O Claude Code então lê allowedMcpServers apenas das configurações gerenciadas e ignora listas de permissões nas configurações de usuário, projeto e local; deniedMcpServers ainda se mescla de cada escopo de configurações, portanto os usuários ainda podem bloquear servidores para si mesmos. Os administradores o definem para que as próprias configurações de um usuário não possam ampliar o que a lista de permissões gerenciada permite.
- Escopo:
Managed - Tipo: Booleano
true: Claude Code lêallowedMcpServersapenas das configurações gerenciadas e ignora listas de permissões nas configurações de usuário, projeto e localfalse: listas de permissões de cada escopo de configurações se mesclam
- Padrão:
false, portanto listas de permissões de cada escopo de configurações se mesclam
github:
managed-settings.json
deniedMcpServers
Bloqueie servidores MCP específicos. O Claude Code recusa carregar um servidor correspondente onde quer que seja definido, incluindo servidores de plugins, servidores passados com --mcp-config, servidores do managed-mcp.json, servidores do managedMcpServers e os conectores claude.ai que ele busca por si mesmo. Servidores type: "sdk" em processo estão isentos; o aplicativo que iniciou a sessão os registra.
- Escopo:
Any file. As entradas de cada arquivo se mesclam em uma lista de negação, eallowManagedMcpServersOnlynão muda isso. Implante-o em configurações gerenciadas para aplicá-lo. - Tipo: matriz de objetos, cada um com exatamente uma chave:
serverName, uma string, portanto o nome de exibição de um conector claude.ai como"claude.ai Slack"funciona;serverCommand, uma matriz do comando e seus argumentos correspondidos exatamente; ouserverUrl, um padrão de URL com curingas* - Padrão: não definido, portanto nenhum servidor é bloqueado; uma matriz vazia também não bloqueia nada
settings.json
allowedMcpServers, portanto um servidor em ambas as listas é bloqueado. Veja Controle baseado em política com listas de permissões e negação.
disableClaudeAiConnectors
Desative os conectores MCP claude.ai que o Claude Code busca por si mesmo, para que ele não os busque nem se conecte a eles. Um true em qualquer arquivo de configurações se aplica: um .claude/settings.json de projeto verificado pode optar por desativar esses conectores para um repositório, mas um false no nível do projeto não pode substituir um true no nível do usuário ou gerenciado.
- Escopo:
Any file - Tipo: Booleano
true: Claude Code não busca nem se conecta a esses conectoresfalse: o mesmo que não definido; Claude Code busca seus conectores a menos que outro arquivo de configurações ouENABLE_CLAUDEAI_MCP_SERVERSos desative
- Padrão:
false, portanto Claude Code busca seus conectores - Substituições por sessão:
ENABLE_CLAUDEAI_MCP_SERVERSdefinido comofalsedesativa conectores para uma sessão; qualquer um dos dois que os desativa, o outro não pode ligá-los novamente
settings.json
--mcp-config não são afetados. Para bloquear conectores individuais em vez de todos eles, use deniedMcpServers. Veja Desativar conectores claude.ai.
disabledMcpjsonServers
Rejeite servidores específicos definidos no arquivo .mcp.json de um projeto para que o Claude Code nunca se conecte a eles ou peça sua aprovação. Uma rejeição em qualquer arquivo de configurações se aplica, incluindo um .claude/settings.json de projeto verificado no repositório.
- Escopo:
Any file - Tipo: matriz de strings, os nomes dos servidores conforme aparecem em
.mcp.json - Padrão: não definido
settings.json
.claude/settings.local.json quando você rejeita um servidor na caixa de diálogo de aprovação. claude mcp get <name> mostra um servidor rejeitado como ✘ Rejected (see disabledMcpjsonServers in settings). A rejeição tem precedência sobre enabledMcpjsonServers e enableAllProjectMcpServers.
enableAllProjectMcpServers
Aprove cada servidor MCP definido em arquivos .mcp.json de projeto sem um prompt. O Claude Code escreve essa chave em .claude/settings.local.json quando você escolhe aprovar todos os servidores na caixa de diálogo de aprovação.
- Escopo:
Any file. Em uma pasta cuja caixa de diálogo de confiança você não aceitou, o Claude Code a honra das configurações de usuário, configurações gerenciadas e--settingse a ignora no arquivo de projeto compartilhado, tanto na sessão quanto paraclaude mcp listeclaude mcp get; Aprovações de servidor de projeto e confiança de espaço de trabalho diz quando um.claude/settings.local.jsonnão rastreado conta também. - Tipo: Booleano
true: Claude Code aprova cada servidor MCP definido em arquivos.mcp.jsonde projeto sem um promptfalse: Claude Code pede que você aprove cada servidor. Em uma pasta confiável, umfalseem um arquivo de precedência mais alta substitui umtrueem um de precedência mais baixa; em uma pasta que você não confiou, umtrueem qualquer arquivo honrado é suficiente
- Padrão: não definido, portanto Claude Code pede que você aprove cada servidor
settings.json
disabledMcpjsonServers ainda rejeita um servidor.
enabledMcpjsonServers
Aprove servidores específicos definidos em arquivos .mcp.json de projeto para que o Claude Code se conecte a eles sem perguntar. O Claude Code escreve essa chave em .claude/settings.local.json quando você aprova um servidor na caixa de diálogo de aprovação.
- Escopo:
Any file. Em uma pasta cuja caixa de diálogo de confiança você não aceitou, o Claude Code a honra das configurações de usuário, configurações gerenciadas e--settingse a ignora no arquivo de projeto compartilhado, tanto na sessão quanto paraclaude mcp listeclaude mcp get; Aprovações de servidor de projeto e confiança de espaço de trabalho diz quando um.claude/settings.local.jsonnão rastreado conta também. - Tipo: matriz de strings, os nomes dos servidores conforme aparecem em
.mcp.json - Padrão: não definido
memory e github do .mcp.json do projeto:
settings.json
disabledMcpjsonServers ainda rejeita um servidor.
managedMcpServers
Forneça servidores MCP remotos para cada usuário a partir de configurações gerenciadas. Os usuários mantêm os servidores que adicionam por conta própria e não podem editar ou remover os que você fornece. Requer Claude Code v2.1.259 ou posterior.
- Escopo:
Managed. O Claude Code descarta a chave com um aviso nas configurações de usuário, projeto e local, e não a lê na guia Code do aplicativo Claude Desktop em uma implantação de terceiros ou nas sessões Cowork do aplicativo, onde o Claude Desktop fornece e bloqueia os servidores MCP dessas sessões. - Tipo: objeto com chave de nome do servidor. Cada entrada tem a forma
.mcp.jsonpara um servidorhttpousse: umaurlhttps://obrigatória e opcionalmenteheaders,oauthe as outras opções HTTP e SSE. O Claude Code descarta entradas que falham na validação, e O que uma entrada pode conter lista as condições - Padrão: não definido, portanto as configurações gerenciadas não fornecem servidores
search:
managed-settings.json
managed-mcp.json e as listas de permissões e negação, e o que os usuários veem, veja Fornecer servidores através de configurações gerenciadas.
Agentes, sessões e worktrees
Defina o agente padrão, controle colegas de equipe e mensagens entre sessões, e configure worktrees. Veja Subagentes e Worktrees.agent
Execute a thread principal como um subagente nomeado, para que Claude Code aplique o system prompt, as restrições de ferramentas e o modelo desse subagente à sua sessão. A mesma chave define o agente padrão para sessões que você despacha de claude agents.
- Escopo:
Qualquer arquivo - Tipo: string, o nome de um agente integrado ou personalizado
- Padrão: não definido, portanto a thread principal é executada como o agente padrão do Claude Code
- Substituições por sessão:
--agenttem precedência sobre esta chave para uma sessão
settings.json
settings.json de um plugin também pode fornecer esta chave; veja Envie configurações padrão com seu plugin.
crossSessionInbound
Escolha o que esta sessão faz com mensagens chegando de suas outras sessões do Claude Code. Quando nenhum valor se aplica, Claude Code decide por mensagem das classes de modo de permissão das duas sessões. Requer Claude Code v2.1.224 ou posterior.
- Escopo:
Qualquer arquivo. Um valor de projeto ou local se aplica apenas quando é mais restritivo do que o valor de configurações gerenciadas, a flag--settingsou configurações de usuário fornecem. - Tipo: string, um de:
"accept": Claude Code entrega a mensagem ao Claude"hold": Claude Code mostra um aviso para a mensagem sem entregá-la"refuse": Claude Code descarta a mensagem
- Padrão: não definido, portanto Claude Code decide por mensagem
settings.json
--settings, depois as configurações de usuário, e aplica o primeiro valor encontrado. refuse é mais restritivo do que hold, e hold é mais restritivo do que accept. Quando nenhuma das fontes confiáveis define um valor, um hold ou refuse de projeto ou local ainda se aplica, substituindo o padrão por mensagem. Em sessões com mensagens entre sessões, esta chave aparece em /config como Mensagens de suas outras sessões, que a escreve nas configurações de usuário; a linha requer Claude Code v2.1.232 ou posterior, e Claude Code a oculta enquanto a flag --settings ou as configurações gerenciadas definem a chave.
Claude Code avisa quando você define um valor que não reconhece. Enquanto esse valor estiver presente em um arquivo de usuário, projeto, local ou --settings, Claude Code retém mensagens de entrada, mesmo quando uma fonte que tem precedência define accept. Um refuse que outra fonte define ainda se aplica. Corrija ou remova o valor para limpar a retenção.
Quando o valor não reconhecido está em configurações gerenciadas, Claude Code o trata como refuse até que um administrador o corrija. Antes da v2.1.248, Claude Code ignorava um valor não reconhecido sem aviso.
disableAgentView
Desative agentes de fundo e visualização de agente: claude agents, --bg, /background e o supervisor sob demanda. Defina-o em configurações gerenciadas para aplicá-lo a uma organização.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: Claude Code desativaclaude agents,--bg,/backgrounde o supervisor sob demandafalse: a visualização de agente está disponível
- Padrão: não definido, portanto a visualização de agente está disponível
- Substituições por sessão:
CLAUDE_CODE_DISABLE_AGENT_VIEWdesativa a visualização de agente para uma sessão; qualquer um dos dois que a desativar, o outro não pode reativá-la
settings.json
isolatePeerMachines
Exija sua aprovação explícita antes que SendMessage do Claude alcance uma de suas sessões além desta máquina; veja Exigir aprovação para mensagens entre máquinas. O prompt de aprovação aparece mesmo no modo bypassPermissions.
- Escopo:
Qualquer arquivo. Umtruede qualquer escopo se aplica, portanto um arquivo de projeto verificado pode ativar o requisito, mas não desativá-lo. - Tipo: Boolean
true: Claude Code pede sua aprovação antes queSendMessagedo Claude alcance uma de suas sessões além desta máquinafalse: mensagens entre máquinas não solicitam
- Padrão: não definido, portanto mensagens entre máquinas não solicitam
settings.json
SendMessage entre máquinas requer Claude Code v2.1.224 ou posterior.
processWrapper
No macOS e Linux, coloque um comando de inicializador corporativo na frente dos processos de fundo que Claude Code inicia. Claude Code executa o inicializador com sua própria linha de comando anexada, portanto o inicializador deve executar no Claude Code; veja Execute Claude Code atrás de um inicializador corporativo para o contrato do inicializador. Requer Claude Code v2.1.210 ou posterior.
- Escopo:
Usuário ou gerenciado - Tipo: string, o comando do inicializador como um prefixo argv, como um caminho absoluto com argumentos opcionais
- Padrão: não definido, portanto os processos de fundo iniciam sem encapsulamento
- Substituições por sessão:
CLAUDE_CODE_PROCESS_WRAPPERtem precedência sobre esta chave para uma sessão
settings.json
teammateMode
Escolha onde Claude Code mostra colegas de equipe da equipe de agentes: dentro do seu painel de terminal principal, ou em painéis divididos quando seu terminal os suporta. Veja Escolha um modo de exibição.
- Escopo:
Qualquer arquivo. Claude Code também lê um valor deixado em~/.claude.jsonpor versões antigas. - Tipo: string, um de:
"in-process": colegas de equipe são executados dentro do seu painel de terminal principal"auto": painéis divididos quando você está executando dentro do tmux, ou dentro do iTerm2 comit2no seuPATHou tmux instalado; em processo caso contrário"tmux": painéis divididos usando tmux ou iTerm2, detectados do seu terminal"iterm2": painéis divididos nativos do iTerm2 através do CLIit2
- Padrão:
"in-process" - Substituições por sessão:
--teammate-modetem precedência sobre esta chave para uma sessão
settings.json
worktree
Configure como Claude Code cria e gerencia git worktrees para --worktree, a ferramenta EnterWorktree e subagentes isolados e sessões de fundo.
- Escopo:
Qualquer arquivo - Tipo: objeto com
baseRef,symlinkDirectories,sparsePathsebgIsolation - Padrão: não definido
HEAD atual e cria links simbólicos de node_modules em cada um:
settings.json
.env em novos worktrees, adicione um arquivo .worktreeinclude à raiz do seu projeto em vez de uma configuração.
worktree.baseRef
Escolha a partir de qual ref os novos worktrees são criados. "fresh" cria o branch a partir de origin/<default-branch> para uma árvore limpa correspondente ao remoto; "head" cria o branch a partir do seu HEAD local atual, portanto commits não enviados e o estado do branch de recurso estão presentes no worktree.
- Escopo:
Qualquer arquivo - Tipo: string, um de:
"fresh": novos worktrees são criados a partir deorigin/<default-branch>"head": novos worktrees são criados a partir do seuHEADlocal atual, incluindo commits não enviados
- Padrão:
"fresh"
settings.json
"head" resolve para o HEAD desse worktree, não para o do checkout principal.
worktree.symlinkDirectories
Crie links simbólicos de diretórios do repositório principal em cada worktree para que você não duplique diretórios grandes no disco.
- Escopo:
Qualquer arquivo - Tipo: array de strings, caminhos de diretório relativos à raiz do repositório
- Padrão: não definido, portanto Claude Code não cria links simbólicos de nenhum diretório
node_modules e .cache do repositório principal em cada novo worktree:
settings.json
worktree.sparsePaths
Faça checkout apenas dos diretórios listados em cada worktree através do git sparse-checkout. Claude Code escreve apenas esses diretórios mais arquivos no nível raiz no disco, o que é mais rápido em monorepos grandes; veja Faça checkout apenas dos diretórios que você precisa.
- Escopo:
Qualquer arquivo - Tipo: array de strings, caminhos de diretório relativos à raiz do repositório
- Padrão: não definido, portanto cada worktree faz checkout de toda a árvore
packages/my-app e shared/utils, mais arquivos no nível raiz, em cada worktree:
settings.json
extensions.worktreeConfig no .git/config compartilhado do repositório.
worktree.bgIsolation
Escolha como sessões de fundo isolam suas edições de arquivo. Se você moveu uma sessão para o fundo com ← ou /background, essa sessão edita arquivos no local, independentemente do que esta chave diga. Com "worktree", Claude Code bloqueia Edit e Write no checkout principal até que a sessão chame EnterWorktree; com "none", trabalhos de fundo editam a cópia de trabalho diretamente. Defina "none" para um repositório onde git worktrees são impraticáveis.
- Escopo:
Qualquer arquivo - Tipo: string, um de:
"worktree": Claude Code bloqueiaEditeWriteno checkout principal até que a sessão chameEnterWorktree"none": trabalhos de fundo editam a cópia de trabalho diretamente
- Padrão:
"worktree"
settings.json
WorktreeCreate que falha libera o bloqueio para que a sessão possa editar o diretório de trabalho no local; essa liberação requer Claude Code v2.1.203 ou posterior.
Remoto, desktop e notificações
Configure o Controle Remoto, ambientes em nuvem, o aplicativo desktop e as notificações que o Claude Code envia quando precisa de você. Veja Controle Remoto.agentPushNotifEnabled
Permita que o Claude envie uma notificação por push para seu telefone quando decidir que vale a pena enviar uma, por exemplo, quando uma tarefa longa termina. O Claude Code sincroniza essa escolha com sua conta, e as notificações chegam enquanto o Controle Remoto está conectado. Aparece em /config como Push quando Claude decidir.
- Escopo:
Qualquer arquivo. O Claude Code também lê um valor deixado em~/.claude.jsonpor versões antigas. - Tipo: Boolean
true: Claude pode enviar uma notificação por push para seu telefone quando decidir que vale a pena enviar umafalse: Claude não envia essas notificações
- Padrão:
false
settings.json
awaySummaryEnabled
Mostre um resumo de sessão de uma linha quando você retorna ao terminal após alguns minutos ausente. Defina como false, ou desative Resumo da sessão em /config, para parar o resumo.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: você vê um resumo de sessão de uma linha quando retorna após alguns minutos ausentefalse: Claude Code não mostra nenhum resumo
- Padrão: não definido, então o resumo está ativado
- Substituições por sessão:
CLAUDE_CODE_ENABLE_AWAY_SUMMARYtem precedência sobre essa chave para uma sessão, em qualquer direção
settings.json
disableArtifact
Use enableArtifact em vez disso para desativar a ferramenta Artifact, que publica a saída da sessão como uma página da web privada em claude.ai. Quando você desativa a linha Artifacts em /config, o Claude Code escreve enableArtifact em suas configurações de usuário e limpa essa chave.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: Claude Code desativa a ferramenta Artifact para cada sessão à qual o arquivo se aplica, e nenhum outro arquivo a ativa novamentefalse: ignorado; para deixar a ferramenta ativada, remova a chave
- Padrão: não definido, então a ferramenta segue a disponibilidade de sua conta
- Substituições por sessão:
CLAUDE_CODE_DISABLE_ARTIFACTdefinido como1desativa a ferramenta para uma sessão
settings.json
disableDeepLinkRegistration
Impeça que o Claude Code registre o manipulador de protocolo claude-cli:// com o sistema operacional, o que ele faz após você enviar o primeiro prompt de uma sessão interativa. Deep links permitem que ferramentas externas abram uma sessão do Claude Code com um prompt pré-preenchido. Defina isso em ambientes onde o registro do manipulador de protocolo é restrito ou gerenciado separadamente.
- Escopo:
Qualquer arquivo - Tipo: a string
"disable" - Padrão: não definido, então Claude Code registra o manipulador
settings.json
disableDesktopLocalSessions
Desative sessões de Code que executam no dispositivo no aplicativo desktop, para implantações onde os desenvolvedores devem trabalhar em máquinas remotas via SSH. Na aba Code, o ambiente Local permanece no menu suspenso de ambiente, mas fica acinzentado e não pode ser selecionado, com uma dica de ferramenta dizendo que sua organização o desativou; no Windows, a entrada WSL fica acinzentada da mesma forma, embora se as sessões WSL executam em um dispositivo gerenciado seja governado separadamente. Novas sessões usam como padrão a primeira conexão SSH se uma estiver configurada, e o aplicativo se recusa a iniciar ou retomar uma sessão no dispositivo, incluindo uma conexão SSH de volta para a mesma máquina. Sessões SSH para outros hosts e sessões em nuvem não são afetadas. O aplicativo desktop lê essa chave; o CLI do terminal a ignora. Requer Claude Desktop v1.37937.0 ou posterior.
- Escopo:
Gerenciado. Por padrão, o aplicativo desktop lê a chave de uma fonte gerenciada. - Tipo: Boolean; apenas o Boolean JSON
truetem efeitotrue: o aplicativo desktop não oferece sessões de Code no dispositivo; sessões locais existentes permanecem listadas, mas não podem continuarfalse: sessões locais permanecem disponíveis
- Padrão: não definido, então sessões locais estão disponíveis
managed-settings.json
"true" ou 1, também registra um aviso. Combine com sshConfigs para que os usuários cheguem a uma conexão funcionando, e com sshHostAllowlist para limitar quais hosts eles podem alcançar. Veja Sessões locais em dispositivos gerenciados.
O Claude Desktop fornece sessões de Code com política derivada de sua configuração de desktop, por exemplo, a lista de permissões de saída, sandbox do sistema de arquivos e restrições de MCP em implantações de terceiros. O Claude Code ignora essas configurações pai sempre que uma fonte de administrador está presente: configurações gerenciadas pelo servidor, uma política de MDM ou nível do SO, ou um arquivo de configurações gerenciadas. Implantar essa chave através de uma delas em um dispositivo que não tinha nenhuma antes, como em implantações de terceiros, portanto, impede que as políticas derivadas do desktop se apliquem. Deixe um host de incorporação adicionar política cobre quando as configurações pai ainda podem se mesclar; isso vale para qualquer chave que você implante dessa forma, não apenas essa.
disableRemoteControl
Desative o Controle Remoto: Claude Code então recusa claude remote-control, a flag --remote-control, auto-inicialização e o alternador em sessão, e relata que a política de sua organização o desativou. Coloque em configurações gerenciadas para aplicação de MDM por dispositivo.
- Escopo:
Qualquer arquivo - Tipo: Boolean
true: Claude Code recusaclaude remote-control, a flag--remote-control, auto-inicialização e o alternador em sessãofalse: Controle Remoto permanece disponível
- Padrão:
false
settings.json
enableArtifact
Desative a ferramenta Artifact, que publica a saída da sessão como uma página da web privada em claude.ai. Quando você desativa a linha Artifacts em /config, o Claude Code escreve essa chave em suas configurações de usuário, então você geralmente não a edita manualmente. Requer Claude Code v2.1.196 ou posterior.
- Escopo:
Qualquer arquivo. Cada arquivo pode desativar a ferramenta, e nenhum pode ativá-la novamente. - Tipo: Boolean
false: Claude Code desativa a ferramenta Artifact para cada sessão à qual o arquivo se aplicatrue: o mesmo que deixar a chave não definida, porque nunca substitui umfalsede outro arquivo, deCLAUDE_CODE_DISABLE_ARTIFACT, ou da configuração de administrador de sua organização
- Padrão: não definido, então a ferramenta segue a disponibilidade de sua conta
settings.json
/config, porque ativá-la lá não mudaria nada. Desativar artifacts lista todas as maneiras de desativar a ferramenta.
inputNeededNotifEnabled
Receba uma notificação por push em seu telefone quando um prompt de permissão ou pergunta estiver aguardando sua entrada. O Claude Code envia essas apenas enquanto o Controle Remoto está conectado. Aparece em /config como Push quando ações forem necessárias.
- Escopo:
Qualquer arquivo. O Claude Code também lê um valor deixado em~/.claude.jsonpor versões antigas. - Tipo: Boolean
true: você recebe uma notificação por push em seu telefone quando um prompt de permissão ou pergunta está aguardando, enquanto o Controle Remoto está conectadofalse: Claude Code não envia essas notificações
- Padrão:
false
settings.json
preferredNotifChannel
Escolha como o Claude Code o notifica quando uma tarefa é concluída ou um prompt de permissão está aguardando. Aparece em /config como Notificações locais.
- Escopo:
Qualquer arquivo. O Claude Code também lê um valor deixado em~/.claude.jsonpor versões antigas. - Tipo: string, uma de:
"auto": Claude Code envia uma notificação de desktop no iTerm2, Ghostty e Kitty, toca a campainha no Terminal.app apenas quando sua campainha audível está desativada, e não faz nada em outro lugar"terminal_bell": Claude Code toca o caractere de campainha em qualquer terminal"iterm2": Claude Code envia uma notificação de desktop do iTerm2"iterm2_with_bell": Claude Code envia uma notificação de desktop do iTerm2 e toca a campainha"kitty": Claude Code envia uma notificação de desktop do Kitty"ghostty": Claude Code envia uma notificação de desktop do Ghostty"notifications_disabled": Claude Code não envia notificação
- Padrão:
"auto"
settings.json
"auto", o Claude Code envia uma notificação de desktop no iTerm2, Ghostty e Kitty. No Terminal.app, ele toca o caractere de campainha apenas quando você desativou a campainha audível do Terminal, e em outros terminais não faz nada. Defina "terminal_bell" para tocar o caractere de campainha em qualquer terminal. Veja Obter uma campainha de terminal ou notificação.
remote.defaultEnvironmentId
Escolha o ambiente em nuvem padrão para sessões em nuvem que você cria a partir da CLI, como com claude --cloud. O Claude Code escreve essa chave em suas configurações de usuário quando você escolhe um ambiente com /remote-env.
- Escopo:
Qualquer arquivo. Para um ID de ambiente auto-hospedado, configurações de usuário ou gerenciadas, ou a flag--settingsapenas. - Tipo: string, um ID de ambiente como
env_...ouccpool_... - Padrão: não definido, então Claude Code usa o ambiente hospedado pela Anthropic quando sua lista tem um, e caso contrário, o primeiro ambiente em sua lista que não é um ambiente de ponte de Controle Remoto, ou o primeiro ambiente quando todos são ambientes de ponte
- Substituições por sessão:
--environmenttem precedência sobre essa chave para a sessão em nuvem que cria
settings.json
env_, segue a precedência de configurações padrão, então um valor nas configurações de projeto de um repositório substitui sua escolha no nível de usuário. Um ID de ambiente auto-hospedado, que começa com ccpool_, é honrado apenas de configurações de usuário, configurações gerenciadas e a flag --settings; Claude Code ignora um nas configurações de projeto ou locais de um repositório, e /remote-env mostra qual valor foi ignorado, então um arquivo verificado não pode direcionar sessões para um ambiente auto-hospedado que você não escolheu.
remoteControlAtStartup
Conecte o Controle Remoto automaticamente quando cada sessão interativa inicia, em vez de esperar por /remote-control. Defina como true para ativar a conexão automática, false para desativá-la. Aparece em /config como Ativar Controle Remoto para todas as sessões.
- Escopo:
Qualquer arquivo. O Claude Code também lê um valor deixado em~/.claude.jsonpor versões antigas. - Tipo: Boolean
true: Claude Code conecta o Controle Remoto automaticamente quando cada sessão interativa iniciafalse: Claude Code espera por/remote-control
- Padrão: não definido, então o padrão de auto-conexão se aplica
- Substituições por sessão:
--remote-controlativa o Controle Remoto para uma sessão mesmo quando essa chave éfalse, e nenhuma flag o desativa para uma sessão
settings.json
true de configurações de projeto ou locais, então um repositório pode desativar a conexão automática para seu checkout, mas não pode ativá-la. Para o comportamento completo por escopo, veja Ativar Controle Remoto para todas as sessões e as chaves de segurança onde o valor mais restritivo se aplica.
sshConfigs
Adicione conexões SSH ao menu suspenso do ambiente Desktop. Administradores a usam para distribuir conexões compartilhadas para uma equipe. Conexões que você define em configurações gerenciadas aparecem como gerenciadas, então os usuários podem selecioná-las, mas não podem editá-las ou deletá-las no aplicativo.
- Escopo:
Usuário ou gerenciado. O aplicativo desktop lê essa chave. Por padrão, ele lê as conexões gerenciadas de uma fonte gerenciada. - Tipo: array de objetos, cada um com
id,nameesshHostobrigatórios esshPortesshIdentityFileopcionais - Padrão: não definido
Dev VM que se conecta a user@dev.example.com:
settings.json
sshHostAllowlist
Limite os hosts aos quais uma sessão SSH do Desktop pode se conectar. Apenas o aplicativo Desktop lê essa chave; a CLI não. Padrões são insensíveis a maiúsculas: * corresponde a qualquer host, *.example.com corresponde a example.com e cada subdomínio, e qualquer outra coisa é uma correspondência exata contra o nome do host após a resolução de ~/.ssh/config. Um array vazio desativa sessões SSH.
- Escopo:
Gerenciado. Por padrão, o Desktop lê a chave de uma fonte gerenciada. - Tipo: array de padrões de nome de host
- Padrão: não definido, então qualquer host é permitido
devboxes.example.com e seus subdomínios, mais o host exato bastion.example.com:
managed-settings.json
true ou um objeto, conta como um array vazio até que você o corrija, exceto null, que conta como não definido. Requer Claude Desktop v2.26454.0 ou posterior.
Se você definir managedSourcesBehavior como "merge" em sua fonte de maior prioridade, o Desktop combina as listas de cada fonte de administrador e permite um host que corresponda a qualquer uma delas. Se você definir um array vazio em uma fonte, as sessões SSH permanecem ativadas para os hosts que outra fonte lista.
Autenticação e provedores
Forneça credenciais através de scripts auxiliares e, para organizações, force um método de login ou organização. Veja Autenticação.allowedProviders
Liste os serviços através dos quais uma máquina pode acessar Claude, como a API Anthropic, Amazon Bedrock ou um gateway de LLM. Uma sessão em um provedor que não está listado é recusada na inicialização, no login e quando ele próximo contata a API, portanto mudar para um provedor não listado no meio da sessão também é recusado. A mensagem de recusa nomeia o que selecionou o provedor e os passos para continuar. Requer Claude Code v2.1.285 ou posterior.
- Escopo:
Gerenciado. Uma lista que as fontes de admin próprias da máquina definem, políticas MDM e arquivos de configurações gerenciadas, continua se aplicando quando configurações gerenciadas por servidor também entregam uma: uma sessão pode então usar apenas os provedores em ambas as listas, portanto uma lista gerenciada por servidor pode estreitar o que a máquina permite mas nunca ampliá-lo. QualallowedProvidersda fonte da máquina conta segue como Claude Code combina fontes gerenciadas. Uma lista entregue apenas através de configurações gerenciadas por servidor alcança apenas as sessões que buscam configurações gerenciadas por servidor. - Tipo: array de strings, cada uma de:
"anthropic": a API Anthropic no host próprio da Anthropic, através de um login claude.ai ou Console ou uma chave de API. Emparelhe-a comforceLoginMethodouforceLoginOrgUUIDpara também restringir o login"bedrock": Amazon Bedrock"vertex": Plataforma de Agente do Google Cloud, anteriormente Vertex AI"foundry": Microsoft Foundry"anthropicAws": Claude Platform on AWS"mantle": o endpoint Mantle do Amazon Bedrock. Uma sessão que executa Mantle junto com a API Invoke usa ambos os provedores, portanto liste"bedrock"e"mantle"juntos para ela"customEndpoint": a API Anthropic ou a API de um provedor de nuvem enviada para outro host, como um gateway de LLM nomeado porANTHROPIC_BASE_URLou por uma variável de endpoint do provedor, comoANTHROPIC_BEDROCK_BASE_URL. Claude Code o admite apenas para o valor exato que um blocoenvgerenciado fixa"gateway": um login de gateway na nuvem
- Padrão: não definido, portanto qualquer provedor pode ser usado
managed-settings.json
Endpoints que precisam de um pin no env gerenciado
Um pin é um valor de variável de endpoint definido em um bloco env gerenciado. Quando uma sessão envia o tráfego de um provedor para algum lugar diferente do serviço próprio desse provedor, Claude Code o admite apenas se o valor da sessão for o mesmo que o pin. Estes endpoints precisam de um:
- Sessões
"customEndpoint": a variável que nomeia o host, comoANTHROPIC_BASE_URL - Amazon Bedrock: as variáveis
AWS_ENDPOINT_URL,AWS_ENDPOINT_URL_BEDROCKeAWS_ENDPOINT_URL_BEDROCK_RUNTIMEdo SDK AWS quando apontam para fora do próprio serviço Bedrock. A sessão permanece sob"bedrock"em vez de"customEndpoint" - URL de login de um gateway: a sessão permanece sob
"gateway", eforceLoginGatewayUrltambém conta como o pin
env contam como pins depende de onde a lista é definida:
- Uma fonte de administrador na máquina define uma lista: apenas os blocos
envdas fontes de administrador próprias da máquina contam - Apenas configurações gerenciadas por servidor definem uma lista: um valor
envnessas configurações gerenciadas por servidor também conta
HTTPS_PROXY e configurações de certificado. Defina-as para a frota no bloco env gerenciado.
apiKeyHelper
Execute seu próprio comando para produzir a credencial que Claude Code envia com requisições de modelo. Claude Code executa o comando através do shell do sistema, /bin/sh no macOS e Linux e cmd no Windows, e envia sua saída como ambos os cabeçalhos X-Api-Key e Authorization: Bearer. Use-o para credenciais dinâmicas ou rotativas, como tokens de curta duração obtidos de um cofre.
- Escopo:
Qualquer arquivo - Tipo: string, uma linha de comando do shell
- Padrão: não definido, portanto Claude Code não executa um auxiliar
settings.json
- Após o tempo de vida do cache, cinco minutos por padrão ou o intervalo que você define com
CLAUDE_CODE_API_KEY_HELPER_TTL_MS. - Quando uma requisição para a API Anthropic, diretamente ou através de um gateway de LLM, falha com
401ou403. - Antes de enviar uma requisição para a API Anthropic, diretamente ou através de um gateway de LLM, quando a saída em cache é um JWT que expirou após o auxiliar produzi-lo. Requer Claude Code v2.1.246 ou posterior.
ANTHROPIC_AUTH_TOKEN não está definido.
Em sessões interativas, quando o comando vem das configurações do projeto ou local, Claude Code não o executa até que você aceite o prompt de confiança do workspace. Veja Gerenciamento de credenciais.
awsAuthRefresh
Execute seu próprio comando, como aws sso login, para atualizar as credenciais em seu diretório .aws quando as que Claude Code tem para Amazon Bedrock deixarem de funcionar. Claude Code verifica as credenciais atuais em relação ao STS primeiro e executa o comando apenas quando essa verificação falha, depois lê o diretório .aws atualizado.
Quando a verificação falha ao mesmo tempo em vários processos do Claude Code que usam o mesmo comando e as mesmas credenciais, como terminais ou janelas de IDE separados, um processo executa o comando e os demais aguardam essa execução em vez de iniciar a sua própria. Um processo que aguardou 60 segundos com uma requisição pendente executa o comando ele mesmo. Para desativar isso, defina CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK como 1.
- Escopo:
Qualquer arquivo - Tipo: string, uma linha de comando do shell
- Padrão: não definido, portanto Claude Code não atualiza credenciais AWS para você
settings.json
.aws; use awsCredentialExport quando ele imprime credenciais. Veja configuração avançada de credenciais.
awsCredentialExport
Execute seu próprio comando que imprime credenciais AWS como JSON, para que Claude Code possa chamar Amazon Bedrock com credenciais que não residem em seu diretório .aws. Claude Code aceita a forma de saída aws sts e a forma plana aws configure export-credentials, e limita as credenciais ao seu próprio cliente Bedrock, portanto os comandos do shell que Claude executa ainda veem suas credenciais ambientes.
- Escopo:
Qualquer arquivo - Tipo: string, uma linha de comando do shell
- Padrão: não definido, portanto Claude Code usa a cadeia de credenciais AWS ambiente
settings.json
awsAuthRefresh, Claude Code sempre executa este comando quando está definido, sem verificar as credenciais ambiente primeiro. Veja configuração avançada de credenciais.
forceLoginMethod
Restrinja qual tipo de conta as pessoas podem usar para fazer login. Defina "claudeai" para permitir apenas contas claude.ai, "console" para permitir apenas contas Claude Console, ou "gateway" para enviar as pessoas para um gateway na nuvem em vez de um login de primeira parte. Os administradores o definem em configurações gerenciadas e o emparelham com forceLoginOrgUUID para manter os logins claude.ai dos desenvolvedores dentro de uma organização. Se você o definir como "claudeai" ou "console" em qualquer arquivo de configurações, Claude Code também para de oferecer o login Console sem chave nas sessões às quais esse arquivo se aplica.
- Escopo:
Qualquer arquivo. Claude Code honra"gateway"apenas de uma fonte gerenciada na máquina:managed-settings.json, a plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Ele trata"gateway"como não definido em configurações de usuário, projeto, local, HKCU e gerenciadas por servidor, a mesma regra queforceLoginGatewayUrl. - Tipo: string, um de:
"claudeai": apenas contas claude.ai podem fazer login"console": apenas contas Claude Console podem fazer login"gateway": Claude Code envia as pessoas para um gateway na nuvem em vez de um login de primeira parte
- Padrão: não definido, portanto as pessoas escolhem um método de login
settings.json
claude setup-token e /install-github-app, exceto a tela de login interativa do terminal, acessada por /login ou onboarding de primeira execução, que pré-seleciona o método sem aplicá-lo. Antes da v2.1.212, apenas logins de terminal o aplicavam. Veja Restringir login à sua organização para como cada caminho de login, credenciais de ambiente e provedores de terceiros são tratados.
Quando uma fonte gerenciada na máquina define "gateway", Claude Code não usa um login restante, chave de API ou credencial apiKeyHelper. Veja A política do administrador requer um login de gateway na nuvem para a mensagem que cada um produz. Se você selecionar um provedor de nuvem através de CLAUDE_CODE_USE_BEDROCK ou uma variável de ambiente similar, a sessão não precisa do login do gateway. Antes da v2.1.261, Claude Code usava um login restante nessas máquinas.
forceLoginGatewayUrl
Defina a URL do gateway à qual a tela /login Cloud gateway se conecta, para que as pessoas alcancem seu gateway na nuvem sem digitar seu endereço. A tela não tem campo de URL: com esta chave definida, ela mostra a URL do seu gateway e se conecta quando a pessoa pressiona Enter; sem ela, diz a elas para entrar em contato com seu administrador de TI.
Ou esta chave ou forceLoginMethod: "gateway" torna a máquina apenas gateway, exceto para sessões que selecionam um provedor de nuvem com CLAUDE_CODE_USE_*. /login então abre na tela Cloud gateway sem seletor de método de login. Veja A política do administrador requer um login de gateway na nuvem para o que acontece com um login de primeira parte restante ou chave de API. Defina ambas as chaves para que a tela se conecte em vez de mostrar um erro.
- Escopo:
Gerenciado. Leia apenas de uma fonte na máquina:managed-settings.json, a plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Claude Code a ignora em configurações HKCU e gerenciadas por servidor. - Tipo: string, uma URL completa incluindo o esquema
- Padrão: não definido, portanto a tela Cloud gateway mostra um erro dizendo às pessoas para entrar em contato com seu administrador de TI
managed-settings.json
forceLoginOrgUUID
De uma fonte gerenciada, exija que logins de contas claude.ai pertençam a uma organização Anthropic, fornecida como um único UUID, ou a qualquer uma de várias organizações, fornecidas como um array. De qualquer arquivo de configurações, Claude Code também usa um único UUID para pré-selecionar essa organização durante um login claude.ai ou Claude Console, e não pré-seleciona nada para um array. Se você definir a chave em qualquer arquivo de configurações, Claude Code também para de oferecer o login Console sem chave nas sessões às quais esse arquivo se aplica e cria uma chave de API.
- Escopo:
Qualquer arquivo. Apenas uma fonte gerenciada aplica a restrição; um único UUID em qualquer outro arquivo de configurações pré-seleciona a organização durante o login sem restringi-la. - Tipo: string, um UUID, ou array de strings, vários UUIDs
- Padrão: não definido, portanto qualquer organização pode fazer login
managed-settings.json
gatewayInternalNetworks
Declare os blocos IPv4 públicos dos quais sua organização numera sua rede interna, para que /login aceite um gateway na nuvem lá. Requer Claude Code v2.1.268 ou posterior.
Sem esta chave, /login se conecta a qualquer gateway em um endereço privado e nada mais. Com ela, /login também aceita um gateway dentro de um bloco listado, apenas sobre uma conexão direta. O endereço próprio da máquina nessa conexão também deve estar dentro do mesmo bloco.
- Escopo:
Gerenciado. Leia apenas de uma fonte na máquina:managed-settings.json, a plist do macOS ou registro HKLM do Windows, ou um auxiliar de política. Claude Code a ignora em configurações HKCU e gerenciadas por servidor. - Tipo: array de strings, no máximo quatro blocos IPv4 CIDR, cada um
/8a/32, não se sobrepondo um ao outro, e nenhum se sobrepondo ao espaço privado. - Padrão: não definido, portanto
/loginaceita apenas gateways em endereços privados
managed-settings.json
/login nomeia o problema e recusa cada novo login de gateway na máquina até que você corrija o valor. Os logins existentes continuam funcionando. Veja Permitir um gateway no espaço de endereço público que você possui para as regras completas e o que os desenvolvedores veem.
gcpAuthRefresh
Execute seu próprio comando para atualizar as Credenciais Padrão de Aplicativo do Google Cloud quando Claude Code descobrir que expiraram ou não podem ser carregadas, para que as requisições da Plataforma de Agente do Google Cloud continuem funcionando sem você se autenticar novamente manualmente.
Quando vários processos do Claude Code que usam o mesmo comando e as mesmas credenciais, como terminais ou janelas de IDE separados, descobrem ao mesmo tempo que elas expiraram, um processo executa o comando e os demais aguardam essa execução em vez de iniciar a sua própria. Um processo que aguardou 60 segundos com uma requisição pendente executa o comando ele mesmo. Para desativar isso, defina CLAUDE_CODE_DISABLE_AUTH_REFRESH_LOCK como 1.
- Escopo:
Qualquer arquivo - Tipo: string, uma linha de comando do shell
- Padrão: não definido, portanto o erro de credencial de Claude Code diz a você para executar
gcloud auth application-default loginvocê mesmo
settings.json
otelHeadersHelper
Execute seu próprio comando para gerar os cabeçalhos que Claude Code envia com exportações OpenTelemetry, para backends cujos tokens giram. Claude Code o executa na inicialização e periodicamente depois disso, e espera um objeto JSON de valores de cabeçalho de string em stdout.
- Escopo:
Qualquer arquivo - Tipo: string, um caminho executável ou uma linha de comando do shell
- Padrão: não definido, portanto Claude Code não adiciona cabeçalhos gerados por auxiliar
settings.json
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS. Veja Cabeçalhos dinâmicos para os requisitos do script e o que acontece quando o auxiliar falha.
Atualizações e versionamento
Escolha um canal de atualização e, para organizações, fixe as versões que as pessoas podem executar. Consulte Atualizar Claude Code.autoUpdatesChannel
Escolha qual canal de lançamento as atualizações automáticas em segundo plano e claude update seguem. Defina "stable" para uma versão que é tipicamente cerca de uma semana antiga e pula lançamentos com regressões maiores, ou "latest" para o lançamento mais recente.
- Escopo:
Any file. Defina-o em configurações gerenciadas para impor um canal em toda a sua organização. - Tipo: string, um de:
"latest": as atualizações seguem o lançamento mais recente"stable": as atualizações seguem uma versão que é tipicamente cerca de uma semana antiga e pula lançamentos com regressões maiores
- Padrão: não definido, então Claude Code segue
"latest"
settings.json
"stable" em suas configurações de usuário quando você o escolhe em Auto-update channel em /config, e remove a chave quando você volta para latest lá. claude install stable e claude install latest também salvam o canal que você nomeia. Mudar de "latest" para "stable" em /config pergunta se você deseja permitir um downgrade ou permanecer em sua versão atual; permanecer define minimumVersion. Instalações do Homebrew ignoram esta chave: o cask claude-code rastreia stable e claude-code@latest rastreia latest, e claude update defere para brew upgrade. Para desativar atualizações automáticas completamente, defina DISABLE_AUTOUPDATER em env.
minimumVersion
Impeça que atualizações automáticas em segundo plano e claude update instalem qualquer versão abaixo desta, para que mudar para o canal "stable" não o faça fazer downgrade de um build "latest" mais recente. Claude Code escreve esta chave para você quando você escolhe permanecer em sua versão atual ao mudar de canais em /config, e a limpa quando você volta para "latest".
- Escopo:
Any file. Defina-o em configurações gerenciadas para fixar um mínimo em toda a organização que as configurações de usuário e projeto não possam reduzir. - Tipo: string, um número de versão como
"2.1.100"; um valor que não é uma versão válida é ignorado - Padrão: não definido, então as atualizações podem instalar qualquer versão que o canal oferece
settings.json
requiredMinimumVersion em vez disso. Consulte Fixar uma versão mínima.
requiredMaximumVersion
Defina a versão mais recente do Claude Code que sua organização permite iniciar. Quando a versão em execução é mais recente, Claude Code sai na inicialização e diz ao usuário para instalar uma versão aprovada através do método aprovado de sua organização; claude install <version> também pode funcionar. Requer Claude Code v2.1.163 ou posterior.
- Escopo:
Managed. Claude Code não dá aviso quando ignora a chave em outro lugar. - Tipo: string, um número de versão como
"2.1.150"; um valor que não é uma versão válida é ignorado - Padrão: não definido, então nenhum limite superior se aplica
managed-settings.json
claude update pulam versões acima do limite, então uma instalação dentro do intervalo permanece dentro dele. claude update, claude install e claude doctor continuam funcionando acima do limite para que os usuários possam se recuperar. Emparelhe-o com requiredMinimumVersion para impor um intervalo.
requiredMinimumVersion
Defina a versão mais antiga do Claude Code que sua organização permite iniciar. Quando a versão em execução é mais antiga, Claude Code sai na inicialização e diz ao usuário para atualizar através do método aprovado de sua organização. A verificação é executada apenas na inicialização, então uma sessão que já está em execução continua. Requer Claude Code v2.1.163 ou posterior.
- Escopo:
Managed. Claude Code não dá aviso quando ignora a chave em outro lugar. - Tipo: string, um número de versão como
"2.1.150"; um valor que não é uma versão válida é ignorado - Padrão: não definido, então nenhum piso se aplica
managed-settings.json
claude update, claude install e claude doctor continuam funcionando abaixo do piso para que os usuários possam se recuperar. Diferentemente de minimumVersion, que apenas previne downgrades, esta chave bloqueia a inicialização. Emparelhe-o com requiredMaximumVersion para impor um intervalo.
Ferramentas
Desative ferramentas específicas no aplicativo de desktop Claude Code. A CLI do terminal ignora essas chaves. Para as próprias ferramentas, consulte Ferramentas disponíveis para Claude.browserExternalPageTools
Impeça que Claude use suas ferramentas para ler ou agir em páginas externas no painel Navegador do aplicativo de desktop. As pessoas em sua organização ainda podem abrir sites externos por conta própria, e as visualizações de servidor de desenvolvimento local continuam funcionando com as ferramentas de Claude. O aplicativo de desktop lê essa chave; a CLI do terminal a ignora.
- Escopo:
Managed - Tipo: string,
"disabled"; o aplicativo de desktop também aceita"disable", em ambos os casos - Padrão: não definido, portanto as ferramentas de Claude funcionam em páginas externas
managed-settings.json
disableBrowserExternalNavigation em vez disso. Consulte Restringir navegação externa para sua organização.
disableBrowserExternalNavigation
Desative a navegação externa no painel Navegador do aplicativo de desktop para pessoas e Claude igualmente. As visualizações de servidor de desenvolvimento localhost continuam funcionando. O aplicativo de desktop lê essa chave; a CLI do terminal a ignora.
- Escopo:
Managed - Tipo: Booleano; apenas o Booleano JSON
truetem efeitotrue: o aplicativo de desktop desativa a navegação externa no painel Navegador para pessoas e Claude igualmente; as visualizações de localhost continuam funcionandofalse: a navegação externa permanece ativada
- Padrão: não definido, portanto a navegação externa está ativada
managed-settings.json
"true" ou 1, também registra um aviso. Para deixar a navegação externa ativada mas manter as ferramentas de Claude desativadas em páginas externas, defina browserExternalPageTools em vez disso. Consulte Restringir navegação externa para sua organização.
disableMobileSimulatorTools
Bloqueie as ferramentas de Claude para o painel iOS Simulator do aplicativo de desktop. As pessoas mantêm o uso manual do painel; apenas o acesso de Claude é removido, e ninguém pode ativá-lo novamente de dentro do aplicativo. O aplicativo de desktop lê essa chave; a CLI do terminal a ignora.
- Escopo:
Managed - Tipo: Booleano; apenas o Booleano JSON
truetem efeitotrue: o aplicativo de desktop bloqueia as ferramentas de Claude para o painel iOS Simulatorfalse: as ferramentas de simulador de Claude seguem a alternância de configurações de cada pessoa no aplicativo de desktop
- Padrão: não definido, portanto as ferramentas de simulador de Claude seguem a alternância de configurações de cada pessoa no aplicativo de desktop
managed-settings.json
"true" ou 1, também registra um aviso.
Privacidade e telemetria
Controle por quanto tempo o Claude Code mantém dados de sessão e o que envia. Os switches que desativam métricas de uso e relatórios de erro são variáveis de ambiente, não chaves de configuração: definaDISABLE_TELEMETRY, DISABLE_ERROR_REPORTING ou CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC na chave env ou no shell. Serviços de telemetria diz o que cada um para. Duas exceções desativam de um arquivo de configurações: feedbackDrafts abaixo para feedback redigido por Claude, e feedbackSurveyRate abaixo para a pesquisa de sessão.
cleanupPeriodDays
Defina quantos dias o Claude Code mantém transcrições de sessão e outros dados de aplicação antes de deletá-los. O Claude Code executa a exclusão como uma varredura em segundo plano após uma sessão iniciar, desde que possa determinar com segurança o período de retenção. A varredura deleta transcrições sem mostrar uma mensagem, então uma sessão que você não usou por mais tempo do que o período de retenção não aparece mais no seletor /resume.
- Escopo:
Any file - Tipo: número de dias, um número inteiro, mínimo
1 - Padrão:
30
settings.json
0 falha na validação, então escolha um valor grande como 3650 para retenção prolongada. Para impedir que o Claude Code escreva transcrições, consulte Armazenamento em texto simples.
desktopSessionCleanupPeriodDays
Defina um limite de idade em dias para as transcrições de sessões que você iniciou ou continuou mais recentemente no Claude Desktop ou Cowork. Sem essa chave, o Claude Code mantém essas transcrições em qualquer idade. O Claude Code deleta cada uma assim que fica mais antiga que tanto esse limite quanto cleanupPeriodDays, então com cleanupPeriodDays em seu padrão de 30, um valor de 7 ainda as mantém por 30 dias. Limpos automaticamente lista os casos em que cleanupPeriodDays se aplica em vez disso e o Claude Code ignora essa chave. Requer Claude Code v2.1.248 ou posterior.
- Escopo:
User or managed. O Claude Code também lê a chave de um arquivo que você passa com--settingse a ignora em configurações de projeto e locais. - Tipo: número de dias, um número inteiro, mínimo
0 - Padrão:
0, que não define limite de idade
settings.json
feedbackDrafts
Controle feedback redigido por Claude: se Claude pode enfileirar rascunhos de feedback para você revisar, e se o Claude Code mostra um card quando Claude enfileira um.
- Escopo:
User or managed - Tipo: string, um de
"notify","quiet"ou"off""notify": O Claude Code mostra um card acima do prompt quando Claude enfileira um rascunho, até três cards em uma sessão por padrão"quiet": Claude redige sem um card. Você vê a contagem de rascunhos enfileirados no rodapé do prompt e os revisa em/feedback"off": O Claude Code remove a ferramenta SendFeedback, então Claude não pode enfileirar rascunhos
- Padrão:
"notify" - Substituições por sessão:
CLAUDE_CODE_SEND_FEEDBACKdefinido como0desativa o recurso para uma sessão
settings.json
/config como Claude-drafted feedback, que escreve essa chave em suas configurações de usuário. Você vê a linha /config apenas em sessões onde Claude pode redigir feedback; definir "off" não a oculta, então você pode ativar o recurso novamente a partir da mesma linha. Um valor em configurações gerenciadas tem precedência sobre sua configuração de usuário, então quando um administrador define essa chave, a linha mostra o valor gerenciado e alterá-lo não tem efeito. O Claude Code ignora essa chave em configurações de projeto e locais.
feedbackSurveyRate
Defina a probabilidade de que a pesquisa de qualidade de sessão apareça quando uma sessão for elegível para ela. Defina 0 para impedir que a pesquisa apareça.
- Escopo:
Any file - Tipo: número entre
0e1 - Padrão: não definido, então o Claude Code usa a taxa que a Anthropic define remotamente, ou sua taxa integrada de
0.005no Amazon Bedrock, na Agent Platform do Google Cloud e no Microsoft Foundry, que não recebem configuração remota - Substituições por sessão:
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEYdefinido como1desativa a pesquisa para uma sessão qualquer que seja a taxa que essa chave define
settings.json
skipWebFetchPreflight
Pule a verificação de segurança de domínio WebFetch, que envia cada nome de host solicitado para api.anthropic.com antes de buscar. Defina true em ambientes que bloqueiam tráfego para Anthropic, como Amazon Bedrock, Agent Platform do Google Cloud ou implantações do Microsoft Foundry com saída restritiva.
- Escopo:
Any file - Tipo: Boolean
true: O Claude Code pula a verificação de segurança de domínio WebFetchfalse: a verificação é executada antes da primeira busca para cada nome de host em uma sessão, e novamente para um nome de host cuja verificação anterior foi bloqueada ou falhou
- Padrão: não definido, então a verificação é executada antes da primeira busca para cada nome de host em uma sessão
settings.json
WebFetch se precisar restringir quais domínios Claude pode alcançar.
Configurações empresariais e gerenciadas
Chaves que uma organização usa para calcular, atualizar e combinar configurações gerenciadas. Consulte Configurar configurações gerenciadas.disableSideloadFlags
Rejeite os sinalizadores CLI --plugin-dir, --plugin-url, --agents e --mcp-config na inicialização, que os usuários poderiam passar para contornar strictKnownMarketplaces em uma única execução. Claude Code sai com um erro nomeando os sinalizadores rejeitados. Em sessões na nuvem, Claude Code inicia a sessão e descarta todas as entradas --mcp-config entregues pelo servidor, exceto entradas type: "sdk" em processo e as ferramentas Slack de uma sessão Claude Tag. Requer Claude Code v2.1.193 ou posterior.
- Escopo:
Managed - Tipo: Booleano
true: Claude Code rejeita--plugin-dir,--plugin-url,--agentse--mcp-configna inicialização e sai com um erro nomeando-os. Em sessões na nuvem, ele inicia a sessão e descarta todas as entradas--mcp-configentregues pelo servidor, exceto entradastype: "sdk"em processo e as ferramentas Slack de uma sessão Claude Tagfalse: Claude Code aceita esses sinalizadores
- Padrão:
false
managed-settings.json
--mcp-config cujos servidores são todas entradas type: "sdk" em processo, então o Agent SDK e a extensão VS Code continuam funcionando. Os usuários ainda podem adicionar servidores com claude mcp add ou um arquivo .mcp.json; para controle por servidor, defina allowedMcpServers também. Requer Claude Code v2.1.193 ou posterior.
A mesma verificação cobre pastas de plugins nomeadas na variável de ambiente CLAUDE_CODE_PLUGIN_DIRS, que requer Claude Code v2.1.280 ou posterior. Quando a variável nomeia uma pasta, Claude Code sai com o mesmo erro, e o erro diz para desconfigurar a variável.
Em sessões na nuvem, Claude Code também ignora atualizações MCP entregues pelo servidor no meio da sessão, o caminho por trás da configuração de sessão na nuvem e SDK setMcpServers() que alcançam essas sessões. Entradas type: "sdk" em processo e as ferramentas Slack de uma sessão Claude Tag permanecem isentas lá também. Antes da v2.1.268, tanto esse descarte quanto o descarte de inicialização também removiam as ferramentas Slack de uma sessão Claude Tag. Antes da v2.1.239, um --mcp-config entregue pelo servidor bloqueava uma sessão na nuvem de iniciar.
O aplicativo desktop gerencia alguns plugins por si só, incluindo plugins sincronizados de claude.ai e plugins que sua organização implanta através do aplicativo. Se você implantar essa chave em um dispositivo através de MDM, política de nível do SO ou um arquivo de configurações gerenciadas, o aplicativo desktop não passa esses plugins para as seguintes sessões nesse dispositivo:
- Sessões de código na máquina do usuário: elas também iniciam sem as skills habilitadas para a conta claude.ai do usuário. Plugins que Claude Code instala de marketplaces em suas configurações gerenciadas ainda carregam. Em Claude Desktop em 3P, servidores MCP de plugins que você implanta no diretório
org-pluginsdo dispositivo permanecem disponíveis também, porque o aplicativo desktop se conecta a eles. Antes de Claude Desktop v1.37937.0, essas sessões falhavam na inicialização. - Sessões de cowork na máquina do usuário: as skills dentro desses plugins e as skills habilitadas para a conta claude.ai do usuário permanecem disponíveis. Em Claude Desktop em 3P, servidores MCP de plugins que você implanta no diretório
org-pluginsdo dispositivo permanecem disponíveis também, porque o aplicativo desktop se conecta a eles. Antes de Claude Desktop v1.44121.0, essas sessões falhavam na inicialização.
forceRemoteSettingsRefresh
Bloqueie a inicialização do CLI até que Claude Code tenha buscado recentemente configurações gerenciadas pelo servidor. Se a busca falhar, Claude Code sai em vez de continuar com configurações em cache ou nenhuma. Defina-o quando seu ambiente não puder aceitar nem mesmo uma breve janela em que uma sessão seja executada sem sua política gerenciada.
Quando a chave não está definida, Claude Code não bloqueia a inicialização na busca, embora quando o desenvolvedor se conecta na inicialização ele aguarde até cinco segundos pela busca. Uma sessão de gateway na nuvem sempre aguarda e sai se o gateway não puder ser alcançado.
- Escopo:
Managed. Claude Code honra umtruede qualquer fonte gerenciada controlada por administrador, mesmo uma que não seja a fonte de prioridade mais alta. - Tipo: Booleano
true: Claude Code bloqueia a inicialização até ter buscado recentemente configurações gerenciadas pelo servidor e sai se a busca falharfalse: Claude Code não bloqueia a inicialização na busca, embora em uma inicialização de conexão ele aguarde até cinco segundos pela busca
- Padrão:
false
managed-settings.json
claude auth estão isentos, então os usuários podem se autenticar novamente quando credenciais expiradas são o motivo da falha da busca. Consulte Impor inicialização com falha fechada.
managedSourcesBehavior
Escolha se Claude Code aplica apenas a fonte gerenciada de prioridade mais alta que sua organização entrega, ou combina todas as fontes de administrador que entrega. Por padrão, Claude Code pega a fonte de prioridade mais alta que carrega uma chave de política e ignora o resto. Uma chave de política é qualquer chave de configurações diferente desta e wslInheritsWindowsSettings. Portanto, uma vez que configurações gerenciadas pelo servidor ou uma política MDM entreguem uma chave de política, um arquivo managed-settings.json contribui apenas com as chaves que Claude Code lê de todas as fontes de administrador. Com "merge", todas as fontes de administrador que você entrega contribuem suas chaves para uma política combinada. Requer Claude Code v2.1.242 ou posterior.
Defina "merge" apenas onde todas as fontes classificadas abaixo da sua mais alta estão sob controle de um administrador, porque Claude Code então adiciona entradas de uma fonte inferior, como regras permissions.allow, à política.
- Escopo:
Managed. Claude Code lê essa chave da fonte de prioridade mais alta que carrega esta chave ou uma chave de política, e ignora essa chave em todas as fontes classificadas mais baixo, então uma fonte inferior não pode optar por se combinar com a fonte acima dela. Nem o registro HKCU do Windows nem configurações pai de um host de incorporação participam da mesclagem. - Tipo: string, um de:
"first-wins": a fonte de prioridade mais alta que carrega uma chave de política fornece a política, e fontes inferiores contribuem apenas com as chaves que Claude Code lê de todas as fontes de administrador"merge": todas as fontes de administrador que você entrega contribuem suas chaves, combinadas pelas regras abaixo
- Padrão:
"first-wins"
managed-settings.json é a fonte de administrador classificada mais baixa, então "merge" definido lá não tem fonte abaixo dela para combinar. Em configurações gerenciadas pelo servidor, a chave se parece com isto:
"merge", Claude Code combina cada chave por seu tipo. Esta tabela fornece a regra para cada tipo. As linhas de lista de restrição, valores tomados inteiros e apenas fonte mais alta nomeiam todas as chaves que cobrem, e as outras linhas fornecem exemplos:
Pegar
sandbox.credentials.awsPairs e sandbox.ripgrep inteiros requer Claude Code v2.1.257 ou posterior.
Algumas chaves adicionam uma condição que a tabela não mostra:
policyHelper: Claude Code a honra apenas quando a fonte mais alta que carrega uma chave de política é uma política MDM ou um arquivo de configurações gerenciadas, então sob configurações gerenciadas pelo servidor ela não se aplica.modelOverrides: emparelha comavailableModels. Claude Code pegamodelOverridesda fonte mais alta que a define, a menos que uma fonte mais alta definaavailableModelssemmodelOverrides. Nesse caso, ele ignoramodelOverridesde todas as fontes.forceLoginGatewayUrl,gatewayInternalNetworkse o valor"gateway"deforceLoginMethod: Claude Code nunca lê nenhum deles de configurações gerenciadas pelo servidor, então um valor lá não se aplica nem oculta um definido em uma política MDM ou arquivo de configurações gerenciadas. Entre as fontes de administrador na máquina, apenas a fonte classificada mais alta que carrega uma chave de política as fornece, independentemente de configurações gerenciadas pelo servidor também estarem presentes.allowedProviders: após a regra da tabela, a lista da própria máquina ainda limita o resultado, conforme a nota de Escopo da entrada afirma.
/status e leia a linha Setting sources.
parentSettingsBehavior
Escolha se Claude Code aplica configurações gerenciadas fornecidas por um processo host de incorporação, como o Agent SDK ou uma extensão IDE, quando um nível gerenciado implantado por administrador também está presente. Com "first-wins", Claude Code descarta as configurações fornecidas pelo host; com "merge", ele as aplica sob o nível de administrador através de um filtro apenas restritivo. Defina "merge" quando um host precisa passar suas próprias restrições para as sessões que inicia, por exemplo Claude Desktop entregando uma lista de permissões de saída de um gateway.
- Escopo:
Managed. Claude Code a lê da fonte gerenciada controlada por administrador de prioridade mais alta. - Tipo: string, um de:
"first-wins": Claude Code descarta as configurações fornecidas pelo host quando um nível gerenciado implantado por administrador está presente"merge": Claude Code aplica as configurações fornecidas pelo host sob o nível de administrador através de um filtro apenas restritivo
- Padrão:
"first-wins"
managed-settings.json
policyHelper
Execute um executável que você implanta que calcula configurações gerenciadas na inicialização, para que você possa derivar política da postura do dispositivo, identidade ou um serviço remoto em vez de um arquivo estático. Claude Code executa o auxiliar antes de aceitar o primeiro prompt e trata as configurações que emite como as configurações gerenciadas para a sessão.
- Escopo:
Managed. Leia do plist macOS, do registro HKLM do Windows ou do arquivo de configurações gerenciadas. Claude Code lê a chave da fonte gerenciada de prioridade mais alta que carrega uma chave de política e executa o auxiliar apenas quando essa fonte é uma daquelas três; ele ignora a chave em configurações gerenciadas pelo servidor, no registro HKCU e em configurações pai fornecidas pelo host. - Tipo: objeto com
path,timeoutMserefreshIntervalMs - Padrão: não definido, então nenhum auxiliar é executado
managed-settings.json
Escreva a saída do auxiliar
Claude Code executa o auxiliar sem argumentos, defineCLAUDE_CODE_VERSION em seu ambiente e lê um envelope JSON de stdout, limitado a 1 MiB.
Coloque as configurações sob uma chave managedSettings. Um objeto de configurações simples sem chave managedSettings analisa com managedSettings indefinido e não aplica nada, e Claude Code não relata nenhum erro:
managedSettings, esse objeto se torna a única fonte de configurações gerenciadas para a execução: Claude Code ignora as fontes MDM, arquivo e HKCU, lê as chaves entre fontes apenas da saída do auxiliar e nunca mescla configurações pai.
A verificação de inicialização forceRemoteSettingsRefresh é executada antes do auxiliar e lê qualquer fonte de administrador. Um auxiliar que sai com 0 com um envelope que omite managedSettings não contribui com nenhuma configuração gerenciada, e as outras fontes se aplicam como usual.
Falhas do auxiliar
Uma execução do auxiliar falha quando:pathquebra as regras empolicyHelper.path.- Nenhum arquivo regular está em
path. Claude Code verifica o arquivo antes de iniciar o auxiliar, dentro do mesmo orçamentotimeoutMs, então uma montagem de rede sem resposta pode causar a falha da execução. - O auxiliar sai com não-zero, ainda está em execução quando
timeoutMsdecorre ou não inicia, por exemplo porque não é executável. - O auxiliar escreve mais de 1 MiB para stdout ou stderr.
- stdout não é um único objeto JSON, ou seu
managedSettingstem uma violação de esquema que Claude Code não pode reparar.
timeoutMs e não inclui nenhuma saída do auxiliar. A recusa cobre sessões interativas, claude -p, sessões do Agent SDK, sessões em segundo plano e a maioria dos subcomandos.
A recusa é deliberada, então um auxiliar que precisa de resiliência de interrupção deve servir de seu próprio cache e sair com 0.
Quando uma atualização em segundo plano falha, Claude Code mantém a última política bem-sucedida em vigor, e /status mostra a atualização falhada com seu motivo até que uma atualização tenha sucesso. Cada atualização é executada sob o mesmo timeoutMs e regras de falha que a execução de inicialização.
Com --debug, Claude Code escreve stderr do auxiliar de cada execução para o log de depuração.
Claude Code relata um valor policyHelper inválido como uma entrada descartada e inicia a sessão nas configurações gerenciadas restantes sem executar um auxiliar. Valores inválidos incluem uma string de caminho simples e um timeoutMs abaixo de seu mínimo.
Para desativar um auxiliar, remova a chave da fonte que a define.
policyHelper.path
Nomeie o executável do auxiliar que Claude Code executa. Para o que acontece quando o caminho quebra as regras abaixo, consulte Falhas do auxiliar.
- Escopo:
Managed. Leia do plist macOS, do registro HKLM do Windows ou do arquivo de configurações gerenciadas, ondepolicyHelperé lido. - Tipo: string, um caminho absoluto em forma normalizada, sem segmentos
.ou..; no Windows, um caminho de letra de unidade ou UNC que termina em.exe - Padrão: nenhum; obrigatório quando
policyHelperestá definido
managed-settings.json
policyHelper.timeoutMs
Defina quanto tempo Claude Code aguarda o auxiliar antes de tratar a execução como falhada. Uma execução com tempo limite falha da mesma forma que uma saída com não-zero, então na inicialização Claude Code se recusa a iniciar.
- Escopo:
Managed. Leia do plist macOS, do registro HKLM do Windows ou do arquivo de configurações gerenciadas, ondepolicyHelperé lido. - Tipo: inteiro, milissegundos, mínimo
1000 - Padrão:
10000
managed-settings.json
policyHelper.refreshIntervalMs
Faça Claude Code re-executar o auxiliar em segundo plano em um intervalo para que mudanças de política alcancem uma sessão em execução. Quando uma atualização tem sucesso, sua saída substitui as configurações gerenciadas anteriores sem uma reinicialização; quando uma atualização falha, Claude Code mantém a política que já tem.
- Escopo:
Managed. Leia do plist macOS, do registro HKLM do Windows ou do arquivo de configurações gerenciadas, ondepolicyHelperé lido. - Tipo: inteiro, milissegundos:
0para desabilitar atualização, caso contrário pelo menos60000 - Padrão: não definido, então Claude Code executa o auxiliar uma vez na inicialização
managed-settings.json
wslInheritsWindowsSettings
Faça Claude Code no WSL ler configurações gerenciadas da cadeia de política do Windows, com HKLM e o arquivo de configurações gerenciadas do Windows tendo prioridade sobre /etc/claude-code e HKCU abaixo. Enquanto a cadeia está ativada, Claude Code lê /etc/claude-code apenas quando nenhum documento de administrador do Windows está presente no valor de registro HKLM ou na pasta C:\Program Files\ClaudeCode\. Defina-o para estender a política que você já implanta no Windows para sessões WSL na mesma máquina, para que sigam as mesmas regras que sessões de host. Claude Code a honra apenas quando definida na chave de registro HKLM ou em um arquivo de configurações gerenciadas ou drop-in sob C:\Program Files\ClaudeCode\, ambos exigindo administrador do Windows para escrever.
- Escopo:
Managed. Em uma fonte do Windows controlada por administrador. - Tipo: Booleano
true: Claude Code no WSL lê configurações gerenciadas da cadeia de política do Windows e lê/etc/claude-codeapenas quando nenhum documento de administrador do Windows está presentefalse: WSL lê apenas/etc/claude-code
- Padrão:
false, então WSL lê apenas/etc/claude-code
managed-settings.json
true. Essa cópia não ativa a cadeia por si só. Uma fonte do Windows que contém apenas essa chave não conta como uma fonte de política, então uma fonte de prioridade mais baixa ainda fornece a política. Esta chave não tem efeito no Windows nativo.
Claude Code lê true e false com ou sem aspas e lê null como removendo a chave. Uma fonte do Windows controlada por administrador que contém qualquer outro valor conta como um documento de administrador presente com a cadeia ativada: nem /etc/claude-code nem HKCU se aplica, e um aviso de inicialização nomeia a chave. Um valor HKLM ou arquivo de pasta do Windows que existe mas não pode ser lido também impede que /etc/claude-code se aplique independentemente de a cadeia estar ativada. Requer Claude Code v2.1.282 ou posterior.
Configurações globais
Salve essas chaves em~/.claude.json, não em um arquivo de configurações. Claude Code as ignora em qualquer outro lugar. Claude Code e /config escrevem a maioria delas para você, e você também pode editá-las manualmente.
autoConnectIde
Conecte a um IDE em execução automaticamente quando você inicia Claude Code a partir de um terminal externo. Aparece em /config como Auto-conectar ao IDE (terminal externo) quando você executa Claude Code fora de um terminal VS Code ou JetBrains.
- Escopo:
Global config - Tipo: Booleano
true: Claude Code se conecta a um IDE em execução automaticamente quando você o inicia a partir de um terminal externofalse: Claude Code não se conecta automaticamente a partir de um terminal externo; dentro de um terminal VS Code ou JetBrains, ou com--ide, ele ainda se conecta
- Padrão:
false - Substituições por sessão:
CLAUDE_CODE_AUTO_CONNECT_IDEtem precedência sobre essa chave para uma sessão, em qualquer direção
~/.claude.json
settings.json.
autoInstallIdeExtension
Instale a extensão Claude Code IDE automaticamente quando você executa Claude Code a partir de um terminal VS Code. Aparece em /config como Auto-instalar extensão IDE quando você executa Claude Code dentro de um terminal VS Code ou JetBrains.
- Escopo:
Global config - Tipo: Booleano
true: Claude Code instala a extensão IDE automaticamente quando você a executa a partir de um terminal VS Codefalse: Claude Code não instala a extensão automaticamente
- Padrão:
true - Substituições por sessão:
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLdefinido como1pula a instalação para uma sessão mesmo quando essa chave étrue
~/.claude.json
settings.json.
claudeInChromeDefaultEnabled
Inicie cada sessão CLI interativa com integração Chrome ativada, sem passar --chrome cada vez. Se você executar claude remote-control, uma sessão que ele inicia para um de seus threads de projeto segue essa chave também, exceto no modo bypassPermissions. Com Claude Code v2.1.287 ou posterior, essa chave também se aplica a sessões na extensão VS Code: consulte Habilitar Chrome por padrão.
Executar /chrome e selecionar Habilitado por padrão define essa chave para você. Aparece em /config como Claude no Chrome habilitado por padrão.
- Escopo:
Global config - Tipo: Booleano
true: Claude Code ativa a integração Chrome quando uma sessão CLI interativa inicia, como faz quando você passa--chrome. Na extensão VS Code, as sessões se conectam ao navegador assim que iniciamfalse: sessões CLI interativas iniciam com integração Chrome desativada, e Claude Code para de oferecer configurá-la. Passe--chromepara ativá-la para uma sessão interativa. Na extensão VS Code, uma sessão se conecta quando você digita@browser, como quando a chave não está definida
- Padrão: não definido, então a integração Chrome está desativada e Claude Code ainda pode oferecer configurá-la
- Substituições por sessão:
--chromee--no-chrometêm precedência sobre essa chave para uma sessão interativa
~/.claude.json
settings.json.
copyFullResponse
Faça /copy copiar a resposta completa toda vez, sem o seletor que ele mostra quando a resposta contém blocos de código. Selecionar Sempre copiar resposta completa nesse seletor define essa chave como true. Aparece em /config como Pular o seletor /copy.
- Escopo:
Global config - Tipo: Booleano
true:/copycopia a resposta completa sem mostrar o seletorfalse: quando a resposta contém blocos de código,/copymostra um seletor onde você escolhe um bloco de código ou a resposta completa
- Padrão:
false
~/.claude.json
settings.json.
copyOnSelect
Copie texto para sua área de transferência automaticamente quando você terminar de selecioná-lo com o mouse em renderização em tela cheia ou visualização de agente. Aparece em /config como Copiar ao selecionar enquanto a renderização em tela cheia está ativada.
- Escopo:
Global config - Tipo: Booleano
true: Claude Code copia texto para sua área de transferência quando você termina de selecioná-lofalse: selecionar texto deixa sua área de transferência inalterada, e você copia a seleção com um atalho de teclado em vez disso
- Padrão:
true
~/.claude.json
settings.json.
defaultToAgentsView
Abra visualização de agente em vez de uma nova conversa quando você executa claude sem argumentos. Aparece em /config como Abrir visualização de agentes por padrão a menos que a visualização de agente esteja desativada.
- Escopo:
Global config - Tipo: Booleano
true:claudesem argumentos abre a visualização de agente, a menos que a visualização de agente esteja desativadafalse:claudesem argumentos inicia uma nova conversa
- Padrão:
false
~/.claude.json
settings.json.
diffTool
Escolha onde Claude Code mostra o diff de uma mudança Edit ou Write que ele propõe quando um IDE VS Code ou JetBrains está conectado: "auto" o abre no visualizador de diff do IDE, "terminal" o mantém no terminal. Aparece em /config como Diff tool apenas enquanto Claude Code está conectado a um IDE VS Code ou JetBrains.
- Escopo:
Global config - Tipo: string, um de:
"auto": Claude Code abre o diff no visualizador de diff do IDE quando um IDE VS Code ou JetBrains está conectado"terminal": Claude Code mantém o diff no terminal
- Padrão:
"auto"
~/.claude.json
settings.json.
externalEditorContext
Quando você pressiona Ctrl+G, Claude Code abre o prompt que você está digitando em seu editor externo. Com essa chave ativada, o buffer do editor começa com a resposta anterior de Claude como linhas de comentário #, para que você possa lê-la enquanto escreve, e Claude Code remove essas linhas quando você salva. Aparece em /config como Mostrar última resposta no editor externo.
- Escopo:
Global config - Tipo: Booleano
true: o buffer do editor começa com a resposta anterior de Claude como linhas de comentário#, que Claude Code remove quando você salvafalse: o buffer do editor abre apenas com seu prompt
- Padrão:
false
~/.claude.json
# … (saída anterior truncada).
Claude Code ignora essa chave em settings.json.
leftArrowOpensAgents
Pressione ← em um prompt vazio para colocar a sessão em segundo plano e abrir a visualização de agente. Defina essa chave como false para desativar o atalho. Aparece em /config como ← abre agentes quando a visualização de agente está disponível.
- Escopo:
Global config - Tipo: Booleano
true: pressionar←em um prompt vazio em uma sessão que você iniciou no terminal a coloca em segundo plano e abre a visualização de agentefalse: Claude Code desativa o atalho; em uma sessão que você anexou a partir da visualização de agente,←em um prompt vazio ainda desanexa
- Padrão:
true
~/.claude.json
settings.json.
permissionExplainerEnabled
Até v2.1.256, você poderia pressionar Ctrl+E em um prompt de permissão Bash ou PowerShell para ver uma explicação gerada pelo modelo do comando, e definir essa chave como false para desativar esse atalho.
- Escopo:
Global config. Na v2.1.256 e anteriores. - Tipo: Booleano
- Padrão:
true
prStatusFooterEnabled
Mostre um badge no rodapé do prompt para o pull request ou merge request aberto do branch atual, com um sublinhado colorido que mostra seu status. Aparece em /config como Mostrar rodapé de status de PR.
- Escopo:
Global config - Tipo: Booleano
true: o rodapé mostra o badge sob as condições em Status de revisão de PRfalse: Claude Code pula a verificação de pull request e merge request do rodapé e não mostra esse badge. Uma sessão que você anexou a partir da visualização de agente ainda pode mostrar um link simples para um pull request vinculado a ela
- Padrão:
true
~/.claude.json
settings.json.
teammateDefaultModel
Até v2.1.233, você definia essa chave para o modelo de equipe de agente colegas de equipe que seu prompt não nomeou um modelo para: um alias como "sonnet", ou null para seguir o modelo do líder. Para o modelo que Claude Code escolhe para esses colegas de equipe agora, veja especificar colegas de equipe e modelos.
- Escopo:
Global config. Na v2.1.233 e anteriores. - Tipo: string, um alias de modelo ou ID de modelo completo, ou
null - Padrão: não definido
Veja também
- Configurar permissões: sintaxe de regras, modos de permissão e confiança do workspace
- Variáveis de ambiente: todas as variáveis
CLAUDE_*,ANTHROPIC_*e de provedor que Claude Code lê - Ferramentas disponíveis para Claude: as ferramentas integradas e quais precisam de aprovação
- Arquivos de configuração de exemplo: um arquivo pessoal, um arquivo de equipe e um arquivo gerenciado de uma organização
- Configurar configurações gerenciadas: como as organizações decidem o que impor
- Implantar configurações gerenciadas: mecanismos de entrega, precedência dentro da camada gerenciada e entradas inválidas em configurações gerenciadas
- Depurar sua configuração:
claude doctore o diálogo Erro de Configurações