/config ao usar o REPL interativo, que abre uma interface de Configurações com abas onde você pode visualizar informações de status e modificar opções de configuração.
Escopos de configuração
O Claude Code usa um sistema de escopo para determinar onde as configurações se aplicam e com quem são compartilhadas. Compreender os escopos ajuda você a decidir como configurar o Claude Code para uso pessoal, colaboração em equipe ou implantação empresarial.Escopos disponíveis
| Escopo | Localização | Quem afeta | Compartilhado com a equipe? |
|---|---|---|---|
| Gerenciado | managed-settings.json em nível de sistema | Todos os usuários na máquina | Sim (implantado por TI) |
| Usuário | Diretório ~/.claude/ | Você, em todos os projetos | Não |
| Projeto | .claude/ no repositório | Todos os colaboradores neste repositório | Sim (confirmado no git) |
| Local | Arquivos .claude/*.local.* | Você, apenas neste repositório | Não (ignorado pelo git) |
Quando usar cada escopo
O escopo Gerenciado é para:- Políticas de segurança que devem ser aplicadas em toda a organização
- Requisitos de conformidade que não podem ser substituídos
- Configurações padronizadas implantadas por TI/DevOps
- Preferências pessoais que você deseja em todos os lugares (temas, configurações do editor)
- Ferramentas e plugins que você usa em todos os projetos
- Chaves de API e autenticação (armazenadas com segurança)
- Configurações compartilhadas com a equipe (permissões, hooks, servidores MCP)
- Plugins que toda a equipe deve ter
- Padronização de ferramentas entre colaboradores
- Substituições pessoais para um projeto específico
- Testar configurações antes de compartilhar com a equipe
- Configurações específicas da máquina que não funcionarão para outros
Como os escopos interagem
Quando a mesma configuração é definida em vários escopos, escopos mais específicos têm precedência:- Gerenciado (mais alto) - não pode ser substituído por nada
- Argumentos de linha de comando - substituições de sessão temporárias
- Local - substitui configurações de projeto e usuário
- Projeto - substitui configurações de usuário
- Usuário (mais baixo) - se aplica quando nada mais especifica a configuração
O que usa escopos
Os escopos se aplicam a muitos recursos do Claude Code:| Recurso | Localização do usuário | Localização do projeto | Localização local |
|---|---|---|---|
| Configurações | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| Subagentos | ~/.claude/agents/ | .claude/agents/ | — |
| Servidores MCP | ~/.claude.json | .mcp.json | ~/.claude.json (por projeto) |
| Plugins | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| CLAUDE.md | ~/.claude/CLAUDE.md | CLAUDE.md ou .claude/CLAUDE.md | CLAUDE.local.md |
Arquivos de configuração
O arquivosettings.json é nosso mecanismo oficial para configurar o Claude
Code através de configurações hierárquicas:
-
Configurações do usuário são definidas em
~/.claude/settings.jsone se aplicam a todos os projetos. -
Configurações do projeto são salvas no diretório do seu projeto:
.claude/settings.jsonpara configurações que são verificadas no controle de origem e compartilhadas com sua equipe.claude/settings.local.jsonpara configurações que não são verificadas, úteis para preferências pessoais e experimentação. O Claude Code configurará o git para ignorar.claude/settings.local.jsonquando for criado.
-
Configurações gerenciadas: Para organizações que precisam de controle centralizado, o Claude Code suporta arquivos
managed-settings.jsonemanaged-mcp.jsonque podem ser implantados em diretórios do sistema:- macOS:
/Library/Application Support/ClaudeCode/ - Linux e WSL:
/etc/claude-code/ - Windows:
C:\Program Files\ClaudeCode\
Veja Configurações gerenciadas e Configuração MCP gerenciada para detalhes.Estes são caminhos em nível de sistema (não diretórios home do usuário como~/Library/...) que requerem privilégios de administrador. Eles são projetados para serem implantados por administradores de TI.As implantações gerenciadas também podem restringir adições do marketplace de plugins usandostrictKnownMarketplaces. Para mais informações, veja Restrições de marketplace gerenciado. - macOS:
-
Outra configuração é armazenada em
~/.claude.json. Este arquivo contém suas preferências (tema, configurações de notificação, modo do editor), sessão OAuth, configurações de servidor MCP para escopos de usuário e local, estado por projeto (ferramentas permitidas, configurações de confiança) e vários caches. Servidores MCP com escopo de projeto são armazenados separadamente em.mcp.json.
Exemplo settings.json
Configurações disponíveis
settings.json suporta várias opções:
| Chave | Descrição | Exemplo |
|---|---|---|
apiKeyHelper | Script personalizado, a ser executado em /bin/sh, para gerar um valor de autenticação. Este valor será enviado como cabeçalhos X-Api-Key e Authorization: Bearer para solicitações de modelo | /bin/generate_temp_api_key.sh |
cleanupPeriodDays | Sessões inativas por mais tempo que este período são deletadas na inicialização. Configurar para 0 deleta imediatamente todas as sessões. (padrão: 30 dias) | 20 |
companyAnnouncements | Anúncio a ser exibido aos usuários na inicialização. Se vários anúncios forem fornecidos, eles serão alternados aleatoriamente. | ["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"] |
env | Variáveis de ambiente que serão aplicadas a cada sessão | {"FOO": "bar"} |
attribution | Personalize a atribuição para commits git e pull requests. Veja Configurações de atribuição | {"commit": "🤖 Generated with Claude Code", "pr": ""} |
includeCoAuthoredBy | Descontinuado: Use attribution em vez disso. Se deve incluir a linha co-authored-by Claude em commits git e pull requests (padrão: true) | false |
permissions | Veja a tabela abaixo para a estrutura de permissões. | |
hooks | Configure comandos personalizados para executar antes ou depois de execuções de ferramentas. Veja documentação de hooks | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks | Desabilite todos os hooks | true |
allowManagedHooksOnly | (Apenas configurações gerenciadas) Impeça o carregamento de hooks de usuário, projeto e plugin. Permite apenas hooks gerenciados e hooks SDK. Veja Configuração de hooks | true |
model | Substitua o modelo padrão a usar para Claude Code | "claude-sonnet-4-5-20250929" |
otelHeadersHelper | Script para gerar cabeçalhos OpenTelemetry dinâmicos. Executa na inicialização e periodicamente (veja Cabeçalhos dinâmicos) | /bin/generate_otel_headers.sh |
statusLine | Configure uma linha de status personalizada para exibir contexto. Veja documentação de statusLine | {"type": "command", "command": "~/.claude/statusline.sh"} |
fileSuggestion | Configure um script personalizado para autocompletar arquivo @. Veja Configurações de sugestão de arquivo | {"type": "command", "command": "~/.claude/file-suggestion.sh"} |
respectGitignore | Controle se o seletor de arquivo @ respeita padrões .gitignore. Quando true (padrão), arquivos que correspondem aos padrões .gitignore são excluídos das sugestões | false |
outputStyle | Configure um estilo de saída para ajustar o prompt do sistema. Veja documentação de estilos de saída | "Explanatory" |
forceLoginMethod | Use claudeai para restringir login a contas Claude.ai, console para restringir login a contas Claude Console (faturamento de uso de API) | claudeai |
forceLoginOrgUUID | Especifique o UUID de uma organização para selecioná-la automaticamente durante o login, ignorando a etapa de seleção de organização. Requer que forceLoginMethod seja definido | "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" |
enableAllProjectMcpServers | Aprove automaticamente todos os servidores MCP definidos em arquivos .mcp.json do projeto | true |
enabledMcpjsonServers | Lista de servidores MCP específicos de arquivos .mcp.json para aprovar | ["memory", "github"] |
disabledMcpjsonServers | Lista de servidores MCP específicos de arquivos .mcp.json para rejeitar | ["filesystem"] |
allowedMcpServers | Quando definido em managed-settings.json, lista de permissão de servidores MCP que os usuários podem configurar. Indefinido = sem restrições, array vazio = bloqueio. Aplica-se a todos os escopos. A lista de negação tem precedência. Veja Configuração MCP gerenciada | [{ "serverName": "github" }] |
deniedMcpServers | Quando definido em managed-settings.json, lista de negação de servidores MCP que são explicitamente bloqueados. Aplica-se a todos os escopos, incluindo servidores gerenciados. A lista de negação tem precedência sobre a lista de permissão. Veja Configuração MCP gerenciada | [{ "serverName": "filesystem" }] |
strictKnownMarketplaces | Quando definido em managed-settings.json, lista de permissão de marketplaces de plugins que os usuários podem adicionar. Indefinido = sem restrições, array vazio = bloqueio. Aplica-se apenas a adições de marketplace. Veja Restrições de marketplace gerenciado | [{ "source": "github", "repo": "acme-corp/plugins" }] |
awsAuthRefresh | Script personalizado que modifica o diretório .aws (veja configuração avançada de credenciais) | aws sso login --profile myprofile |
awsCredentialExport | Script personalizado que gera JSON com credenciais AWS (veja configuração avançada de credenciais) | /bin/generate_aws_grant.sh |
alwaysThinkingEnabled | Habilite pensamento estendido por padrão para todas as sessões. Normalmente configurado via comando /config em vez de editar diretamente | true |
plansDirectory | Personalize onde os arquivos de plano são armazenados. O caminho é relativo à raiz do projeto. Padrão: ~/.claude/plans | "./plans" |
showTurnDuration | Mostre mensagens de duração de turno após respostas (por exemplo, “Cooked for 1m 6s”). Defina como false para ocultar essas mensagens | true |
language | Configure o idioma de resposta preferido do Claude (por exemplo, "japanese", "spanish", "french"). Claude responderá neste idioma por padrão | "japanese" |
autoUpdatesChannel | Canal de lançamento a seguir para atualizações. Use "stable" para uma versão que é tipicamente cerca de uma semana antiga e pula versões com regressões principais, ou "latest" (padrão) para o lançamento mais recente | "stable" |
spinnerTipsEnabled | Mostre dicas no spinner enquanto Claude está trabalhando. Defina como false para desabilitar dicas (padrão: true) | false |
terminalProgressBarEnabled | Habilite a barra de progresso do terminal que mostra progresso em terminais suportados como Windows Terminal e iTerm2 (padrão: true) | false |
Configurações de permissão
| Chaves | Descrição | Exemplo |
|---|---|---|
allow | Array de regras de permissão para permitir uso de ferramentas. Veja Sintaxe de regra de permissão abaixo para detalhes de correspondência de padrão | [ "Bash(git diff:*)" ] |
ask | Array de regras de permissão para pedir confirmação ao usar ferramentas. Veja Sintaxe de regra de permissão abaixo | [ "Bash(git push:*)" ] |
deny | Array de regras de permissão para negar uso de ferramentas. Use isto para excluir arquivos sensíveis do acesso do Claude Code. Veja Sintaxe de regra de permissão e Limitações de permissão Bash | [ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ] |
additionalDirectories | Diretórios de trabalho adicionais aos quais Claude tem acesso | [ "../docs/" ] |
defaultMode | Modo de permissão padrão ao abrir Claude Code | "acceptEdits" |
disableBypassPermissionsMode | Defina como "disable" para impedir que o modo bypassPermissions seja ativado. Isto desabilita a flag de linha de comando --dangerously-skip-permissions. Veja configurações gerenciadas | "disable" |
Sintaxe de regra de permissão
As regras de permissão seguem o formatoTool ou Tool(specifier). Compreender a sintaxe ajuda você a escrever regras que correspondem exatamente ao que você pretende.
Ordem de avaliação de regra
Quando várias regras podem corresponder ao mesmo uso de ferramenta, as regras são avaliadas nesta ordem:- Regras de negação são verificadas primeiro
- Regras de pergunta são verificadas segundo
- Regras de permissão são verificadas por último
Correspondência de todos os usos de uma ferramenta
Para corresponder a todos os usos de uma ferramenta, use apenas o nome da ferramenta sem parênteses:| Regra | Efeito |
|---|---|
Bash | Corresponde a todos os comandos Bash |
WebFetch | Corresponde a todas as solicitações de busca web |
Read | Corresponde a todas as leituras de arquivo |
Usando especificadores para controle refinado
Adicione um especificador entre parênteses para corresponder a usos específicos de ferramentas:| Regra | Efeito |
|---|---|
Bash(npm run build) | Corresponde ao comando exato npm run build |
Read(./.env) | Corresponde à leitura do arquivo .env no diretório atual |
WebFetch(domain:example.com) | Corresponde a solicitações de busca para example.com |
Padrões de wildcard
Duas sintaxes de wildcard estão disponíveis para regras Bash:| Wildcard | Posição | Comportamento | Exemplo |
|---|---|---|---|
:* | Apenas no final do padrão | Correspondência de prefixo com limite de palavra. O prefixo deve ser seguido por um espaço ou fim de string. | Bash(ls:*) corresponde a ls -la mas não a lsof |
* | Em qualquer lugar no padrão | Correspondência glob sem limite de palavra. Corresponde a qualquer sequência de caracteres naquela posição. | Bash(ls*) corresponde tanto a ls -la quanto a lsof |
:*
O sufixo :* corresponde a qualquer comando que comece com o prefixo especificado. Isto funciona com comandos de múltiplas palavras. A seguinte configuração permite comandos npm e git commit enquanto bloqueia git push e rm -rf:
*
O wildcard * pode aparecer no início, meio ou fim de um padrão. A seguinte configuração permite qualquer comando git direcionado a main (como git checkout main, git merge main) e qualquer comando de verificação de versão (como node --version, npm --version):
Configurações de sandbox
Configure comportamento avançado de sandboxing. O sandboxing isola comandos bash do seu sistema de arquivos e rede. Veja Sandboxing para detalhes. Restrições de sistema de arquivos e rede são configuradas via regras de permissão Read, Edit e WebFetch, não via estas configurações de sandbox.| Chaves | Descrição | Exemplo |
|---|---|---|
enabled | Habilite bash sandboxing (apenas macOS/Linux). Padrão: false | true |
autoAllowBashIfSandboxed | Aprove automaticamente comandos bash quando sandboxed. Padrão: true | true |
excludedCommands | Comandos que devem executar fora do sandbox | ["git", "docker"] |
allowUnsandboxedCommands | Permita comandos executarem fora do sandbox via parâmetro dangerouslyDisableSandbox. Quando definido como false, a escotilha de escape dangerouslyDisableSandbox é completamente desabilitada e todos os comandos devem executar sandboxed (ou estar em excludedCommands). Útil para políticas empresariais que requerem sandboxing rigoroso. Padrão: true | false |
network.allowUnixSockets | Caminhos de socket Unix acessíveis no sandbox (para agentes SSH, etc.) | ["~/.ssh/agent-socket"] |
network.allowLocalBinding | Permita vinculação a portas localhost (apenas macOS). Padrão: false | true |
network.httpProxyPort | Porta de proxy HTTP usada se você deseja trazer seu próprio proxy. Se não especificado, Claude executará seu próprio proxy. | 8080 |
network.socksProxyPort | Porta de proxy SOCKS5 usada se você deseja trazer seu próprio proxy. Se não especificado, Claude executará seu próprio proxy. | 8081 |
enableWeakerNestedSandbox | Habilite sandbox mais fraco para ambientes Docker sem privilégios (apenas Linux). Reduz segurança. Padrão: false | true |
- Use regras de negação
Readpara bloquear Claude de ler arquivos ou diretórios específicos - Use regras de permissão
Editpara permitir que Claude escreva em diretórios além do diretório de trabalho atual - Use regras de negação
Editpara bloquear escritas em caminhos específicos - Use regras de permissão/negação
WebFetchpara controlar quais domínios de rede Claude pode acessar
Configurações de atribuição
O Claude Code adiciona atribuição a commits git e pull requests. Estes são configurados separadamente:- Commits usam git trailers (como
Co-Authored-By) por padrão, que podem ser personalizados ou desabilitados - Descrições de pull request são texto simples
| Chaves | Descrição |
|---|---|
commit | Atribuição para commits git, incluindo quaisquer trailers. String vazia oculta atribuição de commit |
pr | Atribuição para descrições de pull request. String vazia oculta atribuição de pull request |
A configuração
attribution tem precedência sobre a configuração descontinuada includeCoAuthoredBy. Para ocultar toda atribuição, defina commit e pr como strings vazias.Configurações de sugestão de arquivo
Configure um comando personalizado para autocompletar de caminho de arquivo@. A sugestão de arquivo integrada usa travessia rápida do sistema de arquivos, mas grandes monorepos podem se beneficiar de indexação específica do projeto, como um índice de arquivo pré-construído ou ferramentas personalizadas.
CLAUDE_PROJECT_DIR. Ele recebe JSON via stdin com um campo query:
Configuração de hooks
Apenas configurações gerenciadas: Controla quais hooks são permitidos executar. Esta configuração só pode ser configurada em configurações gerenciadas e fornece aos administradores controle rigoroso sobre execução de hooks. Comportamento quandoallowManagedHooksOnly é true:
- Hooks gerenciados e hooks SDK são carregados
- Hooks de usuário, projeto e plugin são bloqueados
Precedência de configurações
As configurações se aplicam em ordem de precedência. Do mais alto para o mais baixo:-
Configurações gerenciadas (
managed-settings.json)- Políticas implantadas por TI/DevOps em diretórios do sistema
- Não podem ser substituídas por configurações de usuário ou projeto
-
Argumentos de linha de comando
- Substituições temporárias para uma sessão específica
-
Configurações de projeto local (
.claude/settings.local.json)- Configurações pessoais específicas do projeto
-
Configurações de projeto compartilhadas (
.claude/settings.json)- Configurações de projeto compartilhadas com a equipe no controle de origem
-
Configurações do usuário (
~/.claude/settings.json)- Configurações globais pessoais
Bash(npm run:*) mas as configurações compartilhadas de um projeto negam, a configuração do projeto tem precedência e o comando é bloqueado.
Pontos-chave sobre o sistema de configuração
- Arquivos de memória (
CLAUDE.md): Contêm instruções e contexto que Claude carrega na inicialização - Arquivos de configuração (JSON): Configuram permissões, variáveis de ambiente e comportamento de ferramentas
- Skills: Prompts personalizados que podem ser invocados com
/skill-nameou carregados por Claude automaticamente - Servidores MCP: Estendem Claude Code com ferramentas e integrações adicionais
- Precedência: Configurações de nível superior (Gerenciado) substituem as de nível inferior (Usuário/Projeto)
- Herança: As configurações são mescladas, com configurações mais específicas adicionando ou substituindo as mais amplas
Prompt do sistema
O prompt do sistema interno do Claude Code não é publicado. Para adicionar instruções personalizadas, use arquivosCLAUDE.md ou a flag --append-system-prompt.
Excluindo arquivos sensíveis
Para impedir que Claude Code acesse arquivos contendo informações sensíveis como chaves de API, segredos e arquivos de ambiente, use a configuraçãopermissions.deny em seu arquivo .claude/settings.json:
ignorePatterns. Arquivos que correspondem a estes padrões serão completamente invisíveis para Claude Code, prevenindo qualquer exposição acidental de dados sensíveis.
Configuração de subagentos
O Claude Code suporta subagentos de IA personalizados que podem ser configurados em níveis de usuário e projeto. Estes subagentos são armazenados como arquivos Markdown com frontmatter YAML:- Subagentos de usuário:
~/.claude/agents/- Disponíveis em todos os seus projetos - Subagentos de projeto:
.claude/agents/- Específicos do seu projeto e podem ser compartilhados com sua equipe
Configuração de plugins
O Claude Code suporta um sistema de plugins que permite estender funcionalidade com skills, agentes, hooks e servidores MCP. Plugins são distribuídos através de marketplaces e podem ser configurados em níveis de usuário e repositório.Configurações de plugin
Configurações relacionadas a plugins emsettings.json:
enabledPlugins
Controla quais plugins estão habilitados. Formato: "plugin-name@marketplace-name": true/false
Escopos:
- Configurações de usuário (
~/.claude/settings.json): Preferências de plugin pessoais - Configurações de projeto (
.claude/settings.json): Plugins específicos do projeto compartilhados com a equipe - Configurações locais (
.claude/settings.local.json): Substituições por máquina (não confirmadas)
extraKnownMarketplaces
Define marketplaces adicionais que devem estar disponíveis para o repositório. Normalmente usado em configurações em nível de repositório para garantir que membros da equipe tenham acesso a fontes de plugin necessárias.
Quando um repositório inclui extraKnownMarketplaces:
- Membros da equipe são solicitados a instalar o marketplace quando confiam na pasta
- Membros da equipe são então solicitados a instalar plugins daquele marketplace
- Os usuários podem pular marketplaces ou plugins indesejados (armazenados em configurações de usuário)
- A instalação respeita limites de confiança e requer consentimento explícito
github: Repositório GitHub (usarepo)git: Qualquer URL git (usaurl)directory: Caminho do sistema de arquivos local (usapath, apenas para desenvolvimento)
strictKnownMarketplaces
Apenas configurações gerenciadas: Controla quais marketplaces de plugin os usuários podem adicionar. Esta configuração só pode ser configurada em managed-settings.json e fornece aos administradores controle rigoroso sobre fontes de marketplace.
Localizações de arquivo de configurações gerenciadas:
- macOS:
/Library/Application Support/ClaudeCode/managed-settings.json - Linux e WSL:
/etc/claude-code/managed-settings.json - Windows:
C:\Program Files\ClaudeCode\managed-settings.json
- Disponível apenas em configurações gerenciadas (
managed-settings.json) - Não pode ser substituído por configurações de usuário ou projeto (precedência mais alta)
- Aplicado ANTES de operações de rede/sistema de arquivos (fontes bloqueadas nunca executam)
- Usa correspondência exata para especificações de fonte (incluindo
ref,pathpara fontes git)
undefined(padrão): Sem restrições - usuários podem adicionar qualquer marketplace- Array vazio
[]: Bloqueio completo - usuários não podem adicionar novos marketplaces - Lista de fontes: Usuários podem apenas adicionar marketplaces que correspondem exatamente
- Repositórios GitHub:
repo (obrigatório), ref (opcional: branch/tag/SHA), path (opcional: subdiretório)
- Repositórios Git:
url (obrigatório), ref (opcional: branch/tag/SHA), path (opcional: subdiretório)
- Marketplaces baseados em URL:
url (obrigatório), headers (opcional: cabeçalhos HTTP para acesso autenticado)
Marketplaces baseados em URL apenas baixam o arquivo
marketplace.json. Eles não baixam arquivos de plugin do servidor. Plugins em marketplaces baseados em URL devem usar fontes externas (URLs GitHub, npm ou git) em vez de caminhos relativos. Para plugins com caminhos relativos, use um marketplace baseado em Git. Veja Solução de problemas para detalhes.- Pacotes NPM:
package (obrigatório, suporta pacotes com escopo)
- Caminhos de arquivo:
path (obrigatório: caminho absoluto para arquivo marketplace.json)
- Caminhos de diretório:
path (obrigatório: caminho absoluto para diretório contendo .claude-plugin/marketplace.json)
Exemplos de configuração:
Exemplo - Permitir apenas marketplaces específicos:
github e git), isto inclui todos os campos opcionais:
- O
repoouurldeve corresponder exatamente - O campo
refdeve corresponder exatamente (ou ambos serem indefinidos) - O campo
pathdeve corresponder exatamente (ou ambos serem indefinidos)
extraKnownMarketplaces:
| Aspecto | strictKnownMarketplaces | extraKnownMarketplaces |
|---|---|---|
| Propósito | Aplicação de política organizacional | Conveniência da equipe |
| Arquivo de configuração | Apenas managed-settings.json | Qualquer arquivo de configuração |
| Comportamento | Bloqueia adições não permitidas | Auto-instala marketplaces ausentes |
| Quando aplicado | Antes de operações de rede/sistema de arquivos | Após prompt de confiança do usuário |
| Pode ser substituído | Não (precedência mais alta) | Sim (por configurações de precedência mais alta) |
| Formato de fonte | Objeto de fonte direto | Marketplace nomeado com fonte aninhada |
| Caso de uso | Conformidade, restrições de segurança | Onboarding, padronização |
strictKnownMarketplaces usa objetos de fonte diretos:
extraKnownMarketplaces requer marketplaces nomeados:
- Restrições são verificadas ANTES de qualquer solicitação de rede ou operação de sistema de arquivos
- Quando bloqueado, usuários veem mensagens de erro claras indicando que a fonte é bloqueada por política gerenciada
- A restrição se aplica apenas a adicionar NOVOS marketplaces; marketplaces previamente instalados permanecem acessíveis
- Configurações gerenciadas têm a precedência mais alta e não podem ser substituídas
Gerenciando plugins
Use o comando/plugin para gerenciar plugins interativamente:
- Procure plugins disponíveis de marketplaces
- Instale/desinstale plugins
- Habilite/desabilite plugins
- Visualize detalhes de plugin (comandos, agentes, hooks fornecidos)
- Adicione/remova marketplaces
Variáveis de ambiente
O Claude Code suporta as seguintes variáveis de ambiente para controlar seu comportamento:Todas as variáveis de ambiente também podem ser configuradas em
settings.json. Isto é útil como forma de definir automaticamente variáveis de ambiente para cada sessão, ou para distribuir um conjunto de variáveis de ambiente para toda sua equipe ou organização.| Variável | Propósito |
|---|---|
ANTHROPIC_API_KEY | Chave de API enviada como cabeçalho X-Api-Key, normalmente para o SDK Claude (para uso interativo, execute /login) |
ANTHROPIC_AUTH_TOKEN | Valor personalizado para o cabeçalho Authorization (o valor que você definir aqui será prefixado com Bearer ) |
ANTHROPIC_CUSTOM_HEADERS | Cabeçalhos personalizados que você deseja adicionar à solicitação (em formato Name: Value) |
ANTHROPIC_DEFAULT_HAIKU_MODEL | Veja Configuração de modelo |
ANTHROPIC_DEFAULT_OPUS_MODEL | Veja Configuração de modelo |
ANTHROPIC_DEFAULT_SONNET_MODEL | Veja Configuração de modelo |
ANTHROPIC_FOUNDRY_API_KEY | Chave de API para autenticação Microsoft Foundry (veja Microsoft Foundry) |
ANTHROPIC_MODEL | Nome da configuração de modelo a usar (veja Configuração de modelo) |
ANTHROPIC_SMALL_FAST_MODEL | [DESCONTINUADO] Nome de modelo classe Haiku para tarefas em background |
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION | Substitua a região AWS para o modelo classe Haiku ao usar Bedrock |
AWS_BEARER_TOKEN_BEDROCK | Chave de API Bedrock para autenticação (veja Chaves de API Bedrock) |
BASH_DEFAULT_TIMEOUT_MS | Timeout padrão para comandos bash de longa duração |
BASH_MAX_OUTPUT_LENGTH | Número máximo de caracteres em saídas bash antes de serem truncadas no meio |
BASH_MAX_TIMEOUT_MS | Timeout máximo que o modelo pode definir para comandos bash de longa duração |
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE | Defina a porcentagem de capacidade de contexto (1-100) em que auto-compactação é acionada. Por padrão, auto-compactação é acionada em aproximadamente 95% de capacidade. Use valores mais baixos como 50 para compactar mais cedo. Valores acima do limiar padrão não têm efeito. Aplica-se a conversas principais e subagentos. Esta porcentagem se alinha com o campo context_window.used_percentage disponível em linha de status |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | Retorne ao diretório de trabalho original após cada comando Bash |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS | Intervalo em milissegundos em que credenciais devem ser atualizadas (ao usar apiKeyHelper) |
CLAUDE_CODE_CLIENT_CERT | Caminho para arquivo de certificado de cliente para autenticação mTLS |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | Frase de acesso para CLAUDE_CODE_CLIENT_KEY criptografado (opcional) |
CLAUDE_CODE_CLIENT_KEY | Caminho para arquivo de chave privada de cliente para autenticação mTLS |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS | Defina como 1 para desabilitar cabeçalhos anthropic-beta específicos da API Anthropic. Use isto se experimentar problemas como “Unexpected value(s) for the anthropic-beta header” ao usar um gateway LLM com provedores de terceiros |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS | Defina como 1 para desabilitar toda funcionalidade de tarefa em background, incluindo o parâmetro run_in_background em ferramentas Bash e subagentos, auto-backgrounding e o atalho Ctrl+B |
CLAUDE_CODE_EXIT_AFTER_STOP_DELAY | Tempo em milissegundos a esperar após o loop de consulta ficar ocioso antes de sair automaticamente. Útil para fluxos de trabalho automatizados e scripts usando modo SDK |
CLAUDE_CODE_PROXY_RESOLVES_HOSTS | Defina como true para permitir que o proxy execute resolução DNS em vez do chamador. Opt-in para ambientes onde o proxy deve lidar com resolução de nome de host |
CLAUDE_CODE_TMPDIR | Substitua o diretório temporário usado para arquivos temporários internos. Claude Code acrescenta /claude/ a este caminho. Padrão: /tmp em Unix/macOS, os.tmpdir() no Windows |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | Equivalente a definir DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING e DISABLE_TELEMETRY |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE | Defina como 1 para desabilitar atualizações automáticas de título de terminal baseadas em contexto de conversa |
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS | Substitua o limite de token padrão para leituras de arquivo. Útil quando você precisa ler arquivos maiores na íntegra |
CLAUDE_CODE_HIDE_ACCOUNT_INFO | Defina como 1 para ocultar seu endereço de email e nome da organização da interface do Claude Code. Útil ao fazer streaming ou gravação |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | Pule auto-instalação de extensões IDE |
CLAUDE_CODE_MAX_OUTPUT_TOKENS | Defina o número máximo de tokens de saída para a maioria das solicitações. Padrão: 32.000. Máximo: 64.000. Aumentar este valor reduz a janela de contexto efetiva disponível antes que auto-compactação seja acionada. |
CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS | Intervalo para atualizar cabeçalhos OpenTelemetry dinâmicos em milissegundos (padrão: 1740000 / 29 minutos). Veja Cabeçalhos dinâmicos |
CLAUDE_CODE_SHELL | Substitua detecção automática de shell. Útil quando seu shell de login difere do seu shell de trabalho preferido (por exemplo, bash vs zsh) |
CLAUDE_CODE_SHELL_PREFIX | Prefixo de comando para envolver todos os comandos bash (por exemplo, para logging ou auditoria). Exemplo: /path/to/logger.sh executará /path/to/logger.sh <command> |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Pule autenticação AWS para Bedrock (por exemplo, ao usar um gateway LLM) |
CLAUDE_CODE_SKIP_FOUNDRY_AUTH | Pule autenticação Azure para Microsoft Foundry (por exemplo, ao usar um gateway LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Pule autenticação Google para Vertex (por exemplo, ao usar um gateway LLM) |
CLAUDE_CODE_SUBAGENT_MODEL | Veja Configuração de modelo |
CLAUDE_CODE_USE_BEDROCK | Use Bedrock |
CLAUDE_CODE_USE_FOUNDRY | Use Microsoft Foundry |
CLAUDE_CODE_USE_VERTEX | Use Vertex |
CLAUDE_CONFIG_DIR | Personalize onde Claude Code armazena seus arquivos de configuração e dados |
DISABLE_AUTOUPDATER | Defina como 1 para desabilitar atualizações automáticas. |
DISABLE_BUG_COMMAND | Defina como 1 para desabilitar o comando /bug |
DISABLE_COST_WARNINGS | Defina como 1 para desabilitar mensagens de aviso de custo |
DISABLE_ERROR_REPORTING | Defina como 1 para optar por não participar de relatório de erro Sentry |
DISABLE_NON_ESSENTIAL_MODEL_CALLS | Defina como 1 para desabilitar chamadas de modelo para caminhos não críticos como texto de sabor |
DISABLE_PROMPT_CACHING | Defina como 1 para desabilitar cache de prompt para todos os modelos (tem precedência sobre configurações por modelo) |
DISABLE_PROMPT_CACHING_HAIKU | Defina como 1 para desabilitar cache de prompt para modelos Haiku |
DISABLE_PROMPT_CACHING_OPUS | Defina como 1 para desabilitar cache de prompt para modelos Opus |
DISABLE_PROMPT_CACHING_SONNET | Defina como 1 para desabilitar cache de prompt para modelos Sonnet |
DISABLE_TELEMETRY | Defina como 1 para optar por não participar de telemetria Statsig (note que eventos Statsig não incluem dados do usuário como código, caminhos de arquivo ou comandos bash) |
ENABLE_TOOL_SEARCH | Controla busca de ferramenta MCP. Valores: auto (padrão, habilita em 10% de contexto), auto:N (limiar personalizado, por exemplo, auto:5 para 5%), true (sempre ativado), false (desabilitado) |
FORCE_AUTOUPDATE_PLUGINS | Defina como true para forçar auto-atualizações de plugin mesmo quando o auto-atualizador principal é desabilitado via DISABLE_AUTOUPDATER |
HTTP_PROXY | Especifique servidor proxy HTTP para conexões de rede |
HTTPS_PROXY | Especifique servidor proxy HTTPS para conexões de rede |
IS_DEMO | Defina como true para habilitar modo demo: oculta email e organização da interface, pula onboarding e oculta comandos internos. Útil para streaming ou gravação de sessões |
MAX_MCP_OUTPUT_TOKENS | Número máximo de tokens permitidos em respostas de ferramenta MCP. Claude Code exibe um aviso quando a saída excede 10.000 tokens (padrão: 25000) |
MAX_THINKING_TOKENS | Substitua o orçamento de token de pensamento estendido. Pensamento é habilitado em orçamento máximo (31.999 tokens) por padrão. Use isto para limitar o orçamento (por exemplo, MAX_THINKING_TOKENS=10000) ou desabilitar pensamento completamente (MAX_THINKING_TOKENS=0). Pensamento estendido melhora o desempenho em tarefas de raciocínio complexo e codificação, mas impacta eficiência de cache de prompt. |
MCP_TIMEOUT | Timeout em milissegundos para inicialização de servidor MCP |
MCP_TOOL_TIMEOUT | Timeout em milissegundos para execução de ferramenta MCP |
NO_PROXY | Lista de domínios e IPs para os quais solicitações serão emitidas diretamente, ignorando proxy |
SLASH_COMMAND_TOOL_CHAR_BUDGET | Número máximo de caracteres para metadados de skill mostrados à ferramenta Skill (padrão: 15000). Nome legado mantido para compatibilidade com versões anteriores. |
USE_BUILTIN_RIPGREP | Defina como 0 para usar rg instalado no sistema em vez de rg incluído com Claude Code |
VERTEX_REGION_CLAUDE_3_5_HAIKU | Substitua região para Claude 3.5 Haiku ao usar Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Substitua região para Claude 3.7 Sonnet ao usar Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Substitua região para Claude 4.0 Opus ao usar Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Substitua região para Claude 4.0 Sonnet ao usar Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Substitua região para Claude 4.1 Opus ao usar Vertex AI |
Ferramentas disponíveis para Claude
Claude Code tem acesso a um conjunto de ferramentas poderosas que ajudam a entender e modificar sua base de código:| Ferramenta | Descrição | Permissão Necessária |
|---|---|---|
| AskUserQuestion | Faz perguntas de múltipla escolha para reunir requisitos ou esclarecer ambiguidade | Não |
| Bash | Executa comandos de shell em seu ambiente (veja Comportamento da ferramenta Bash abaixo) | Sim |
| TaskOutput | Recupera saída de uma tarefa em background (shell bash ou subagentos) | Não |
| Edit | Faz edições direcionadas em arquivos específicos | Sim |
| ExitPlanMode | Solicita ao usuário sair do modo plano e começar a codificar | Sim |
| Glob | Encontra arquivos baseado em correspondência de padrão | Não |
| Grep | Procura por padrões no conteúdo de arquivos | Não |
| KillShell | Mata um shell bash em background em execução por seu ID | Não |
| MCPSearch | Procura e carrega ferramentas MCP quando busca de ferramenta está habilitada | Não |
| NotebookEdit | Modifica células de notebook Jupyter | Sim |
| Read | Lê o conteúdo de arquivos | Não |
| Skill | Executa uma skill dentro da conversa principal | Sim |
| Task | Executa um sub-agente para lidar com tarefas complexas e multi-etapas | Não |
| TodoWrite | Cria e gerencia listas de tarefas estruturadas | Não |
| WebFetch | Busca conteúdo de uma URL especificada | Sim |
| WebSearch | Realiza buscas web com filtragem de domínio | Sim |
| Write | Cria ou sobrescreve arquivos | Sim |
/allowed-tools ou em configurações de permissão. Veja também Regras de permissão específicas de ferramentas.
Comportamento da ferramenta Bash
A ferramenta Bash executa comandos de shell com o seguinte comportamento de persistência:- Diretório de trabalho persiste: Quando Claude muda o diretório de trabalho (por exemplo,
cd /path/to/dir), comandos Bash subsequentes executarão naquele diretório. Você pode usarCLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1para resetar ao diretório do projeto após cada comando. - Variáveis de ambiente NÃO persistem: Variáveis de ambiente definidas em um comando Bash (por exemplo,
export MY_VAR=value) não estão disponíveis em comandos Bash subsequentes. Cada comando Bash executa em um ambiente de shell fresco.
/path/to/env-setup.sh contém:
.claude/settings.json:
$CLAUDE_ENV_FILE, que é então fornecido antes de cada comando Bash. Isto é ideal para configurações de projeto compartilhadas com a equipe.
Veja Hooks SessionStart para mais detalhes sobre a Opção 3.
Estendendo ferramentas com hooks
Você pode executar comandos personalizados antes ou depois de qualquer ferramenta executar usando hooks do Claude Code. Por exemplo, você poderia executar automaticamente um formatador Python após Claude modificar arquivos Python, ou impedir modificações em arquivos de configuração de produção bloqueando operações Write para certos caminhos.Veja também
- Gerenciamento de Identidade e Acesso - Visão geral do sistema de permissão e como regras allow/ask/deny interagem
- Regras de permissão específicas de ferramentas - Padrões detalhados para ferramentas Bash, Read, Edit, WebFetch, MCP e Task, incluindo limitações de segurança
- Configurações gerenciadas - Configuração de política gerenciada para organizações
- Solução de problemas - Soluções para problemas de configuração comuns