Claude Code oferece uma variedade de configurações para personalizar seu comportamento de acordo com suas necessidades. Você pode configurar Claude Code executando o comando /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.

Arquivos de configuração

O arquivo settings.json é nosso mecanismo oficial para configurar Claude Code através de configurações hierárquicas:
  • Configurações de usuário são definidas em ~/.claude/settings.json e se aplicam a todos os projetos.
  • Configurações de projeto são salvas no diretório do seu projeto:
    • .claude/settings.json para configurações que são verificadas no controle de versão e compartilhadas com sua equipe
    • .claude/settings.local.json para configurações que não são verificadas, úteis para preferências pessoais e experimentação. Claude Code configurará o git para ignorar .claude/settings.local.json quando for criado.
  • Para implantações empresariais do Claude Code, também oferecemos suporte a configurações de política gerenciada pela empresa. Estas têm precedência sobre as configurações de usuário e projeto. 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
  • Implantações empresariais também podem configurar servidores MCP gerenciados que substituem servidores configurados pelo usuário. Veja Configuração MCP empresarial:
    • macOS: /Library/Application Support/ClaudeCode/managed-mcp.json
    • Linux e WSL: /etc/claude-code/managed-mcp.json
    • Windows: C:\ProgramData\ClaudeCode\managed-mcp.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
cleanupPeriodDaysQuanto tempo reter localmente transcrições de chat com base 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 de rodapé 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 das execuções de ferramentas. Veja documentação de hooks{"PreToolUse": {"Bash": "echo 'Running command...'"}}
disableAllHooksDesabilitar todos os hookstrue
modelSubstituir o modelo padrão a usar para Claude Code"claude-sonnet-4-5-20250929"
statusLineConfigure uma linha de status personalizada para exibir contexto. Veja documentação de statusLine{"type": "command", "command": "~/.claude/statusline.sh"}
outputStyleConfigure um estilo de saída para ajustar o prompt do sistema. Veja documentação de estilos de saída"Explanatory"
forceLoginMethodUse claudeai para restringir o login a contas Claude.ai, console para restringir o login a contas Claude Console (faturamento de uso de API)claudeai
forceLoginOrgUUIDEspecifique 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"
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"]
useEnterpriseMcpConfigOnlyQuando definido em managed-settings.json, restringe servidores MCP apenas aos definidos em managed-mcp.json. Veja Configuração MCP empresarialtrue
allowedMcpServersQuando 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 empresarial[{ "serverName": "github" }]
deniedMcpServersQuando 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 empresariais. A lista de negação tem precedência sobre a lista de permissão. Veja Configuração MCP empresarial[{ "serverName": "filesystem" }]
awsAuthRefreshScript personalizado que modifica o diretório .aws (veja configuração avançada de credenciais)aws sso login --profile myprofile
awsCredentialExportScript personalizado que gera 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 o uso de ferramentas. Nota: Regras Bash usam correspondência de prefixo, não regex[ "Bash(git diff:*)" ]
askArray de regras de permissão para pedir confirmação ao usar ferramentas.[ "Bash(git push:*)" ]
denyArray de regras de permissão para negar o uso de ferramentas. Use isto também para excluir arquivos sensíveis do acesso do Claude Code. Nota: Padrões Bash são correspondências de prefixo e podem ser contornados (veja limitações de permissão Bash)[ "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 Claude Code"acceptEdits"
disableBypassPermissionsModeDefina como "disable" para impedir que o modo bypassPermissions seja ativado. Isto desabilita a flag de linha de comando --dangerously-skip-permissions. Veja configurações de política gerenciada"disable"

Configurações de sandbox

Configure comportamento avançado de sandbox. O sandbox isola comandos bash do seu sistema de arquivos e rede. Veja Sandbox para detalhes. Restrições de sistema de arquivos e rede são configuradas através de regras de permissão Read, Edit e WebFetch, não através dessas configurações de sandbox.
ChavesDescriçãoExemplo
enabledHabilitar sandbox bash (apenas macOS/Linux). Padrão: falsetrue
autoAllowBashIfSandboxedAprovar automaticamente comandos bash quando em sandbox. Padrão: truetrue
excludedCommandsComandos que devem ser executados fora do sandbox["git", "docker"]
network.allowUnixSocketsCaminhos de socket Unix acessíveis no sandbox (para agentes SSH, etc.)["~/.ssh/agent-socket"]
network.allowLocalBindingPermitir vinculação a portas localhost (apenas MacOS). Padrão: falsetrue
network.httpProxyPortPorta do proxy HTTP usada se você deseja trazer seu próprio proxy. Se não especificado, Claude executará seu próprio proxy.8080
network.socksProxyPortPorta do proxy SOCKS5 usada se você deseja trazer seu próprio proxy. Se não especificado, Claude executará seu próprio proxy.8081
enableWeakerNestedSandboxHabilitar sandbox mais fraco para ambientes Docker sem privilégios (apenas Linux). Reduz segurança. Padrão: falsetrue
Exemplo de configuração:
{
  "sandbox": {
    "enabled": true,
    "autoAllowBashIfSandboxed": true,
    "excludedCommands": ["docker"],
    "network": {
      "allowUnixSockets": [
        "/var/run/docker.sock"
      ],
      "allowLocalBinding": true
    }
  },
  "permissions": {
    "deny": [
      "Read(.envrc)",
      "Read(~/.aws/**)"
    ]
  }
}
Acesso ao sistema de arquivos é controlado através de permissões Read/Edit:
  • Regras de negação Read bloqueiam leituras de arquivo no sandbox
  • Regras de permissão Edit permitem escritas de arquivo (além dos padrões, por exemplo, o diretório de trabalho atual)
  • Regras de negação Edit bloqueiam escritas dentro de caminhos permitidos
Acesso à rede é controlado através de permissões WebFetch:
  • Regras de permissão WebFetch permitem domínios de rede
  • Regras de negação WebFetch bloqueiam domínios de rede

Precedência de configurações

As configurações são aplicadas em ordem de precedência (maior para menor):
  1. Políticas gerenciadas pela empresa (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 de projeto local (.claude/settings.local.json)
    • Configurações pessoais específicas do projeto
  4. Configurações de projeto compartilhado (.claude/settings.json)
    • Configurações de projeto compartilhadas com a equipe no controle de versão
  5. Configurações de usuário (~/.claude/settings.json)
    • Configurações globais pessoais
Esta hierarquia garante que as políticas de segurança da empresa sejam sempre aplicadas, enquanto ainda permite 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ção (JSON): Configure permissões, variáveis de ambiente e comportamento de ferramentas
  • Comandos de barra: Comandos personalizados que podem ser invocados durante uma sessão com /command-name
  • Servidores MCP: Estenda Claude Code com ferramentas e integrações adicionais
  • Precedência: Configurações de nível superior (Empresa) 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 de prompt do sistema

Diferentemente de claude.ai, não publicamos o prompt do sistema interno 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 Claude Code acesse arquivos contendo informações sensíveis (por exemplo, chaves de API, segredos, arquivos de ambiente), use a configuração permissions.deny em seu arquivo .claude/settings.json:
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)",
      "Read(./config/credentials.json)",
      "Read(./build)"
    ]
  }
}
Isto substitui a configuração ignorePatterns descontinuada. Arquivos que correspondem a esses padrões serão completamente invisíveis para Claude Code, prevenindo qualquer exposição acidental de dados sensíveis.

Configuração de subagente

Claude Code suporta subagentes de IA personalizados que podem ser configurados em níveis de usuário e projeto. Esses subagentes são armazenados como arquivos Markdown com frontmatter YAML:
  • Subagentes de usuário: ~/.claude/agents/ - Disponíveis em todos os seus projetos
  • Subagentes de projeto: .claude/agents/ - Específicos do seu projeto e podem ser compartilhados com sua equipe
Arquivos de subagente definem assistentes de IA especializados com prompts personalizados e permissões de ferramentas. Saiba mais sobre como criar e usar subagentes na documentação de subagentes.

Configuração de plugin

Claude Code suporta um sistema de plugin que permite estender a funcionalidade com comandos personalizados, agentes, hooks e servidores MCP. Os 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 em settings.json:
{
  "enabledPlugins": {
    "formatter@company-tools": true,
    "deployer@company-tools": true,
    "analyzer@security-plugins": false
  },
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": "github",
      "repo": "company/claude-plugins"
    }
  }
}

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)
Exemplo:
{
  "enabledPlugins": {
    "code-formatter@team-tools": true,
    "deployment-tools@team-tools": true,
    "experimental-features@personal": false
  }
}

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 os membros da equipe tenham acesso às fontes de plugin necessárias. Quando um repositório inclui extraKnownMarketplaces:
  1. Os membros da equipe são solicitados a instalar o marketplace quando confiam na pasta
  2. Os membros da equipe são então solicitados a instalar plugins desse marketplace
  3. Os usuários podem pular marketplaces ou plugins indesejados (armazenados em configurações de usuário)
  4. A instalação respeita limites de confiança e requer consentimento explícito
Exemplo:
{
  "extraKnownMarketplaces": {
    "company-tools": {
      "source": {
        "source": "github",
        "repo": "company-org/claude-plugins"
      }
    },
    "security-plugins": {
      "source": {
        "source": "git",
        "url": "https://git.company.com/security/plugins.git"
      }
    }
  }
}
Tipos de fonte de marketplace:
  • github: Repositório GitHub (usa repo)
  • git: Qualquer URL git (usa url)
  • directory: Caminho do sistema de arquivos local (usa path, apenas para desenvolvimento)

Gerenciando plugins

Use o comando /plugin para gerenciar plugins interativamente:
  • Procurar plugins disponíveis de marketplaces
  • Instalar/desinstalar plugins
  • Habilitar/desabilitar plugins
  • Visualizar detalhes do plugin (comandos, agentes, hooks fornecidos)
  • Adicionar/remover marketplaces
Saiba mais sobre o sistema de plugin na documentação de plugins.

Variáveis de ambiente

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 uma forma de definir automaticamente variáveis de ambiente para cada sessão, ou para implantar um conjunto de variáveis de ambiente para toda sua equipe ou organização.
VariávelPropósito
ANTHROPIC_API_KEYChave de API enviada como cabeçalho X-Api-Key, normalmente 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 (em formato Name: Value)
ANTHROPIC_DEFAULT_HAIKU_MODELVeja Configuração de modelo
ANTHROPIC_DEFAULT_OPUS_MODELVeja Configuração de modelo
ANTHROPIC_DEFAULT_SONNET_MODELVeja Configuração de modelo
ANTHROPIC_MODELNome da configuração de modelo a usar (veja Configuração de modelo)
ANTHROPIC_SMALL_FAST_MODEL[DESCONTINUADO] Nome do modelo classe Haiku para tarefas em segundo plano
ANTHROPIC_SMALL_FAST_MODEL_AWS_REGIONSubstituir região AWS para o modelo classe Haiku ao usar Bedrock
AWS_BEARER_TOKEN_BEDROCKChave de API Bedrock para autenticação (veja Chaves de API Bedrock)
BASH_DEFAULT_TIMEOUT_MSTempo limite padrão 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
BASH_MAX_TIMEOUT_MSTempo limite máximo que o modelo pode definir para comandos bash de longa duração
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_CLIENT_CERTCaminho para arquivo de certificado do cliente para autenticação mTLS
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEFrase de acesso para CLAUDE_CODE_CLIENT_KEY criptografada (opcional)
CLAUDE_CODE_CLIENT_KEYCaminho para arquivo de chave privada do cliente para autenticação mTLS
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 de título do terminal com base no contexto de conversa
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALLPular auto-instalação de extensões IDE
CLAUDE_CODE_MAX_OUTPUT_TOKENSDefina o número máximo de tokens de saída para a maioria das solicitações
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_SUBAGENT_MODELVeja Configuração de modelo
CLAUDE_CODE_USE_BEDROCKUse Bedrock
CLAUDE_CODE_USE_VERTEXUse Vertex
DISABLE_AUTOUPDATERDefina como 1 para desabilitar atualizações automáticas. Isto 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 desativar o 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_PROMPT_CACHINGDefina como 1 para desabilitar cache de prompt para todos os modelos (tem precedência sobre configurações por modelo)
DISABLE_PROMPT_CACHING_HAIKUDefina como 1 para desabilitar cache de prompt para modelos Haiku
DISABLE_PROMPT_CACHING_OPUSDefina como 1 para desabilitar cache de prompt para modelos Opus
DISABLE_PROMPT_CACHING_SONNETDefina como 1 para desabilitar cache de prompt para modelos Sonnet
DISABLE_TELEMETRYDefina como 1 para desativar telemetria Statsig (note que eventos Statsig não incluem dados do usuário como código, caminhos de arquivo ou comandos bash)
HTTP_PROXYEspecifique servidor proxy HTTP para conexões de rede
HTTPS_PROXYEspecifique servidor proxy HTTPS para conexões de rede
MAX_MCP_OUTPUT_TOKENSNúmero máximo de tokens permitidos em respostas de ferramentas MCP. Claude Code exibe um aviso quando a saída excede 10.000 tokens (padrão: 25000)
MAX_THINKING_TOKENSHabilitar pensamento estendido e definir o orçamento de tokens para o processo de pensamento. O pensamento estendido melhora o desempenho em tarefas complexas de raciocínio e codificação, mas impacta eficiência de cache de prompt. Desabilitado por padrão.
MCP_TIMEOUTTempo limite em milissegundos para inicialização do servidor MCP
MCP_TOOL_TIMEOUTTempo limite em milissegundos para execução de ferramentas MCP
NO_PROXYLista de domínios e IPs para os quais as solicitações serão emitidas diretamente, ignorando proxy
SLASH_COMMAND_TOOL_CHAR_BUDGETNúmero máximo de caracteres para metadados de comando de barra mostrados para ferramenta SlashCommand (padrão: 15000)
USE_BUILTIN_RIPGREPDefina como 0 para usar rg instalado no sistema em vez de 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

Ferramentas disponíveis para Claude

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 em arquivos específicosSim
GlobEncontra arquivos com base em correspondência de padrãoNão
GrepPesquisa padrões no conteúdo de arquivosNão
NotebookEditModifica células de notebook JupyterSim
NotebookReadLê e exibe conteúdo de notebook JupyterNão
ReadLê o conteúdo de arquivosNão
SlashCommandExecuta um comando de barra personalizadoSim
TaskExecuta um sub-agente para lidar com tarefas complexas e multi-etapasNão
TodoWriteCria e gerencia listas de tarefas estruturadasNão
WebFetchBusca conteúdo de uma URL especificadaSim
WebSearchRealiza pesquisas 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. Veja também Regras de permissão específicas de ferramentas.

Estendendo ferramentas com hooks

Você pode executar comandos personalizados antes ou depois de qualquer ferramenta ser executada 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