~/.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 com variáveis de ambiente, consulte Configuração de modelo.
advisorModel
Escolha qual modelo responde quando o Claude chama a ferramenta advisor do lado do servidor. Remova a configuração para desativar o advisor. O advisor deve ser pelo menos tão capaz quanto o seu modelo principal. Consulte Escolher um modelo advisor para ver as combinações aceitas e o que acontece quando você escolhe uma que não é aceita.
Normalmente, você não edita esta chave manualmente. Execute /advisor para abrir um seletor que mostra a escolha atual, os modelos que podem atuar como advisor e No advisor. O Claude Code salva sua escolha nesta chave em ~/.claude/settings.json. Se você fizer a escolha a partir de um cliente Remote Control ou em uma sessão conectada a um worker remoto, a escolha se aplica apenas àquela sessão e não altera esta chave.
Se a sua conta exigir o consentimento de créditos de uso, aceite-o primeiro executando /model fable. Até que você faça isso, escolher Fable em /advisor não salva nada e o Claude Code informa que você deve executar /model fable primeiro.
- Escopo:
Any file - Tipo: string, um dos aliases
"fable","opus"ou"sonnet", que correspondem à versão padrão atual do Claude Code daquela família de modelos, ou um ID de modelo completo, como"claude-opus-5-5" - Padrão: não definido, então o advisor fica desativado
- Substituições por sessão:
--advisortem precedência sobre esta chave para uma sessão.CLAUDE_CODE_DISABLE_ADVISOR_TOOLdesativa o advisor, e esta chave não pode reativá-lo
settings.json
"fable" requer acesso ao Fable.
alwaysThinkingEnabled
Desative o pensamento estendido em todas as sessões definindo esta chave como false. O pensamento fica ativado por padrão, então true não altera nada. A maioria das pessoas define isso por meio 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, o Claude Code omite o parâmetro thinking em vez de desativar o pensamento, então modelos com raciocínio adaptativo ainda podem pensar. Com o pensamento desativado na API da Anthropic, o Claude Code envia o esforço high em vez de um nível mais alto para modelos que ele sabe que não aceitam essa combinação, como o Opus 5.
- Escopo:
Any file - Tipo: Boolean
true: sem efeito; o pensamento já está ativadofalse: o Claude Code desativa o pensamento estendido em todas as sessões
- Padrão: não definido, então o pensamento fica ativado para modelos que o suportam
- Substituições por sessão:
MAX_THINKING_TOKENStem precedência sobre esta 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 esta chave éfalse. Em modelos com 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 arquivos do próprio desenvolvedor; um modelo fora dela não pode ser selecionado. Com a correspondência por prefixo padrão, isso por si só não afeta a opção Default; combine com enforceAvailableModels para isso.
- Escopo:
Any file. Implante-a em configurações gerenciadas para aplicá-la a uma organização. - Tipo: array de aliases ou IDs de modelo
- Padrão: não definido, então todos os modelos estão disponíveis
settings.json
"claude-opus-5" também permite versões posteriores que a estendem, como o Opus 5.5. Para bloquear uma dessas versões, use deniedModels. Para fazer com que cada entrada de ID de modelo permita apenas a versão que ela nomeia, use availableModelsMatch. Consulte Restringir a seleção de modelos. Para IDs de provedores de terceiros, consulte Fixar modelos para implantações de terceiros.
availableModelsMatch
Escolha como as entradas de availableModels correspondem a 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 o 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é que você a liste. Requer Claude Code v2.1.283 ou posterior.
- Escopo:
Managed. O Claude Code ignora a chave nas configurações de usuário, de projeto e locais 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, então"claude-opus-5"permite o Opus 5, mas nãoclaude-opus-5-5. Uma entrada como"claude-opus-4-5"também permite seu ID de modelo datado da Anthropicclaude-opus-4-5-20251101. Um alias de família como"opus"ainda permite a família inteira, e as entradasbest,opusplanedefaultsão ignoradas
- Padrão:
"prefix"
managed-settings.json
"exact", a opção Default também fica limitada aos modelos listados sempre que a lista nomeia pelo menos um modelo ou família. Consulte Bloquear modelos ou versões específicos.
deniedModels
Bloqueie modelos específicos, com ou sem uma allowlist de availableModels e mesmo quando essa lista os permite. O 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 Default também não executa um modelo bloqueado, conforme descrito em Bloquear modelos ou versões específicos. Requer Claude Code v2.1.283 ou posterior.
- Escopo:
Managed. O Claude Code ignora a chave nas configurações de usuário, de projeto e locais e em--settings, com um aviso - Tipo: array de aliases ou IDs de modelo
- Um alias de família como
"opus"bloqueia todos os modelos daquela família - Um ID de modelo como
"claude-opus-5-5"bloqueia essa versão em todas as grafias, incluindo IDs datados e específicos de provedores - Um ID de modelo sem versão secundária, como
"claude-opus-5", também bloqueia versões secundárias posteriores, como o Opus 5.5. Escreva"claude-opus-5-0"para bloquear apenas o Opus 5 - As entradas
best,opusplanedefaultsão ignoradas
- Um alias de família como
- Padrão: não definido, 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 simples, e níveis mais altos raciocinam com mais profundidade em problemas complexos.
Quando você executa /effort low, medium, high ou xhigh em uma sessão interativa na sua máquina, o Claude Code salva o nível para o modelo ativo em modelSettings em vez de gravar esta chave. Antes da v2.1.251, /effort gravava esta chave.
Dentro do mesmo arquivo de configurações, o Claude Code usa o nível salvo de um modelo em vez desta chave. modelSettings descreve a precedência entre arquivos.
Em uma sessão conectada a um worker remoto, em uma execução -p e no Agent SDK, /effort se aplica apenas àquela sessão. Ajustar o nível de esforço lista as escolhas interativas que também se aplicam apenas àquela sessão. A mensagem que /effort exibe informa o que aconteceu.
- Escopo:
Any file - Tipo: string, um de:
"low": o mínimo de raciocínio, para tarefas curtas, delimitadas e sensíveis à latência que não dependem de inteligência"medium": reduz o uso de tokens para trabalhos sensíveis a custo que podem abrir mão de alguma inteligência"high": equilibra uso de tokens e inteligência"xhigh": raciocínio mais profundo com maior gasto de tokens
- Padrão: não definido
- Substituições por sessão:
--efforttem precedência sobre esta chave para uma sessão, eCLAUDE_CODE_EFFORT_LEVELtem precedência sobre ambos
settings.json
~/.claude/settings.json, esta chave é a forma antiga que /effort gravava antes de salvar níveis por modelo, e ela continua se aplicando onde se aplicava antes: no Opus 5, no Fable 5.1 e em modelos anteriores. O Opus 5.5 e os modelos lançados depois dele a ignoram e começam no próprio padrão até que você salve um nível para eles, que /effort grava em modelSettings. Nas configurações de projeto, locais e gerenciadas, e com --settings, esta chave se aplica a todos os modelos.
enforceAvailableModels
O seletor /model tem uma opção Default, e configuração de modelo default descreve o modelo para o qual ela é resolvida. Uma allowlist de availableModels limita os modelos que você pode nomear, mas com a correspondência por prefixo padrão ela não remapeia o padrão do seu tipo de conta, então Default ainda pode ser resolvida para um modelo fora da lista. Esta chave fecha essa lacuna. Requer Claude Code v2.1.175 ou posterior.
Quando sua organização implanta quaisquer configurações gerenciadas, o Claude Code lê esta chave apenas da fonte gerenciada e a ignora nos seus outros arquivos.
Para saber como esta chave se aplica às verificações de modelo na inicialização, consulte Amazon Bedrock e Agent Platform do Google Cloud.
- Escopo:
Any file - Tipo: Boolean
true: quando Default seria resolvida para um modelo fora deavailableModels, o Claude Code a resolve para o primeiro modelo disponível na listafalse: esta chave não altera como Default é resolvida
- Padrão:
false
settings.json
availableModels não está definida ou está vazia. Consulte Aplicar a allowlist ao modelo Default. Requer Claude Code v2.1.175 ou posterior.
fallbackModel
Nomeie modelos reserva para o Claude Code tentar, em ordem, quando seu modelo principal estiver sobrecarregado ou indisponível. O Claude Code muda para o próximo modelo disponível na cadeia pelo restante do turno e exibe um aviso. Sem uma cadeia, o Claude Code tenta novamente o mesmo modelo e depois exibe o erro do servidor, e você mesmo tenta novamente ou troca de modelo.
Uma troca significa um turno com o cache de prompt frio no modelo de fallback; sua próxima mensagem tenta primeiro o modelo principal novamente.
- Escopo:
Any file - Tipo: array de aliases ou IDs de modelo;
"default"se expande para o modelo padrão - Padrão: não definido, então uma requisição com falha não é tentada novamente em outro modelo
- Substituições por sessão:
--fallback-modeltem precedência sobre esta chave para uma sessão
settings.json
["claude-sonnet-5"] e o seu arquivo de usuário define ["claude-haiku-4-5"], a cadeia é apenas ["claude-sonnet-5"]. O Claude Code mantém no máximo três modelos permitidos distintos da lista e ignora o restante. Consulte Cadeias de modelos de fallback.
fastMode
Ative o modo rápido em sessões onde ele está disponível, para trabalho interativo como iteração rápida ou depuração ao vivo, em que você quer velocidade a um custo maior por token. Normalmente, você não edita esta chave manualmente. Executar /fast grava fastMode: true em ~/.claude/settings.json, e executá-lo novamente para desativar o modo rápido remove a chave.
Na API da Anthropic, apenas o Fable 5.2, o Opus 5.5, o Opus 5 e o Opus 4.8 suportam o modo rápido. Executar /fast a partir de outro modelo muda você para o Opus, e mudar para um modelo não suportado desativa o modo rápido. Consulte Trocar de modelo com o modo rápido ativado. No Agent Platform do Google Cloud, /fast muda você para o Fable 5.2 em vez disso e não grava esta chave, e o Claude Code ignora um true salvo.
- Escopo:
Any file - Tipo: Boolean
true: o Claude Code ativa o modo rápido em sessões onde ele está disponível. No Fable 5.2, você também precisa executar/fastenquanto usa o Fable 5.2false: o modo rápido permanece desativado
- Padrão: não definido, então o modo rápido fica desativado
- Substituições por sessão:
CLAUDE_CODE_DISABLE_FAST_MODEdesativa o modo rápido para uma sessão, e esta chave não pode reativá-lo
settings.json
fastModePerSessionOptIn
Normalmente, executar /fast salva fastMode nas configurações de usuário da pessoa, então novas sessões em um modelo suportado começam com o modo rápido ativado. No Fable 5.2, isso acontece apenas se a pessoa o ativou enquanto usava o Fable 5.2. Para fazer com que cada pessoa execute /fast em cada sessão em que quiser usá-lo, defina esta chave como true. O Claude Code mantém a chave fastMode no arquivo, então desativar esta chave restaura o comportamento anterior.
Owners em planos Team ou Enterprise podem implantá-la em toda a organização por meio de configurações gerenciadas pelo servidor. Quando as configurações gerenciadas definem a chave, /fast on é recusado fora de sessões interativas no terminal e informa que sua organização desativou o modo rápido. Isso abrange o modo não interativo, a extensão do VS Code e as sessões na nuvem.
- Escopo:
Any file - 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 em que quiser usá-lo; umfastMode: truepassado com--settingsainda vale para aquela sessão, a menos que as configurações gerenciadas definam esta chavefalse: umfastMode: truesalvo funciona conforme descrito emfastMode
- Padrão:
false
settings.json
language
Faça o Claude responder por padrão em um idioma diferente do inglês. Não há uma lista fixa para respostas: o Claude Code passa o valor literalmente ao Claude como uma instrução para sempre responder naquele idioma, então qualquer nome de idioma que o Claude consiga ler funciona. O Claude Code não verifica o valor, então um nome com erro de digitação chega ao Claude como foi escrito em vez de gerar um erro. O mesmo valor define o idioma do ditado por voz, que tem uma lista fixa de idiomas de ditado suportados, e dos títulos de sessão gerados automaticamente.
- Escopo:
Any file - Tipo: string, qualquer nome de idioma, como
"japanese","spanish"ou"french"; o Claude Code não o valida - Padrão: não definido; os títulos de sessão então seguem o idioma da sua conversa
settings.json
maxEffortLevel
Limite o nível de esforço que uma sessão pode usar, mantendo os níveis mais baixos disponíveis. Qualquer nível mais alto é executado no limite, incluindo um vindo de /effort, do seletor /model, de --effort, de CLAUDE_CODE_EFFORT_LEVEL, do effort no frontmatter de uma skill ou de um subagente, ou do próprio padrão do modelo. O próprio Claude Code aplica o limite antes de cada requisição, então ele vale em todos os provedores, incluindo Amazon Bedrock, Agent Platform do Google Cloud e Microsoft Foundry. Requer Claude Code v2.1.267 ou posterior.
- Escopo:
Any file. Implante-a em configurações gerenciadas para aplicá-la 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 a partir de outro - Tipo: string, um de
"low","medium","high","xhigh"ou"max". Um valor"max"não define limite - Padrão: não definido, então nenhum limite se aplica
- Limites por modelo: adicione
maxEffortLevelà entrada de um modelo emmodelSettings. Essa entrada substitui esta chave para o modelo apenas dentro da fonte de configurações que define ambas, como suas configurações de usuário ou uma fonte gerenciada. Defina"max"ali para isentar o modelo do limite daquela fonte; o Claude Code ainda aplica limites de outras fontes
medium e isenta o Sonnet 4.6:
settings.json
model
Defina o modelo que toda nova sessão usa, para que você não precise escolher um com /model a cada vez. Defini-lo aqui não impede que você troque no meio da sessão. Se o seu administrador definiu um modelo padrão da organização para sobrescrever a seleção do usuário, você recebe esse modelo mesmo quando define esta chave nas configurações de usuário, de projeto ou locais.
- Escopo:
Any file - Tipo: string, um alias de modelo ou ID de modelo completo
- Padrão: não definido, então o Claude Code usa o modelo padrão da sua conta
- Substituições por sessão:
--modeltem precedência sobreANTHROPIC_MODEL, e ambos têm precedência sobre esta chave para uma sessão, inclusive sobre ummodelgerenciado; uma listaavailableModelsainda se aplica à escolha
settings.json
ANTHROPIC_DEFAULT_MODEL, que o Claude Code usa apenas quando nada mais seleciona um modelo.
modelOverrides
Mapeie IDs de modelo da Anthropic para IDs de modelo específicos do provedor, como ARNs de perfis de inferência do Amazon Bedrock. Cada entrada do seletor de modelos então usa seu valor mapeado ao chamar a API do provedor. Administradores usam isso no Amazon Bedrock, no Agent Platform do Google Cloud e no Microsoft Foundry para rotear cada versão de modelo para um perfil de inferência, nome de versão ou implantação específicos, para governança, alocação de custos ou roteamento regional.
- Escopo:
Any file - Tipo: objeto que mapeia ID de modelo para ID de modelo do provedor
- Padrão: não definido
settings.json
modelPicker
Liste os modelos que o seletor /model oferece, na ordem em que você os escreve e com os rótulos que você escolher, para que o seletor liste os modelos que sua organização executa, depois da lista integrada ou no lugar dela. O model de cada linha é usado literalmente, então aceita qualquer coisa que --model aceita: um alias como opus, um ID de modelo da Anthropic ou um ID no formato do provedor para Amazon Bedrock, Agent Platform do Google Cloud, Microsoft Foundry ou um gateway de LLM. Requer Claude Code v2.1.242 ou posterior.
- Escopo:
User or managed. O Claude Code lê a chave das configurações gerenciadas, de--settingse das configurações de usuário, e a ignora nas configurações de projeto e locais para que um repositório que você clona não possa renomear o seletor. A fonte de maior precedência dentre essas três que define a chave fornece a lista inteira, e o Claude Code nunca combina listas de duas fontes. - Tipo: objeto com um array
optionsde linhas e um Boolean opcionalreplaceBuiltInOptions - Padrão: não definido, então o seletor mostra a lista integrada
managed-settings.json
Campos de modelPicker
A chave aceita dois campos, um para as próprias linhas e outro para indicar se elas substituem a lista integrada ou são adicionadas a ela.
Uma entrada em
options também pode ter uma string opcional behavesAs ao lado do seu model, o que requer v2.1.257 ou posterior. Defina-a como o ID de um modelo que sua versão do Claude Code já conhece, como claude-opus-4-8, em uma entrada cujo model seja mais novo que sua versão. O Claude Code então aplica as capacidades e os 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 de modelo que o Claude Code envia nas requisições não mudam.
Com replaceBuiltInOptions ativado, o Claude Code oculta todas as outras linhas: a lista integrada, as linhas que ele adiciona para entradas de availableModels, os modelos que a descoberta do gateway encontrou e ANTHROPIC_CUSTOM_MODEL_OPTION. Com ele desativado, o Claude Code pula um modelo listado que a lista integrada já abrange. Um rótulo altera o que o seletor mostra, não qual modelo o Claude Code executa.
Uma allowlist de availableModels ainda se aplica a estas linhas. Antes de adicionar um modelo listado à allowlist, leia Comportamento de mesclagem: um ID de modelo específico restringe a entrada curinga da sua família. O Claude Code também verifica cada linha em relação à sessão antes de mostrar o seletor:
- Removida: uma linha que o Claude Code não consegue atender, como um modelo descontinuado ou um modelo ao qual sua organização não tem acesso
- Desabilitada: uma linha que você ainda não pode selecionar, mostrada com o motivo
- Nenhuma linha restante: o Claude Code mantém a lista integrada, filtrada pela allowlist como de costume
modelPricing
Informe os gastos com as tarifas que sua organização paga em vez do preço de tabela. Defina esta chave quando sua organização tiver tarifas contratadas, para que os valores em dólar que os desenvolvedores veem correspondam à sua fatura. O Claude Code aplica as tarifas em /usage, na linha de status, no total_cost_usd do Agent SDK, no limite --max-budget-usd e na métrica e nos eventos de custo do OpenTelemetry. Você fornece as tarifas: o Claude Code não as lê do seu contrato nem do Claude Console. Requer Claude Code v2.1.242 ou posterior.
- Escopo:
Managed. Implante a chave por meio de configurações gerenciadas pelo servidor, uma política de MDM, um arquivomanaged-settings.jsonou um auxiliar de política. O Claude Code a ignora nas configurações de usuário, de projeto e locais, em--settingse, no Windows, no registro HKCU gravável pelo usuário. Com configurações gerenciadas pelo servidor, cada sessão informa custos pelo preço de tabela até que a busca de configurações daquela sessão tenha confirmado a configuração. Um aplicativo host que incorpora o Claude Code e defineCLAUDE_CODE_PROVIDER_MANAGED_BY_HOSTpode fornecer sua própria tabela por meio da opçãomanagedSettingsdo SDK, que o Claude Code usa apenas quando nenhuma fonte gerenciada define a chave e apenas no Claude Code v2.1.246 ou posterior. - Tipo: objeto com um
multiplieropcional e um mapaoverridesopcional - Padrão: não definido, então o Claude Code informa o preço de tabela, a menos que um aplicativo host forneça uma tabela
multiplier para um desconto ou acréscimo fixo, apenas overrides para tarifas por modelo, ou ambos.
Este exemplo define tarifas contratadas para o Sonnet 4.6 e depois reduz todos os valores, incluindo a linha do Sonnet, em 15%:
managed-settings.json
multiplier acima de 1, até 10, para aplicar um acréscimo a todos os valores. Um acréscimo requer Claude Code v2.1.271 ou posterior. Versões anteriores ignoram um multiplier acima de 1 com um aviso e mantêm o restante da configuração.
Para os passos, incluindo como confirmar que as tarifas estão em vigor, consulte Informar gastos com suas tarifas contratadas.
Campos de modelPricing
O Claude Code usa as tarifas de uma linha exatamente como você as escreveu, sem adicionar a sobretaxa do modo rápido nem a tarifa de inferência apenas nos EUA. Se você também definir
multiplier, o Claude Code o aplica sobre as tarifas da linha. O Claude Code descarta uma linha com uma tarifa que não consegue interpretar, ou um multiplier que não consegue interpretar, e mantém o restante; consulte Corrigir um arquivo de configurações com problemas.
A quais modelos uma linha de modelPricing se aplica
O Claude Code decide a quais modelos uma linha se aplica com base na chave da linha:
- O ID de um modelo integrado: uma chave que o próprio Claude Code usa para um modelo integrado, seja o próprio ID do modelo, como
claude-sonnet-4-6, ou seu ID no Bedrock, no Agent Platform ou no Foundry. O Claude Code aplica a linha a todos os IDs de snapshot datados e IDs específicos de provedores daquele modelo. - Qualquer outra chave: uma chave que não é o ID de um modelo integrado, como um alias de modelo de gateway. O Claude Code aplica a linha apenas àquele ID. Quando um ID de modelo corresponde exatamente a uma das suas chaves e também se enquadra em uma linha cuja chave é o ID de um modelo integrado, o Claude Code usa a correspondência exata.
- Um perfil de inferência de aplicativo do Bedrock: depois que o Claude Code resolve o perfil para o modelo para o qual ele roteia, por meio do seu mapa
modelOverridesou da consultabedrock:GetInferenceProfile, o Claude Code aplica a linha daquele 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 na sua máquina, quando você salva low, medium, high ou xhigh como padrão com /effort ou com o controle deslizante de esforço do seletor /model, o Claude Code grava esse nível aqui sob o modelo que você está usando, então raramente você mesmo edita esta chave. Quando você escolhe um desses níveis no seletor de modelos da extensão do VS Code, o Claude Code o salva aqui da mesma forma. A entrada effortLevel lista as sessões em que /effort se aplica apenas àquela sessão.
Edite a chave manualmente para alterar ou remover um nível que você salvou.
O effortLevel de um modelo aqui tem precedência sobre o effortLevel de nível superior no mesmo arquivo de configurações. Entre arquivos, o Claude Code resolve cada modelo separadamente: decide o arquivo de configurações de maior precedência que define um effortLevel para aquele modelo ou um effortLevel de nível superior que se aplica àquele modelo, então um effortLevel em configurações gerenciadas tem precedência sobre um nível que você salvou nas configurações de usuário. Ajustar o nível de esforço lista o que mais pode sobrescrever um nível salvo, como --effort na inicialização.
Para limitar o esforço de um modelo em vez de definir seu nível, adicione um campo maxEffortLevel à entrada daquele modelo. O campo requer Claude Code v2.1.267 ou posterior.
- Escopo:
Any file - Tipo: objeto que mapeia 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 com que o modelo pode ser executadoautoCompactWindow: um número de tokens de100000a1000000, ou"auto"para a janela ajustada para o modelo./autocompactsalva aqui. Para aquele 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: não definido
claude-opus-5-5, e associa à mesma entrada o alias desse modelo, os IDs com sufixo de data, [1m] e os IDs específicos de provedores reconhecidos.
Este exemplo mantém o Opus 5.5 em high enquanto os outros modelos usam seus próprios níveis salvos ou padrão:
settings.json
/effort auto para limpar o nível salvo para o modelo que você está usando. O Claude Code mantém as outras entradas e qualquer effortLevel de nível superior.
outputStyle
Selecione um estilo de saída pelo nome. Um estilo de saída é um conjunto salvo de instruções que altera o papel, o tom e o formato de saída do Claude, como os estilos integrados Explanatory e Learning ou um que você mesmo escreveu.
Se você alterar esta chave durante uma sessão, o Claude usa o novo estilo a partir da sua próxima mensagem. Para saber quanto essa mensagem custa em cache de prompt, consulte Alterar o estilo de saída. Antes da v2.1.251, a alteração só se aplicava depois que você executava /clear ou iniciava uma nova sessão.
- Escopo:
Any file - Tipo: string, o nome de um estilo de saída integrado ou personalizado
- Padrão: não definido, então o Claude Code usa o estilo padrão
settings.json
promptCacheTtl
Escolha por quanto tempo o cache de prompt mantém a conversa principal. Esta chave se aplica aos seus turnos interativos, -p e do Agent SDK, junto com os auxiliares que o Claude Code executa em linha com eles. A duração de uma hora mantém o cache aquecido durante pausas mais longas, e a API cobra cada gravação de cache a uma tarifa mais alta do que na duração de cinco minutos. Requer Claude Code v2.1.242 ou posterior.
- Escopo:
Any file - Tipo: string, um de:
"5m": o cache dura cinco minutos"1h": o cache dura uma hora
- Padrão: não definido, então cada requisição da conversa principal recebe sua duração padrão
- Substituições por sessão:
FORCE_PROMPT_CACHING_5Mtem precedência sobre todo o resto, depoisCLAUDE_CODE_PROMPT_CACHE_TTL, depois esta chave e, por último,ENABLE_PROMPT_CACHING_1H
settings.json
showThinkingSummaries
Veja resumos do pensamento estendido do Claude em sessões interativas. Defina esta chave se quiser os resumos completos ao expandir o pensamento com Ctrl+O. Quando não definida ou false, a API da Anthropic oculta os blocos de pensamento e o Claude Code mostra um stub recolhido.
- Escopo:
Any file - Tipo: Boolean
true: você vê os resumos completos de pensamento ao expandir o pensamento comCtrl+Ofalse: a API da Anthropic oculta os blocos de pensamento e o Claude Code mostra um stub recolhido
- Padrão:
false
settings.json
subagentPromptCacheTtl
Escolha por quanto tempo o cache de prompt mantém as requisições que o Claude Code faz fora da conversa principal. Esta chave se aplica a subagentes, fluxos de trabalho e às próprias requisições em segundo plano e auxiliares do Claude Code, como compactação e títulos de sessão. A duração de uma hora mantém o cache aquecido durante pausas mais longas, e a API cobra cada gravação de cache a uma tarifa mais alta do que na duração de cinco minutos. Requer Claude Code v2.1.242 ou posterior.
- Escopo:
Any file - Tipo: string, um de:
"5m": o cache dura cinco minutos"1h": o cache dura uma hora
- Padrão: não definido, então cada uma dessas requisições recebe sua duração padrão
- Substituições por sessão:
FORCE_PROMPT_CACHING_5Mtem precedência sobre todo o resto, depoisCLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL, depois esta chave, depoisENABLE_PROMPT_CACHING_1H, que solicita a duração de uma hora em todas as requisições. Para saber onde se posiciona o valor no frontmatter do próprio subagente, consulte Escolher o TTL você mesmo
settings.json
promptCacheTtl não abrange, então defina ambas para escolher uma duração para todas as requisições que o Claude Code faz. Para saber como o cache de um subagente difere do da conversa principal, consulte Subagentes e o cache.
switchModelsOnFlag
Escolha o que acontece quando um classificador de segurança sinaliza uma requisição: mudar para o modelo de fallback e continuar, ou pausar para que você possa escolher entre mudar e editar o prompt.
- Escopo:
Any file. Aparece em/configcomo Switch models when a message is flagged, com as opções Switch automatically e Ask each time. - Tipo: Boolean
true: o Claude Code muda para o modelo de fallback e continuafalse: em uma sessão interativa, o Claude Code pausa para que você possa escolher entre mudar e editar o prompt; onde nenhuma caixa de diálogo pode ser exibida, como em uma execução-p, a requisição sinalizada termina com um erro
- Padrão: não definido. O Claude Code muda automaticamente, embora possa perguntar primeiro em uma sessão interativa
settings.json
ultracode
Inicie sessões com o ultracode ativado. Com ele ativado, o Claude planeja um fluxo de trabalho para cada tarefa substancial em vez de esperar que você peça. O Claude planeja fluxos de trabalho apenas quando os fluxos de trabalho dinâmicos estão habilitados para você e seu modelo suporta o esforço xhigh. A chave não altera o nível de esforço da sessão: o ultracode é executado no nível que a sessão usa. O Claude Code lê esta chave, mas nunca a grava: /effort ultracode ativa o ultracode apenas para a sessão atual.
- Escopo:
Any file - Tipo: Boolean
true: as sessões começam com o ultracode ativado quando os fluxos de trabalho dinâmicos estão habilitados para você e seu modelo suportaxhighfalse: as sessões começam com o ultracode desativado
- Padrão: não definido, então o ultracode fica desativado
- Substituições por sessão:
/effort ultracodeativa o ultracode para uma sessão sem esta chave, e/effort ultracode offo desativa para uma sessão quando esta chave étrue. A flag--effort ultracodetambém o ativa para uma sessão, com esforçoxhigh
settings.json
effortLevel, modelSettings e das outras fontes de esforço, e um limite de esforço como maxEffortLevel reduz esse nível sem desativar o 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 com esforço xhigh, e um limite de esforço abaixo de xhigh mantinha o ultracode desativado. Uma requisiçã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, o modo de permissão padrão para novas sessões 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 - Plugins carregados para apenas uma sessão, cujos ids terminam em
@inline, quando todas estas condições se aplicam:- A sessão é uma sessão Code ou sessão Cowork, exceto uma sessão na nuvem, para a qual o próprio aplicativo Claude Desktop inicia Claude Code
- Suas configurações gerenciadas definem a chave, não apenas as configurações pai de um host de incorporação
- A sessão executa Claude Code v2.1.305 ou posterior
allowed-tools. Plugins @inline fora dessas sessões do Desktop também mantêm o seu, exceto um chamado anthropic-skills. 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 solicitam confirmação e quais são bloqueadas. Também defina o modo de permissão padrão para novas sessões. Cada chave permissions.* abaixo se aninha sob este objeto.
- Escopo:
Any file - Tipo: objeto com
allow,ask,deny,additionalDirectories,blockReadsOutsideWorkingDirectories,blockWritesOutsideWorkingDirectories,defaultMode,denyInsteadOfPrompting,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ê.- Um
falseem qualquer um desses arquivos ou em--settingso desativa, a menos que você deixe esse arquivo de usuário ou local de fora com uma opção como--setting-sources. Ignorar um arquivo deixado de fora requer Claude Code v2.1.314 ou posterior
- Um
- Tipo: Booleano
true: o mesmo que não definido; quando o modo auto está disponível, o classificador revisa comandos de shell durante o planejamentofalse: 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.
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.blockWritesOutsideWorkingDirectories
Faça as ferramentas Write, Edit e NotebookEdit recusarem caminhos fora dos seus diretórios de trabalho em cada modo de permissão, incluindo bypassPermissions, exceto alguns dos próprios arquivos de Claude Code. A chave não limita comandos de shell, ferramentas MCP ou os programas que os hooks executam. Para limitar onde os comandos de shell gravam, ative o sandboxing. Requer Claude Code v2.1.314 ou posterior.
Depois que a chave é ativada, Claude Code também remove as ferramentas EnterWorktree e ExitWorktree ou recusa chamadas a elas. Para continuar trabalhando em worktrees, siga Claude não tem a ferramenta EnterWorktree.
- Escopo:
Any file. Umtrueem qualquer arquivo que a sessão carrega se aplica, portanto um repositório pode ativar o bloqueio para si mesmo, mas não pode levantar o seu. Em uma sessão na nuvem, Claude Code pode não aplicar a chave, porque as ferramentas de arquivo são executadas em um contêiner que é ele próprio o limite. - Tipo: Booleano
true: ativa o bloqueiofalse: o mesmo que não definido; o bloqueio ainda se aplica se outro arquivo definirtrue
- Padrão: não definido, portanto gravações fora dos diretórios de trabalho seguem seu modo de permissão. O bloqueio também fica ativo enquanto Claude Code não consegue ler o objeto
permissionsnas suas configurações gerenciadas.
settings.json
~/block-test.txt se o seu diretório pessoal não for um deles. Claude Code recusa a chamada, e a recusa informa que a configuração bloqueia gravações fora dos diretórios de trabalho.
Para levantar o bloqueio, remova a chave de cada arquivo de configurações que a define e depois reinicie Claude Code.
O que o bloqueio de gravação recusa e o que permanece gravável
Alguns dos próprios arquivos de Claude Code permanecem graváveis, como arquivos de plano, o scratchpad, o diretóriotmp de uma sessão em segundo plano e arquivos .md na memória automática deste projeto.
Além dos seus próprios arquivos fora dos diretórios de trabalho, o bloqueio recusa gravações em:
- Arquivos de configurações do Claude Code: Claude Code recusa essas gravações também dentro dos diretórios de trabalho, porque um arquivo de configurações pode levantar o bloqueio. Edite os arquivos de configurações você mesmo.
- Um diretório que apenas as configurações de repositório adicionam: um que
additionalDirectorieslista apenas em.claude/settings.json, ou em.claude/settings.local.jsona menos que git relate esse arquivo como não rastreado - O worktree de um subagente: as edições de arquivo de um subagente
isolation: worktreesão recusadas quando o seu worktree fica fora dos diretórios de trabalho - Memória automática em um diretório que o repositório escolheu: um diretório que
autoMemoryDirectorynomeia nas configurações de repositório
/add-dir precisa de um diretório que exista, portanto nomeie o diretório .claude/worktrees na raiz do repositório para worktrees de subagentes.
Permitir um diretório através do bloqueio de leitura ou gravação
Para permitir que Claude alcance um diretório fora do projeto enquantoblockReadsOutsideWorkingDirectories ou blockWritesOutsideWorkingDirectories é true, adicione-o como diretório de trabalho. Execute /add-dir <directory> na sessão, passe --add-dir <directory> ao iniciar Claude Code ou liste-o em additionalDirectories nas suas configurações de usuário ou gerenciadas. Nenhuma regra de permissão deixa as ferramentas de arquivo de Claude passarem por nenhum dos bloqueios.
permissions.defaultMode
Defina o modo de permissão padrão para novas sessões. Quando você o deixa não definido, aplica-se o 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, embora um mod que você instalou ainda possa aprovar algumas dessas chamadas. Leituras de arquivos dentro dos seus diretórios de trabalho, outras ações que não precisam de aprovação e ferramentas pré-aprovadas ainda são executadas, exceto leituras de caminhos de rede"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.denyInsteadOfPrompting
Defina isto como true para manter uma sessão em execução quando não houver ninguém para responder a um prompt de permissão. Claude Code nega uma chamada de ferramenta que, de outra forma, aguardaria um prompt, e o turno continua. Requer Claude Code v2.1.319 ou posterior.
Uma chamada prossegue se uma regra de permissão, seu modo de permissão ou o classificador do modo auto a aprovar. Para permitir a maioria das chamadas que de outra forma solicitariam confirmação, responda a partir de um hook PermissionRequest.
- Escopo:
User or managed, e--settings. Um repositório não pode defini-lo para você. - Tipo: Booleano
true: Claude Code nega chamadas que de outra forma solicitariam confirmaçãofalse: o mesmo que não definido; as chamadas ainda são negadas se outra dessas fontes definirtrue
- Padrão: não definido, portanto uma chamada que precisa de aprovação solicita sua confirmação
~/.claude/settings.json, este exemplo inicia sessões no modo auto e nega o que ainda recairia em um prompt:
settings.json
-p, sessões interativas de terminal, na extensão VS Code, em sessões locais no aplicativo Desktop, em subagentes e em equipes de agentes. Para negar o que solicitaria confirmação em uma única execução não interativa, passe --permission-prompts none com -p.
O que mais denyInsteadOfPrompting interrompe
Com a configuração ativada, Claude Code também interrompe estas solicitações de resposta:
- Ferramentas de pergunta e de plano: Claude Code deixa de fora
AskUserQuestion,EnterPlanModeeExitPlanMode, portanto uma sessão no modo de planejamento não pode sair dele por conta própria. Um colega de equipe em uma equipe de agentes mantémEnterPlanModeeExitPlanMode - Elicitação MCP: Claude Code cancela uma requisição de elicitação a menos que um hook
Elicitationa responda - Hosts de permissão: Claude Code não consulta seu callback
canUseToolnem--permission-prompt-tool. Para aprovar chamadas a partir de código, responda a partir de um hookPermissionRequest. Algumas chamadas são negadas antes que qualquer hook seja consultado, como uma remoção de caminho crítico no modoautoque nenhuma regra ask cobre. - Aviso de cobrança do classificador: onde o aviso sobre requisições cobradas do classificador abriria um diálogo, Claude Code não o mostra e nega as ações que precisam dessas requisições
Mensagens de denyInsteadOfPrompting
Estas mensagens relatam chamadas recusadas. Elas não são prompts, portanto nada aguarda sua resposta.
A negação que Claude lê pode começar com este texto:
stream-json, as execuções que emitem uma mensagem permission_denied relatam este decision_reason:
-p relata esse turno como error_during_execution.
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, e arquivos passados com--settings. Sessões em segundo plano consideram apenas configurações de usuário e gerenciadas. 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 - Tipo: objeto com
enabled,failIfUnavailable,autoAllowBashIfSandboxed,excludedCommands,allowUnsandboxedCommands,enableWeakerNestedSandbox,enableWeakerNetworkIsolation,allowAppleEvents,allowNestedUserNamespaces,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
Faz o Claude Code encerrar com um erro na inicialização quando sandbox.enabled é true, mas o sandbox não consegue iniciar porque a plataforma não oferece suporte a ele ou a verificação de dependências falha. Sem esta chave, o Claude Code executa os comandos fora do sandbox. Implantações gerenciadas que exigem sandboxing como barreira de segurança podem usar esta 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 - Tipo: booleano
true: o Claude Code encerra com um erro na inicialização quandosandbox.enabledétrue, mas o sandbox não consegue iniciar. Se o sandbox passar nessa verificação e depois falhar ao inicializar, a sessão continua em execução e o Claude Code recusa cada comando no sandboxfalse: o Claude Code executa os comandos fora do sandbox quando o sandbox não consegue iniciar
- Default:
false
failIfUnavailable como true:
managed-settings.json
sandbox.autoAllowBashIfSandboxed
Permite que o Claude Code execute comandos Bash em sandbox sem um prompt de permissão. Comandos que não podem ser executados no sandbox ainda passam pelo fluxo normal de permissões, e as regras deny e as regras ask com escopo de conteúdo, como Bash(git push *), continuam valendo; uma regra ask Bash simples é ignorada para comandos em sandbox. Defina como false para que os comandos em sandbox também passem pelo fluxo normal de permissões, o que a aba Mode do /sandbox chama de modo de permissões normais.
- Scope:
Any file - Type: Boolean
true: Claude Code executa comandos Bash em sandbox sem um prompt de permissão, exceto nos casos que Auto-allow mode descreve;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.logou um heredoc<<EOF, exceto um que 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