O Claude Code oferece uma variedade de configurações para configurar seu comportamento para atender às suas necessidades. Você pode configurar o Claude Code executando o comando /config ao usar o REPL interativo.

Arquivos de configurações

O arquivo settings.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.json e se aplicam a todos os projetos.
  • Configurações do projeto são salvas no diretório do seu projeto:
    • .claude/settings.json para configurações que são incluídas no controle de versão e compartilhadas com sua equipe
    • .claude/settings.local.json para configurações que não são incluídas no controle de versão, úteis para preferências pessoais e experimentação. O Claude Code configurará o git para ignorar .claude/settings.local.json quando for criado.
  • Para implantações empresariais do Claude Code, também suportamos configurações de política gerenciada empresarial. Estas têm precedência sobre as configurações de usuário e projeto. Os administradores de sistema podem implantar políticas em:
    • macOS: /Library/Application Support/ClaudeCode/managed-settings.json
    • Linux e WSL: /etc/claude-code/managed-settings.json
    • Windows: C:\ProgramData\ClaudeCode\managed-settings.json
Exemplo settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp"
  }
}

Configurações disponíveis

settings.json suporta várias opções:

ChaveDescriçãoExemplo
apiKeyHelperScript 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
cleanupPeriodDaysPor quanto tempo manter localmente transcrições de chat baseadas na data da última atividade (padrão: 30 dias)20
envVariáveis de ambiente que serão aplicadas a cada sessão{"FOO": "bar"}
includeCoAuthoredBySe deve incluir a linha co-authored-by Claude em commits git e pull requests (padrão: true)false
permissionsVeja a tabela abaixo para a estrutura de permissões.
hooksConfigure comandos personalizados para executar antes ou depois de execuções de ferramentas. Veja documentação de hooks{"PreToolUse": {"Bash": "echo 'Running command...'"}}
modelSubstitua o modelo padrão a ser usado para o Claude Code"claude-3-5-sonnet-20241022"
statusLineConfigure uma linha de status personalizada para exibir contexto. Veja documentação statusLine{"type": "command", "command": "~/.claude/statusline.sh"}
forceLoginMethodUse claudeai para restringir login a contas Claude.ai, console para restringir login a contas do Console Anthropic (cobrança de uso da API)claudeai
enableAllProjectMcpServersAprovar automaticamente todos os servidores MCP definidos em arquivos .mcp.json do projetotrue
enabledMcpjsonServersLista de servidores MCP específicos de arquivos .mcp.json para aprovar["memory", "github"]
disabledMcpjsonServersLista de servidores MCP específicos de arquivos .mcp.json para rejeitar["filesystem"]
awsAuthRefreshScript personalizado que modifica o diretório .aws (veja configuração avançada de credenciais)aws sso login --profile myprofile
awsCredentialExportScript personalizado que produz JSON com credenciais AWS (veja configuração avançada de credenciais)/bin/generate_aws_grant.sh

Configurações de permissão

ChavesDescriçãoExemplo
allowArray de regras de permissão para permitir uso de ferramentas[ "Bash(git diff:*)" ]
askArray de regras de permissão para pedir confirmação no uso de ferramentas.[ "Bash(git push:*)" ]
denyArray de regras de permissão para negar uso de ferramentas. Use isso também para excluir arquivos sensíveis do acesso do Claude Code.[ "WebFetch", "Bash(curl:*)", "Read(./.env)", "Read(./secrets/**)" ]
additionalDirectoriesDiretórios de trabalho adicionais aos quais Claude tem acesso[ "../docs/" ]
defaultModeModo de permissão padrão ao abrir o Claude Code"acceptEdits"
disableBypassPermissionsModeDefina como "disable" para impedir que o modo bypassPermissions seja ativado. Veja configurações de política gerenciada"disable"

Precedência de configurações

As configurações são aplicadas em ordem de precedência (maior para menor):

  1. Políticas gerenciadas empresariais (managed-settings.json)

    • Implantadas por TI/DevOps
    • Não podem ser substituídas
  2. Argumentos de linha de comando

    • Substituições temporárias para uma sessão específica
  3. Configurações locais do projeto (.claude/settings.local.json)

    • Configurações pessoais específicas do projeto
  4. Configurações compartilhadas do projeto (.claude/settings.json)

    • Configurações do projeto compartilhadas pela equipe no controle de versão
  5. Configurações do usuário (~/.claude/settings.json)

    • Configurações globais pessoais

Esta hierarquia garante que as políticas de segurança empresariais sejam sempre aplicadas, permitindo ainda que equipes e indivíduos personalizem sua experiência.

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ções (JSON): Configuram permissões, variáveis de ambiente e comportamento de ferramentas
  • Comandos slash: Comandos personalizados que podem ser invocados durante uma sessão com /nome-do-comando
  • Servidores MCP: Estendem o Claude Code com ferramentas e integrações adicionais
  • Precedência: Configurações de nível superior (Empresarial) 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

Disponibilidade do prompt do sistema

Diferentemente do claude.ai, não publicamos o prompt interno do sistema do Claude Code neste site. Use arquivos CLAUDE.md ou --append-system-prompt para adicionar instruções personalizadas ao comportamento do Claude Code.

Excluindo arquivos sensíveis

Para impedir que o Claude Code acesse arquivos contendo informações sensíveis (por exemplo, chaves de API, segredos, arquivos de ambiente), use a configuração permissions.deny no seu arquivo .claude/settings.json:

{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}

Isso substitui a configuração ignorePatterns descontinuada. Arquivos que correspondem a esses padrões serão completamente invisíveis ao Claude Code, impedindo qualquer exposição acidental de dados sensíveis.

Configuração de subagentes

O Claude Code suporta subagentes de IA personalizados que podem ser configurados tanto em níveis de usuário quanto de projeto. Esses subagentes são armazenados como arquivos Markdown com frontmatter YAML:

  • Subagentes do usuário: ~/.claude/agents/ - Disponíveis em todos os seus projetos
  • Subagentes do projeto: .claude/agents/ - Específicos do seu projeto e podem ser compartilhados com sua equipe

Os arquivos de subagentes definem assistentes de IA especializados com prompts personalizados e permissões de ferramentas. Saiba mais sobre criar e usar subagentes na documentação de subagentes.

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. Isso é útil como uma forma de definir automaticamente variáveis de ambiente para cada sessão, ou para implementar um conjunto de variáveis de ambiente para toda a sua equipe ou organização.

VariávelPropósito
ANTHROPIC_API_KEYChave de API enviada como cabeçalho X-Api-Key, tipicamente para o SDK Claude (para uso interativo, execute /login)
ANTHROPIC_AUTH_TOKENValor personalizado para o cabeçalho Authorization (o valor que você definir aqui será prefixado com Bearer )
ANTHROPIC_CUSTOM_HEADERSCabeçalhos personalizados que você deseja adicionar à solicitação (no formato Nome: Valor)
ANTHROPIC_MODELNome do modelo personalizado a ser usado (veja Configuração de Modelo)
ANTHROPIC_SMALL_FAST_MODELNome do modelo classe Haiku para tarefas em segundo plano
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONSubstituir região AWS para o modelo pequeno/rápido ao usar Bedrock
AWS_BEARER_TOKEN_BEDROCKChave de API Bedrock para autenticação (veja chaves de API Bedrock)
BASH_DEFAULT_TIMEOUT_MSTimeout padrão para comandos bash de longa duração
BASH_MAX_TIMEOUT_MSTimeout máximo que o modelo pode definir para comandos bash de longa duração
BASH_MAX_OUTPUT_LENGTHNúmero máximo de caracteres em saídas bash antes de serem truncadas no meio
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIRRetornar ao diretório de trabalho original após cada comando Bash
CLAUDE_CODE_API_KEY_HELPER_TTL_MSIntervalo em milissegundos no qual as credenciais devem ser atualizadas (ao usar apiKeyHelper)
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLPular auto-instalação de extensões IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSDefinir o número máximo de tokens de saída para a maioria das solicitações
CLAUDE_CODE_USE_BEDROCKUsar Bedrock
CLAUDE_CODE_USE_VERTEXUsar Vertex
CLAUDE_CODE_SKIP_BEDROCK_AUTHPular autenticação AWS para Bedrock (por exemplo, ao usar um gateway LLM)
CLAUDE_CODE_SKIP_VERTEX_AUTHPular autenticação Google para Vertex (por exemplo, ao usar um gateway LLM)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICEquivalente a definir DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, e DISABLE_TELEMETRY
CLAUDE_CODE_DISABLE_TERMINAL_TITLEDefina como 1 para desabilitar atualizações automáticas do título do terminal baseadas no contexto da conversa
DISABLE_AUTOUPDATERDefina como 1 para desabilitar atualizações automáticas. Isso tem precedência sobre a configuração autoUpdates.
DISABLE_BUG_COMMANDDefina como 1 para desabilitar o comando /bug
DISABLE_COST_WARNINGSDefina como 1 para desabilitar mensagens de aviso de custo
DISABLE_ERROR_REPORTINGDefina como 1 para optar por não participar do relatório de erros Sentry
DISABLE_NON_ESSENTIAL_MODEL_CALLSDefina como 1 para desabilitar chamadas de modelo para caminhos não críticos como texto de sabor
DISABLE_TELEMETRYDefina como 1 para optar por não participar da telemetria Statsig (note que eventos Statsig não incluem dados do usuário como código, caminhos de arquivo ou comandos bash)
HTTP_PROXYEspecificar servidor proxy HTTP para conexões de rede
HTTPS_PROXYEspecificar servidor proxy HTTPS para conexões de rede
MAX_THINKING_TOKENSForçar um orçamento de pensamento para o modelo
MCP_TIMEOUTTimeout em milissegundos para inicialização do servidor MCP
MCP_TOOL_TIMEOUTTimeout em milissegundos para execução de ferramenta MCP
MAX_MCP_OUTPUT_TOKENSNúmero máximo de tokens permitidos em respostas de ferramenta MCP (padrão: 25000)
USE_BUILTIN_RIPGREPDefina como 0 para usar rg instalado no sistema em vez do rg incluído com Claude Code
VERTEX_REGION_CLAUDE_3_5_HAIKUSubstituir região para Claude 3.5 Haiku ao usar Vertex AI
VERTEX_REGION_CLAUDE_3_5_SONNETSubstituir região para Claude Sonnet 3.5 ao usar Vertex AI
VERTEX_REGION_CLAUDE_3_7_SONNETSubstituir região para Claude 3.7 Sonnet ao usar Vertex AI
VERTEX_REGION_CLAUDE_4_0_OPUSSubstituir região para Claude 4.0 Opus ao usar Vertex AI
VERTEX_REGION_CLAUDE_4_0_SONNETSubstituir região para Claude 4.0 Sonnet ao usar Vertex AI
VERTEX_REGION_CLAUDE_4_1_OPUSSubstituir região para Claude 4.1 Opus ao usar Vertex AI

Opções de configuração

Para gerenciar suas configurações, use os seguintes comandos:

  • Listar configurações: claude config list
  • Ver uma configuração: claude config get <chave>
  • Alterar uma configuração: claude config set <chave> <valor>
  • Adicionar a uma configuração (para listas): claude config add <chave> <valor>
  • Remover de uma configuração (para listas): claude config remove <chave> <valor>

Por padrão, config altera sua configuração de projeto. Para gerenciar sua configuração global, use a flag --global (ou -g).

Configuração global

Para definir uma configuração global, use claude config set -g <chave> <valor>:

ChaveDescriçãoExemplo
autoUpdatesSe deve habilitar atualizações automáticas (padrão: true). Quando habilitado, o Claude Code baixa e instala automaticamente atualizações em segundo plano. As atualizações são aplicadas quando você reinicia o Claude Code.false
preferredNotifChannelOnde você deseja receber notificações (padrão: iterm2)iterm2, iterm2_with_bell, terminal_bell, ou notifications_disabled
themeTema de coresdark, light, light-daltonized, ou dark-daltonized
verboseSe deve mostrar saídas completas de bash e comandos (padrão: false)true

Ferramentas disponíveis para Claude

O Claude Code tem acesso a um conjunto de ferramentas poderosas que o ajudam a entender e modificar sua base de código:

FerramentaDescriçãoPermissão Necessária
BashExecuta comandos shell em seu ambienteSim
EditFaz edições direcionadas a arquivos específicosSim
GlobEncontra arquivos baseados em correspondência de padrõesNão
GrepBusca por padrões no conteúdo de arquivosNão
LSLista arquivos e diretóriosNão
MultiEditExecuta múltiplas edições em um único arquivo atomicamenteSim
NotebookEditModifica células de notebook JupyterSim
NotebookReadLê e exibe conteúdos de notebook JupyterNão
ReadLê o conteúdo de arquivosNão
TaskExecuta um subagente para lidar com tarefas complexas de múltiplas etapasNão
TodoWriteCria e gerencia listas de tarefas estruturadasNão
WebFetchBusca conteúdo de uma URL especificadaSim
WebSearchExecuta buscas na web com filtragem de domínioSim
WriteCria ou sobrescreve arquivosSim

Regras de permissão podem ser configuradas usando /allowed-tools ou em configurações de permissão.

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 depois que Claude modifica arquivos Python, ou impedir modificações em arquivos de configuração de produção bloqueando operações Write para certos caminhos.

Veja também