/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 arquivosettings.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.jsone se aplicam a todos os projetos. - Configurações de projeto são salvas no diretório do seu projeto:
.claude/settings.jsonpara configurações que são verificadas no controle de versão 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. Claude Code configurará o git para ignorar.claude/settings.local.jsonquando 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
- macOS:
- 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
- macOS:
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 | Quanto tempo reter localmente transcrições de chat com base na data da última atividade (padrão: 30 dias) | 20 |
env | Variáveis de ambiente que serão aplicadas a cada sessão | {"FOO": "bar"} |
includeCoAuthoredBy | Se deve incluir a linha de rodapé 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 das execuções de ferramentas. Veja documentação de hooks | {"PreToolUse": {"Bash": "echo 'Running command...'"}} |
disableAllHooks | Desabilitar todos os hooks | true |
model | Substituir o modelo padrão a usar para Claude Code | "claude-sonnet-4-5-20250929" |
statusLine | Configure uma linha de status personalizada para exibir contexto. Veja documentação de statusLine | {"type": "command", "command": "~/.claude/statusline.sh"} |
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 o login a contas Claude.ai, console para restringir o 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 | Aprovar 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"] |
useEnterpriseMcpConfigOnly | Quando definido em managed-settings.json, restringe servidores MCP apenas aos definidos em managed-mcp.json. Veja Configuração MCP empresarial | true |
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 empresarial | [{ "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 empresariais. A lista de negação tem precedência sobre a lista de permissão. Veja Configuração MCP empresarial | [{ "serverName": "filesystem" }] |
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 |
Configurações de permissão
| Chaves | Descrição | Exemplo |
|---|---|---|
allow | Array 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:*)" ] |
ask | Array de regras de permissão para pedir confirmação ao usar ferramentas. | [ "Bash(git push:*)" ] |
deny | Array 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/**)" ] |
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 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.| Chaves | Descrição | Exemplo |
|---|---|---|
enabled | Habilitar sandbox bash (apenas macOS/Linux). Padrão: false | true |
autoAllowBashIfSandboxed | Aprovar automaticamente comandos bash quando em sandbox. Padrão: true | true |
excludedCommands | Comandos que devem ser executados fora do sandbox | ["git", "docker"] |
network.allowUnixSockets | Caminhos de socket Unix acessíveis no sandbox (para agentes SSH, etc.) | ["~/.ssh/agent-socket"] |
network.allowLocalBinding | Permitir vinculação a portas localhost (apenas MacOS). Padrão: false | true |
network.httpProxyPort | Porta do 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 do proxy SOCKS5 usada se você deseja trazer seu próprio proxy. Se não especificado, Claude executará seu próprio proxy. | 8081 |
enableWeakerNestedSandbox | Habilitar sandbox mais fraco para ambientes Docker sem privilégios (apenas Linux). Reduz segurança. Padrão: false | true |
- 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
- 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):-
Políticas gerenciadas pela empresa (
managed-settings.json)- Implantadas por TI/DevOps
- Não podem ser substituídas
-
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 compartilhado (
.claude/settings.json)- Configurações de projeto compartilhadas com a equipe no controle de versão
-
Configurações de usuário (
~/.claude/settings.json)- Configurações globais pessoais
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çãopermissions.deny em seu arquivo .claude/settings.json:
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
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 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 os membros da equipe tenham acesso às fontes de plugin necessárias.
Quando um repositório inclui extraKnownMarketplaces:
- Os membros da equipe são solicitados a instalar o marketplace quando confiam na pasta
- Os membros da equipe são então solicitados a instalar plugins desse 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)
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
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á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_MODEL | Nome 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_REGION | Substituir 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 | Tempo limite 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 | Tempo limite máximo que o modelo pode definir para comandos bash de longa duração |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR | Retornar ao diretório de trabalho original após cada comando Bash |
CLAUDE_CODE_API_KEY_HELPER_TTL_MS | Intervalo em milissegundos no qual as credenciais devem ser atualizadas (ao usar apiKeyHelper) |
CLAUDE_CODE_CLIENT_CERT | Caminho para arquivo de certificado do cliente para autenticação mTLS |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE | Frase de acesso para CLAUDE_CODE_CLIENT_KEY criptografada (opcional) |
CLAUDE_CODE_CLIENT_KEY | Caminho para arquivo de chave privada do cliente para autenticação mTLS |
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 do terminal com base no contexto de conversa |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL | Pular 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 |
CLAUDE_CODE_SKIP_BEDROCK_AUTH | Pular autenticação AWS para Bedrock (por exemplo, ao usar um gateway LLM) |
CLAUDE_CODE_SKIP_VERTEX_AUTH | Pular 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_VERTEX | Use Vertex |
DISABLE_AUTOUPDATER | Defina como 1 para desabilitar atualizações automáticas. Isto tem precedência sobre a configuração autoUpdates. |
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 desativar o relatório de erros 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 desativar telemetria Statsig (note que eventos Statsig não incluem dados do usuário como código, caminhos de arquivo ou comandos bash) |
HTTP_PROXY | Especifique servidor proxy HTTP para conexões de rede |
HTTPS_PROXY | Especifique servidor proxy HTTPS para conexões de rede |
MAX_MCP_OUTPUT_TOKENS | Nú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_TOKENS | Habilitar 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_TIMEOUT | Tempo limite em milissegundos para inicialização do servidor MCP |
MCP_TOOL_TIMEOUT | Tempo limite em milissegundos para execução de ferramentas MCP |
NO_PROXY | Lista de domínios e IPs para os quais as solicitações serão emitidas diretamente, ignorando proxy |
SLASH_COMMAND_TOOL_CHAR_BUDGET | Número máximo de caracteres para metadados de comando de barra mostrados para ferramenta SlashCommand (padrão: 15000) |
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 | Substituir região para Claude 3.5 Haiku ao usar Vertex AI |
VERTEX_REGION_CLAUDE_3_5_SONNET | Substituir região para Claude Sonnet 3.5 ao usar Vertex AI |
VERTEX_REGION_CLAUDE_3_7_SONNET | Substituir região para Claude 3.7 Sonnet ao usar Vertex AI |
VERTEX_REGION_CLAUDE_4_0_OPUS | Substituir região para Claude 4.0 Opus ao usar Vertex AI |
VERTEX_REGION_CLAUDE_4_0_SONNET | Substituir região para Claude 4.0 Sonnet ao usar Vertex AI |
VERTEX_REGION_CLAUDE_4_1_OPUS | Substituir 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:| Ferramenta | Descrição | Permissão Necessária |
|---|---|---|
| Bash | Executa comandos shell em seu ambiente | Sim |
| Edit | Faz edições direcionadas em arquivos específicos | Sim |
| Glob | Encontra arquivos com base em correspondência de padrão | Não |
| Grep | Pesquisa padrões no conteúdo de arquivos | Não |
| NotebookEdit | Modifica células de notebook Jupyter | Sim |
| NotebookRead | Lê e exibe conteúdo de notebook Jupyter | Não |
| Read | Lê o conteúdo de arquivos | Não |
| SlashCommand | Executa um comando de barra personalizado | 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 pesquisas na 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.
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
- Identidade e Gerenciamento de Acesso - Saiba mais sobre o sistema de permissões do Claude Code
- IAM e controle de acesso - Gerenciamento de políticas empresariais
- Solução de problemas - Soluções para problemas comuns de configuração