Skip to main content
Variáveis de ambiente podem controlar o comportamento do Claude Code, como seleção de modelo, autenticação, roteamento de requisições e alternâncias de recursos. Muitos dos mesmos comportamentos também podem ser configurados através de um campo de arquivo de configurações, um sinalizador CLI ou um comando em sessão como /model. Esta página aborda como:

Definir variáveis de ambiente

Uma variável que você define no seu shell dura para essa sessão de terminal, enquanto uma variável em um arquivo de configurações se aplica toda vez que claude é executado.

No seu shell

Defina a variável antes de iniciar claude:
Para defini-la para cada sessão, adicione a linha export a ~/.bashrc, ~/.zshrc, ou ao arquivo de perfil do seu shell.
A linha de atribuição não imprime nada em caso de sucesso, então confirme se a variável está definida imprimindo-a no mesmo shell antes de executar claude:

Em arquivos de configurações

Adicione variáveis sob a chave env em um arquivo settings.json, criando o arquivo se ele não existir. Claude Code as lê diretamente do arquivo, então elas entram em vigor independentemente de como claude foi iniciado. Uma sessão em execução aplica valores novos e alterados ao seu ambiente quando você salva o arquivo, mas um recurso que lê suas variáveis uma vez na inicialização, como monitoramento OpenTelemetry, mantém seus valores de inicialização até que você reinicie. Remover uma variável do arquivo não a desativa em uma sessão em execução; a remoção entra em vigor na próxima vez que você iniciar claude.
~/.claude/settings.json
O arquivo que você escolhe controla a quem as variáveis se aplicam: Veja Arquivos de configurações para saber onde cada arquivo fica e Precedência de configurações para saber como eles se combinam quando mais de um define a mesma variável.

Precedência

Alguns comportamentos têm tanto uma variável de ambiente quanto uma chave de configurações dedicada, e qual delas Claude Code lê primeiro difere por chave. Para ANTHROPIC_MODEL e CLAUDE_CODE_AUTO_CONNECT_IDE, Claude Code lê a variável primeiro e usa a configuração model ou autoConnectIde apenas quando a variável não está definida. Para o par que você está configurando, verifique a linha da variável abaixo e a entrada da chave na referência de configurações. Quando a mesma variável está definida tanto no seu shell quanto em um bloco env do arquivo de configurações, o valor do arquivo de configurações se aplica. Claude Code escreve cada entrada env no ambiente do processo, substituindo o valor herdado do shell. A configuração env diz quando ela se aplica. Algumas variáveis são casos especiais; a configuração env lista as exceções. Em um arquivo de configurações você pode definir uma variável, mas não pode remover uma. Para substituir uma variável que você não pode desativar, como uma CLAUDE_CODE_USE_VERTEX obsoleta exportada por um perfil de shell que você não controla, defina-a como uma string vazia no bloco env: "CLAUDE_CODE_USE_VERTEX": "". Claude Code trata o valor vazio como não definido para seleção de provedor. Subprocessos ainda herdam o valor vazio. Entre arquivos de configurações, os valores env seguem a precedência de configurações, então uma entrada de configurações gerenciada substitui a mesma variável nas configurações de usuário ou projeto. Configurações de projeto e locais não podem definir algumas variáveis, como CLAUDE_CONFIG_DIR e as variáveis do exportador OpenTelemetry. Variáveis que Claude Code ignora em env lista-as, junto com os valores desativados do OpenTelemetry que ainda se aplicam. Como uma variável de ambiente interage com sinalizadores CLI e comandos em sessão varia por recurso: --model e /model substituem ANTHROPIC_MODEL, enquanto CLAUDE_CODE_EFFORT_LEVEL substitui --effort e /effort. Quando uma variável interage com outra fonte de configuração, sua linha na lista Variáveis declara a precedência ou vincula à página que a documenta. Claude Code lê variáveis de ambiente do shell na inicialização, então as alterações nelas entram em vigor na próxima vez que você inicia claude. As variáveis definidas sob a chave env em arquivos de configurações são reaplicadas a uma sessão em execução quando o arquivo muda, com a exceção somente na inicialização descrita em Em arquivos de configurações.

Variáveis

Variáveis numéricas como timeouts, orçamentos de tokens e contagens de tentativas aceitam notação científica e grafias com separadores de dígitos além de dígitos simples, exceto onde a linha de uma variável observa que ela aceita apenas dígitos simples. Por exemplo, Claude Code lê 2e3 como 2000 e 64_000 como 64000. Antes da v2.1.211, essas grafias poderiam silenciosamente definir um valor muito menor, como 1e6 definindo um timeout para 1.
Para variáveis que ativam ou desativam um comportamento, defina 1 ou true para ativar e 0 ou false para desativar, em qualquer capitalização.Algumas variáveis leem apenas se você as definiu, então qualquer valor não vazio, incluindo 0, ativa o comportamento, e você desativa o comportamento ao desconfigurar a variável ou defini-la como um valor vazio. Essas variáveis funcionam dessa forma:
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC
  • DISABLE_TELEMETRY
  • DISABLE_ERROR_REPORTING
  • CLAUDE_CODE_TMUX_TRUECOLOR
  • FALLBACK_FOR_ALL_PRIMARY_MODELS
  • IS_DEMO
Uma outra variável tem sua própria regra: FORCE_HYPERLINK lê um número, então apenas 0 a desativa. A linha de cada variável também declara sua própria regra.
Variáveis de exportador OpenTelemetry padrão (OTEL_METRICS_EXPORTER, OTEL_LOGS_EXPORTER, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, OTEL_METRIC_EXPORT_INTERVAL, OTEL_RESOURCE_ATTRIBUTES e variantes específicas de sinal) também são suportadas. Veja Monitoramento para detalhes de configuração. Defina CLAUDE_CODE_ENABLE_TELEMETRY e as variáveis OpenTelemetry que ativam exportação, escolhem seu destino ou capturam conteúdo em seu shell, configurações de usuário ou configurações gerenciadas. Claude Code as ignora em configurações de projeto e local, além dos valores desativados que essa seção descreve. OTEL_RESOURCE_ATTRIBUTES e as variáveis de intervalo de exportação, timeout e compressão, como OTEL_METRIC_EXPORT_INTERVAL, ainda se aplicam de configurações de projeto e local.

Recursos que precisam de busca de feature-flag

Claude Code ativa alguns recursos através de feature flags que busca da Anthropic. Claude Code pula essa busca nestas sessões:
  • Uma sessão onde você define DISABLE_GROWTHBOOK, DISABLE_TELEMETRY, DO_NOT_TRACK, ou CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC; a linha de cada variável na tabela de variáveis diz quais valores desativam a busca
  • Uma sessão em um provedor de terceiros, como Amazon Bedrock, Claude Platform na AWS, Agent Platform do Google Cloud, ou Microsoft Foundry, a menos que uma plataforma host que incorpora Claude Code defina CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST
  • Uma sessão de gateway de aplicativos Claude
Com a busca desativada, você não pode:

Primeira sessão após uma instalação ou atualização

Na sua primeira sessão após instalar Claude Code, ou atualizar para uma versão que adiciona um recurso, um recurso com gate de flag pode estar faltando. Essa sessão também pode iniciar em um modo de permissão diferente daquele em que suas sessões posteriores iniciam. Claude Code busca as flags durante essa sessão, então sua próxima sessão tem o recurso e o modo de permissão inicial usual. Após uma instalação limpa, em uma sessão não interativa como claude -p, o Agent SDK, ou a extensão VS Code, Claude Code ainda pode pegar as flags antes de escolher o modo de permissão inicial.

Veja também