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, ú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 do usuário e do projeto. Os administradores do sistema podem implantar políticas em /Library/Application Support/ClaudeCode/managed-settings.json no macOS e /etc/claude-code/managed-settings.json no Linux e Windows via WSL.
Example settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test:*)",
      "Read(~/.zshrc)"
    ],
    "deny": [
      "Bash(curl:*)"
    ]
  },
  "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 geralmente será enviado como cabeçalhos X-Api-Key, Authorization: Bearer, e Proxy-Authorization: Bearer para solicitações de modelo/bin/generate_temp_api_key.sh
cleanupPeriodDaysPor quanto tempo manter localmente as transcrições de chat (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.

Configurações de permissão

ChavesDescriçãoExemplo
allowArray de regras de permissão para permitir o uso de ferramentas[ "Bash(git diff:*)" ]
denyArray de regras de permissão para negar o uso de ferramentas[ "WebFetch", "Bash(curl:*)" ]
additionalDirectoriesDiretórios de trabalho adicionais aos quais o Claude tem acesso[ "../docs/" ]
defaultModeModo de permissão padrão ao abrir o Claude Code"allowEdits"
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:

  1. Políticas empresariais (veja documentação IAM)
  2. Argumentos da linha de comando
  3. Configurações locais do projeto
  4. Configurações compartilhadas do projeto
  5. Configurações do usuário

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 API enviada como cabeçalho X-Api-Key, tipicamente para o SDK do Claude (para uso interativo, execute /login)
ANTHROPIC_AUTH_TOKENValor personalizado para os cabeçalhos Authorization e Proxy-Authorization (o valor que você definir aqui será prefixado com Bearer )
ANTHROPIC_CUSTOM_HEADERSCabeçalhos personalizados que você deseja adicionar à solicitação (no formato Name: Value)
ANTHROPIC_MODELNome do modelo personalizado a usar (veja Configuração de Modelo)
ANTHROPIC_SMALL_FAST_MODELNome do modelo classe Haiku para tarefas em segundo plano
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 nas 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_MAX_OUTPUT_TOKENSDefinir o número máximo de tokens de saída para a maioria das solicitações
CLAUDE_CODE_USE_BEDROCKUsar Bedrock (veja Bedrock & Vertex)
CLAUDE_CODE_USE_VERTEXUsar Vertex (veja Bedrock & Vertex)
CLAUDE_CODE_SKIP_BEDROCK_AUTHPular autenticação AWS para Bedrock (ex: ao usar um gateway LLM)
CLAUDE_CODE_SKIP_VERTEX_AUTHPular autenticação Google para Vertex (ex: ao usar um gateway LLM)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICEquivalente a definir DISABLE_AUTOUPDATER, DISABLE_BUG_COMMAND, DISABLE_ERROR_REPORTING, e DISABLE_TELEMETRY
DISABLE_AUTOUPDATERDefina como 1 para desabilitar o atualizador automático
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 do 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 do Statsig (note que eventos do 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)

Opções de configuração

Estamos no processo de migrar a configuração global para settings.json.

claude config será descontinuado em favor de settings.json

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

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

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 <key> <value>:

ChaveDescriçãoExemplo
autoUpdatesSe deve habilitar atualizações automáticas (padrão: true)false
preferredNotifChannelOnde você quer 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 o 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
AgentExecuta um sub-agente para lidar com tarefas complexas de múltiplas etapasNão
BashExecuta comandos shell em seu ambienteSim
EditFaz edições direcionadas a arquivos específicosSim
GlobEncontra arquivos baseado em correspondência de padrõesNão
GrepBusca por padrões no conteúdo de arquivosNão
LSLista arquivos e diretóriosNão
MultiEditRealiza 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
TodoReadLê a lista de tarefas da sessão atualNão
TodoWriteCria e gerencia listas de tarefas estruturadasNão
WebFetchBusca conteúdo de uma URL especificadaSim
WebSearchRealiza 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 que qualquer ferramenta execute usando hooks do Claude Code.

Por exemplo, você poderia executar automaticamente um formatador Python depois que o Claude modifica arquivos Python, ou prevenir modificações em arquivos de configuração de produção bloqueando operações Write para certos caminhos.

Veja também