Pular para o conteúdo principal
O Claude Code oferece uma variedade de configurações para personalizar seu comportamento de acordo com suas necessidades. Você pode configurar o Claude Code executando o comando /config, que abre uma interface de Configurações com abas onde você pode visualizar informações de status e modificar opções de configuração. A partir da v2.1.181, você pode alterar uma única opção sem abrir a interface passando key=value para /config, por exemplo /config verbose=true.

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

Quando usar cada escopo

O escopo Managed é 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
O escopo User é melhor para:
  • 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)
O escopo Project é melhor para:
  • Configurações compartilhadas pela equipe (permissões, hooks, servidores MCP)
  • Plugins que toda a equipe deve ter
  • Padronização de ferramentas entre colaboradores
O escopo Local é melhor para:
  • 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 aparece em vários escopos, o Claude Code as aplica em ordem de prioridade:
  1. Managed (mais alta): não pode ser substituída por nada
  2. Argumentos de linha de comando: substituições de sessão temporárias
  3. Local: substitui configurações de projeto e usuário
  4. Project: substitui configurações de usuário
  5. User (mais baixa): se aplica quando nada mais especifica a configuração
Por exemplo, se suas configurações de usuário definem spinnerTipsEnabled como true e as configurações de projeto a definem como false, o valor do projeto se aplica. As regras de permissão se comportam de forma diferente porque se mesclam entre escopos em vez de substituir. Veja Precedência de configurações.

O que usa escopos

Os escopos se aplicam a muitos recursos do Claude Code: No Windows, os caminhos mostrados como ~/.claude são resolvidos para %USERPROFILE%\.claude.

Arquivos de configuração

O arquivo settings.json é o mecanismo oficial para configurar o Claude Code através de configurações hierárquicas:
  • As configurações do usuário são definidas em ~/.claude/settings.json e se aplicam a todos os projetos.
  • As configurações do projeto são salvas no diretório do seu projeto:
    • .claude/settings.json para configurações que são verificadas no controle de origem 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. Quando o Claude Code cria .claude/settings.local.json, ele configura o git para ignorar o arquivo. Se você criar o arquivo você mesmo, adicione-o ao seu gitignore manualmente. Como este arquivo é seu em vez do repositório, suas regras de permissão allow entram em vigor sem a etapa de confiança do workspace que as regras allow de .claude/settings.json exigem. Se o repositório fornece o arquivo, por exemplo ao confirmá-lo, a confiança do workspace ainda se aplica.
  • Configurações gerenciadas: Para organizações que precisam de controle centralizado, o Claude Code suporta múltiplos mecanismos de entrega para configurações gerenciadas. Todos usam o mesmo formato JSON e não podem ser substituídos por configurações de usuário ou projeto:
    • Configurações gerenciadas pelo servidor: entregues remotamente na entrada, seja dos servidores da Anthropic através do console de administração do claude.ai ou de um gateway de aplicativos Claude auto-hospedado. Veja configurações gerenciadas pelo servidor.
    • Políticas de nível MDM/SO: entregues através do gerenciamento nativo de dispositivos no macOS e Windows:
      • macOS: domínio de preferências gerenciadas com.anthropic.claudecode. As chaves de nível superior do plist espelham managed-settings.json, com configurações aninhadas como dicionários e arrays como arrays de plist. Implante via perfis de configuração em Jamf, Iru (Kandji), ou ferramentas MDM similares.
      • Windows: chave de registro HKLM\SOFTWARE\Policies\ClaudeCode com um valor Settings (REG_SZ ou REG_EXPAND_SZ) contendo JSON (implantado via Política de Grupo ou Intune)
      • Windows (nível de usuário): HKCU\SOFTWARE\Policies\ClaudeCode (prioridade de política mais baixa, usada apenas quando nenhuma fonte de nível de administrador existe)
    • Baseado em arquivo: managed-settings.json e managed-mcp.json implantados em diretórios do sistema:
      • macOS: /Library/Application Support/ClaudeCode/
      • Linux e WSL: /etc/claude-code/
      • Windows: C:\Program Files\ClaudeCode\
      O caminho legado do Windows C:\ProgramData\ClaudeCode\managed-settings.json não é mais suportado a partir da v2.1.75. Administradores que implantaram configurações nesse local devem migrar arquivos para C:\Program Files\ClaudeCode\managed-settings.json.
      Configurações gerenciadas baseadas em arquivo também suportam um diretório drop-in em managed-settings.d/ no mesmo diretório do sistema ao lado de managed-settings.json. Isto permite que equipes separadas implantem fragmentos de política independentes sem coordenar edições em um único arquivo. Seguindo a convenção systemd, managed-settings.json é mesclado primeiro como base, então todos os arquivos *.json no diretório drop-in são classificados alfabeticamente e mesclados por cima. Arquivos posteriores substituem anteriores para valores escalares, arrays são concatenados e desduplicados, e objetos são mesclados profundamente. Arquivos ocultos começando com . são ignorados. Use prefixos numéricos para controlar a ordem de mesclagem, por exemplo 10-telemetry.json e 20-security.json.
    Veja configurações gerenciadas e Configuração MCP gerenciada para detalhes. Este repositório inclui modelos de implantação iniciais para Jamf, Iru (Kandji), Intune, e Política de Grupo. Use estes como pontos de partida e ajuste-os para suas necessidades.
    Implantações gerenciadas também podem restringir adições ao marketplace de plugins usando strictKnownMarketplaces. Para mais informações, veja Restrições de marketplace gerenciado.
  • Outra configuração é armazenada em ~/.claude.json. Este arquivo contém sua sessão OAuth, configurações de MCP server para escopos de usuário e local, estado por projeto (ferramentas permitidas, configurações de confiança), e vários caches. Os MCP servers com escopo de projeto são armazenados separadamente em .mcp.json.
O Claude Code cria automaticamente backups com timestamp dos arquivos de configuração e retém os cinco backups mais recentes para evitar perda de dados.
Exemplo settings.json
A linha $schema no exemplo acima aponta para o esquema JSON oficial para configurações do Claude Code. Adicioná-la ao seu settings.json ativa o preenchimento automático e validação inline no VS Code, Cursor e qualquer outro editor que suporte validação de esquema JSON. O esquema publicado é atualizado periodicamente e pode não incluir configurações adicionadas nos lançamentos CLI mais recentes, então um aviso de validação em um campo documentado recentemente não significa necessariamente que sua configuração é inválida.

Quando as edições entram em vigor

O Claude Code observa seus arquivos de configuração e os recarrega quando mudam, então edições na maioria das chaves se aplicam à sessão em execução sem uma reinicialização. Isto inclui permissions, hooks, e auxiliares de credenciais como apiKeyHelper. O recarregamento cobre configurações de usuário, projeto, local e gerenciadas, e o hook ConfigChange dispara para cada mudança detectada. Algumas poucas chaves são lidas uma vez na inicialização da sessão e se aplicam na próxima reinicialização em vez disso:
  • model: use /model para mudar no meio da sessão
  • outputStyle: parte do prompt do sistema, que é reconstruído em /clear ou reinicialização

Entradas inválidas em configurações gerenciadas

Configurações gerenciadas analisam com tolerância. Quando uma configuração gerenciada contém uma entrada que falha na validação de esquema, o Claude Code remove essa entrada, registra um aviso, e aplica todas as políticas válidas restantes. Um único erro de digitação não pode desabilitar o resto da política da sua organização. Execute /doctor para listar entradas removidas com sua fonte de arquivo e campo. Este comportamento é consistente em todos os três mecanismos de entrega: configurações gerenciadas pelo servidor, políticas de plist e registro implantadas através de MDM, e arquivos managed-settings.json. Requer Claude Code v2.1.169 ou posterior. Campos de aplicação de segurança são tratados por campo em vez de serem removidos no atacado quando estão presentes mas inválidos: requiredMinimumVersion e requiredMaximumVersion falham abertos por design: um valor inválido é removido em vez de ser aplicado, então um push de política ruim não pode impedir que o Claude Code inicie. Erros de validação aparecem em três lugares:
  • Sessões interativas mostram um diálogo na inicialização listando as entradas inválidas.
  • Execuções headless com -p imprimem um resumo para stderr.
  • claude doctor lista cada entrada inválida com sua fonte e campo.
Valide mudanças de política executando claude doctor em uma máquina de teste antes de implantá-las em toda a frota. Esta tolerância se aplica apenas a configurações gerenciadas. Arquivos de configuração de usuário, projeto e local permanecem rigorosos: um arquivo que falha na validação é rejeitado como um todo e relatado.

Configurações disponíveis

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

Configurações de config global

Estas configurações são armazenadas em ~/.claude.json em vez de settings.json. Adicioná-las a settings.json acionará um erro de validação de esquema.
Versões antes da v2.1.119 também armazenam um número de chaves de preferência /config aqui em vez de em settings.json, incluindo theme, verbose, editorMode, autoCompactEnabled, e preferredNotifChannel.

Configurações de worktrees

Configure como --worktree cria e gerencia git worktrees. Para copiar arquivos ignorados pelo git como .env em novos worktrees, use um arquivo .worktreeinclude na raiz do seu projeto em vez de uma configuração.

Configurações de permissão

Sintaxe de regra de permissão

Regras de permissão seguem o formato Tool ou Tool(specifier). Regras são avaliadas em ordem: regras de negação primeiro, depois ask, depois allow. A primeira regra correspondente determina o resultado independentemente da especificidade da regra. Veja a ordem de avaliação de regra de permissão para detalhes. Exemplos rápidos: Para a referência completa de sintaxe de regra, incluindo comportamento de curinga, padrões específicos de ferramenta para Read, Edit, WebFetch, MCP, e regras de Agent, e limitações de segurança de padrões Bash, veja Sintaxe de regra de permissão.

Configurações de sandbox

Configure comportamento avançado de sandboxing. Sandboxing isola comandos bash do seu sistema de arquivos e rede. Veja Sandboxing para detalhes.

Prefixos de caminho de sandbox

Caminhos em filesystem.allowWrite, filesystem.denyWrite, filesystem.denyRead, filesystem.allowRead, e credentials.files suportam estes prefixos: O prefixo mais antigo //path para caminhos absolutos ainda funciona. Se você usou anteriormente /path esperando resolução relativa ao projeto, mude para ./path. Esta sintaxe difere de regras de permissão Read e Edit, que usam //path para absoluto e /path para relativo ao projeto. Caminhos de sistema de arquivos de sandbox usam convenções padrão: /tmp/build é um caminho absoluto. Exemplo de configuração:
Restrições de sistema de arquivos e rede podem ser configuradas de duas formas que são mescladas juntas:
  • Configurações sandbox.filesystem (mostradas acima): Controlam caminhos no limite do sandbox de nível de SO. Estas restrições se aplicam a todos os comandos de subprocesso (por exemplo, kubectl, terraform, npm), não apenas às ferramentas de arquivo do Claude.
  • Regras de permissão: Use regras allow/deny Edit para controlar acesso à ferramenta de arquivo do Claude, regras deny Read para bloquear leituras (uma regra deny Read também bloqueia a ferramenta Edit nos caminhos correspondentes), e regras allow/deny WebFetch para controlar domínios de rede. Caminhos destas regras também são mesclados na configuração do sandbox.

Configurações de atribuiçã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
Atribuição de commit padrão:
O nome do modelo no trailer reflete o modelo ativo para a sessão. Atribuição de pull request padrão:
Exemplo:
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 e sessionUrl como false.

Configurações de sugestão de arquivo

Configure um comando personalizado para preenchimento automático 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.
O comando executa com as mesmas variáveis de ambiente que hooks, incluindo CLAUDE_PROJECT_DIR. Recebe JSON via stdin com um campo query:
Produz caminhos de arquivo separados por nova linha para stdout (atualmente limitado a 15):
Exemplo:
A configuração footerLinksRegexes renderiza badges clicáveis extras no rodapé abaixo da caixa de entrada. Use-a para transformar IDs impressos por CLIs de projeto, como ferramentas de revisão e rastreadores de problemas, em links de sessão. Cada regex pattern de entrada é correspondida contra a saída de turno: resultados de ferramenta, incluindo conteúdo de arquivo e páginas buscadas, e respostas do próprio Claude. Placeholders {name} em url e label são preenchidos de grupos de captura nomeados no padrão. O exemplo a seguir renderiza um badge sempre que uma chave de problema como PROJ-1234 aparece na saída de turno. O grupo nomeado (?<key>...) captura a chave, e {key} a substitui na URL e label:
~/.claude/settings.json
Com isto configurado, quando PROJ-1234 aparece em um resultado de ferramenta ou na resposta do Claude, um chip PROJ-1234 aparece no rodapé ligando para https://issues.example.com/browse/PROJ-1234. As seguintes restrições se aplicam a cada entrada: Quando um turno é concluído, Claude Code corresponde cada regex pattern de entrada contra a saída de turno na thread principal, então uma regex lenta bloqueia a UI até terminar. Quantificadores aninhados como (a+)+$ podem levar exponencialmente tempo contra certas entradas e congelar a sessão, então mantenha cada pattern linear e evite aninhar + ou *. Badges de rodapé renderizam ao lado de uma linha de status personalizada quando uma está configurada; nenhuma substitui a outra. Use uma linha de status para uma linha acionada por script que calcula seu próprio conteúdo a partir de dados de sessão, e badges de rodapé para transformar IDs da conversa em links sem um script.

Configuração de hooks

Estas configurações controlam quais hooks são permitidos executar e o que hooks HTTP podem acessar. A configuração allowManagedHooksOnly pode ser configurada apenas em configurações gerenciadas. As listas de permissões de URL e variável de ambiente podem ser definidas em qualquer nível de configuração e se mesclam entre fontes. Comportamento quando allowManagedHooksOnly é true:
  • Hooks gerenciados e hooks SDK são carregados
  • Hooks de plugins força-habilitados em configurações gerenciadas enabledPlugins são carregados. Isto permite que administradores distribuam hooks verificados através de um marketplace de organização enquanto bloqueiam tudo mais. A confiança é concedida pelo ID completo plugin@marketplace, então um plugin com o mesmo nome de um marketplace diferente permanece bloqueado
  • Hooks de usuário, hooks de projeto e todos os outros hooks de plugin são bloqueados
Restringir URLs de hook HTTP: Limitar quais URLs hooks HTTP podem almejar. Suporta * como curinga para correspondência. Quando o array é definido, hooks HTTP almejando URLs não correspondentes são silenciosamente bloqueados. A correspondência de nome de host é insensível a maiúsculas e minúsculas e ignora um ponto FQDN à direita, correspondendo à semântica de DNS.
Restringir variáveis de ambiente de hook HTTP: Limitar quais nomes de variáveis de ambiente hooks HTTP podem interpolar em valores de cabeçalho. O allowedEnvVars efetivo de cada hook é a interseção de sua própria lista e esta configuração.

Calcular configurações gerenciadas com um auxiliar de política

A configuração policyHelper aponta para um executável que calcula configurações gerenciadas na inicialização, para que administradores possam derivar política da postura do dispositivo, identidade, ou um serviço remoto em vez de um arquivo estático. Configure-o a partir de MDM ou um arquivo managed-settings.json do sistema. O Claude Code ignora policyHelper quando aparece em qualquer outro escopo, incluindo configurações de usuário, configurações de projeto, a hive de registro HKCU, e configurações gerenciadas pelo servidor. A configuração aceita estas chaves: O auxiliar escreve um envelope JSON para stdout. Coloque as configurações sob uma chave managedSettings em vez de no nível superior, já que um objeto de configurações simples analisa com managedSettings indefinido e não aplica nada:
Quando o auxiliar emite managedSettings, esse objeto substitui as configurações gerenciadas baseadas em arquivo para a execução. Quando o auxiliar sai com código não-zero na inicialização, Claude Code imprime o erro e recusa iniciar, então um auxiliar que precisa de resiliência de interrupção deve servir a partir de seu próprio cache e sair com 0.

Precedência de configurações

Configurações se aplicam em ordem de precedência. De mais alta para mais baixa:
  1. Configurações gerenciadas (gerenciadas pelo servidor, políticas de nível MDM/SO, ou configurações gerenciadas)
    • Políticas implantadas por TI através de entrega de servidor, perfis de configuração MDM, políticas de registro, ou arquivos de configurações gerenciadas
    • Não podem ser substituídas por qualquer outro nível, incluindo argumentos de linha de comando
    • Dentro do nível gerenciado, apenas uma fonte é usada e as outras são ignoradas em vez de mescladas. Precedência, mais alta primeiro:
      • Saída policyHelper: quando configurada, esta é a única fonte gerenciada usada
      • Remota (configurações gerenciadas pelo servidor do claude.ai ou gateway de aplicativos Claude-entregues)
      • Políticas de nível MDM/SO
      • Baseada em arquivo (managed-settings.d/*.json e managed-settings.json, mescladas juntas)
      • Registro HKCU (apenas Windows)
    • Algumas chaves são exceções, honradas quando qualquer fonte gerenciada controlada por administrador as define em vez de apenas a fonte vencedora. A fonte de registro HKCU gravável pelo usuário é excluída. As chaves de exceção são:
      • as chaves de bloqueio de sandbox sandbox.network.allowManagedDomainsOnly e sandbox.filesystem.allowManagedReadPathsOnly, com suas listas de permissões associadas
      • allowAllClaudeAiMcps
      • os caminhos binários de sandbox sandbox.bwrapPath e sandbox.socatPath
      • forceRemoteSettingsRefresh
    • Hosts de incorporação como Claude Desktop podem fornecer política via opção SDK managedSettings. Por padrão isto é ignorado quando qualquer fonte gerenciada controlada por administrador está presente: configurações gerenciadas pelo servidor, uma política MDM ou SO, ou um arquivo de configurações gerenciadas. O fallback de registro HKCU gravável pelo usuário não conta como uma fonte gerenciada controlada por administrador. Administradores podem optar por definir parentSettingsBehavior como "merge". Os valores do incorporador são filtrados para que possam apertar a política gerenciada mas não afrouxá-la.
  2. Argumentos de linha de comando
    • Substituições temporárias para uma sessão específica. JSON passado via --settings <file-or-json> se mescla com configurações baseadas em arquivo usando as mesmas regras que as outras camadas: uma chave definida aqui substitui a mesma chave em configurações local, projeto, ou usuário, e omitir uma chave deixa o valor da camada inferior no lugar
  3. Configurações de projeto local (.claude/settings.local.json)
    • Configurações pessoais específicas do projeto
  4. Configurações de projeto compartilhadas (.claude/settings.json)
    • Configurações de projeto compartilhadas pela equipe no controle de origem
  5. Configurações de usuário (~/.claude/settings.json)
    • Configurações globais pessoais
Esta hierarquia garante que políticas organizacionais sejam sempre aplicadas enquanto ainda permite que equipes e indivíduos personalizem sua experiência. A mesma precedência se aplica se você executar Claude Code a partir da CLI, da extensão VS Code, ou de um IDE JetBrains. Por exemplo, se suas configurações de usuário definem permissions.defaultMode como acceptEdits e as configurações compartilhadas de um projeto definem como default, o valor do projeto se aplica. O exemplo abaixo cobre como configurações com valor de array como regras de permissão se combinam em vez disso.
Configurações de array se mesclam entre escopos. Quando a mesma configuração com valor de array (como sandbox.filesystem.allowWrite ou permissions.allow) aparece em múltiplos escopos, os arrays são concatenados e desduplicados, não substituídos. Isto significa que escopos de prioridade mais baixa podem adicionar entradas sem substituir aquelas definidas por escopos de prioridade mais alta, e vice-versa. Por exemplo, se configurações gerenciadas definem allowWrite como ["/opt/company-tools"] e um usuário adiciona ["~/.kube"], ambos os caminhos são incluídos na configuração final.Duas configurações de array não se mesclam desta forma:

Verificar configurações ativas

Execute /status dentro do Claude Code para ver quais fontes de configuração estão ativas. Dentro do menu, a aba Status inclui uma linha Setting sources que lista cada camada que Claude Code carregou para a sessão atual, como User settings ou Project local settings. Quando configurações gerenciadas estão em efeito, a entrada mostra o canal de entrega entre parênteses, por exemplo Enterprise managed settings (remote), (plist), (HKLM), (HKCU), ou (file). O canal remote cobre configurações gerenciadas pelo servidor do claude.ai e políticas gateway de aplicativos Claude-entregues. Uma camada aparece na lista apenas quando essa fonte é carregada com pelo menos uma chave, então uma lista vazia significa que nenhuma fonte de configuração foi encontrada. A linha Setting sources confirma quais fontes estão sendo lidas. Ela não mostra qual camada forneceu cada chave individual. A aba Config no mesmo diálogo é um editor para um conjunto fixo de toggles como tema e saída verbose, não uma visualização do conteúdo do seu settings.json. Se um arquivo de configuração contém erros, como JSON inválido ou um valor que falha na validação, /status lista os arquivos afetados. Execute claude doctor para ver os detalhes de cada erro.

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): Configurar permissões, variáveis de ambiente, e comportamento de ferramenta
  • Skills: Prompts personalizados que podem ser invocados com /skill-name ou carregados pelo Claude automaticamente
  • MCP servers: Estender Claude Code com ferramentas e integrações adicionais
  • Precedência: Configurações de nível mais alto (Managed) substituem as de nível mais baixo (User/Project)
  • Herança: Configurações são mescladas entre escopos; valores escalares de escopos de prioridade mais alta substituem, e arrays se concatenam, com duas exceções descritas na Nota de mesclagem de array

Prompt do sistema

O prompt do sistema interno do Claude Code não é publicado. Para adicionar instruções personalizadas, use arquivos CLAUDE.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ção permissions.deny no seu arquivo .claude/settings.json:
Isto substitui a configuração descontinuada ignorePatterns. Arquivos correspondentes a estes padrões são excluídos da descoberta de arquivo e resultados de busca, e operações de leitura nestes arquivos são negadas.

Configuração de subagent

O Claude Code suporta subagents de IA personalizados que podem ser configurados em níveis de usuário e projeto. Estes subagents são armazenados como arquivos Markdown com frontmatter YAML:
  • Subagents de usuário: ~/.claude/agents/, disponíveis em todos os seus projetos
  • Subagents de projeto: .claude/agents/, específicos ao seu projeto e compartilháveis com sua equipe
Arquivos de subagent definem assistentes de IA especializados com prompts personalizados e permissões de ferramenta. Saiba mais sobre criação e uso de subagents na documentação de subagents.

Configuração de plugin

Claude Code suporta um sistema de plugin que permite estender funcionalidade com skills, agents, hooks, e MCP servers. 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 plugin em settings.json:

enabledPlugins

Controla quais plugins estão habilitados. Formato: "plugin-name@marketplace-name": true/false. Um plugin sem entrada em nenhum escopo volta ao seu valor defaultEnabled. Escopos:
  • Configurações de usuário (~/.claude/settings.json): Preferências pessoais de plugin
  • Configurações de projeto (.claude/settings.json): Plugins específicos do projeto compartilhados com equipe
  • Configurações locais (.claude/settings.local.json): Substituições por máquina, gitignored quando Claude Code as cria
  • Configurações gerenciadas (managed-settings.json): Substituições de política em toda a organização que bloqueiam instalação em todos os escopos e ocultam o plugin do marketplace
As configurações de projeto têm precedência sobre as configurações de usuário, portanto, definir um plugin como false em ~/.claude/settings.json não desabilita um plugin que o .claude/settings.json do projeto habilita. Para optar por não usar um plugin habilitado pelo projeto em sua máquina, defina-o como false em .claude/settings.local.json em vez disso.Plugins forçadamente habilitados por configurações gerenciadas não podem ser desabilitados desta forma, pois as configurações gerenciadas substituem as configurações locais.Habilitar um plugin de uma fonte externa como um repositório GitHub ou pacote npm em um .claude/settings.json de projeto não o instala para outras pessoas. A partir de Claude Code v2.1.195, cada caminho que carrega plugins pede a cada usuário para instalar e confiar no plugin antes de executá-lo.
Exemplo:

pluginConfigs

Armazena os valores de opção não sensíveis que o prompt userConfig de um plugin coleta, indexados por ID de plugin. Claude Code escreve esta chave em configurações de usuário quando você preenche o diálogo de configuração do plugin, portanto você não precisa editá-la manualmente. Opções sensíveis são armazenadas no Keychain do macOS em vez disso, ou em ~/.claude/.credentials.json em plataformas sem um keychain suportado. Este exemplo armazena uma opção para um plugin instalado do marketplace acme-tools:
pluginConfigs é lido de configurações de usuário, a flag --settings, e configurações gerenciadas apenas. Entradas em um .claude/settings.json de projeto ou .claude/settings.local.json são ignoradas, porque estes valores são substituídos em hook de plugin, MCP, e configurações LSP, e um repositório clonado não deve ser capaz de fornecê-los. Antes de v2.1.207, configurações de projeto e local também eram lidas.

extraKnownMarketplaces

Define marketplaces adicionais que devem ser disponibilizados para o repositório. Tipicamente 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:
  1. Membros da equipe são solicitados a instalar o marketplace quando confiam na pasta
  2. Membros da equipe são então solicitados a instalar plugins daquele marketplace
  3. Usuários podem pular marketplaces ou plugins indesejados (armazenados em configurações de usuário)
  4. Instalação respeita limites de confiança e requer consentimento explícito
Exemplo:
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)
  • hostPattern: Padrão regex para corresponder hosts de marketplace (usa hostPattern)
  • settings: marketplace inline declarado diretamente em settings.json sem um repositório hospedado separado (usa name e plugins)
O tipo de fonte git funciona com qualquer serviço de hospedagem git, incluindo GitLab auto-hospedado e Bitbucket. Claude Code clona o repositório com a mesma autenticação que git clone usaria naquela máquina: assistentes de credencial configurados ou chaves SSH. Um token de provedor como GITHUB_TOKEN tem efeito apenas através de um assistente de credencial que o lê. Veja Repositórios privados para detalhes de configuração. Para fontes github e git, defina "skipLfs": true dentro do objeto source (junto com repo ou url) para pular downloads de Git LFS quando Claude Code clona ou atualiza o repositório de marketplace. Arquivos de ponteiro LFS permanecem como ponteiros em vez de baixar seu conteúdo. Use isto quando o repositório contém objetos LFS grandes não relacionados ao conteúdo de plugin. Requer Claude Code v2.1.153 ou posterior. Cada entrada de marketplace também aceita um Boolean autoUpdate opcional. Defina "autoUpdate": true junto com source para fazer Claude Code atualizar aquele marketplace e atualizar seus plugins instalados em segundo plano após a inicialização. Quando omitido, marketplaces oficiais da Anthropic padrão para true e todos os outros marketplaces padrão para false. Veja Configurar auto-atualizações. Use source: 'settings' para declarar um pequeno conjunto de plugins inline sem configurar um repositório de marketplace hospedado. Plugins listados aqui devem referenciar fontes externas como GitHub ou npm. Você ainda precisa habilitar cada plugin separadamente em enabledPlugins.

strictKnownMarketplaces

Apenas configurações gerenciadas: Controla quais marketplaces de plugin os usuários podem adicionar e instalar plugins. Esta configuração pode ser configurada apenas em configurações gerenciadas 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
Características principais:
  • Apenas disponível em configurações gerenciadas (managed-settings.json)
  • Não pode ser substituída por configurações de usuário ou projeto (precedência mais alta)
  • Aplicada antes de operações de rede e sistema de arquivos, portanto fontes bloqueadas nunca executam
  • Usa correspondência exata para especificações de fonte (incluindo ref, path para fontes git), exceto hostPattern e pathPattern, que usam correspondência regex
Comportamento de lista de permissões:
  • undefined (padrão): sem restrições, portanto usuários podem adicionar qualquer marketplace
  • Array vazio []: bloqueio completo, portanto usuários não podem adicionar novos marketplaces
  • Lista de fontes: usuários podem apenas adicionar marketplaces que correspondem exatamente
Todos os tipos de fonte suportados: A lista de permissões suporta múltiplos tipos de fonte de marketplace. A maioria das fontes usa correspondência exata, enquanto hostPattern e pathPattern usam correspondência regex contra o host do marketplace e caminho do sistema de arquivos respectivamente.
  1. Repositórios GitHub:
Campos: repo (obrigatório), ref (opcional: branch ou tag), path (opcional: subdiretório)
  1. Repositórios Git:
Campos: url (obrigatório), ref (opcional: branch ou tag), path (opcional: subdiretório)
  1. Marketplaces baseados em URL:
Campos: 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 em vez disso. Veja Troubleshooting para detalhes.
  1. Pacotes NPM:
Campos: package (obrigatório, suporta pacotes com escopo)
  1. Caminhos de arquivo:
Campos: path (obrigatório: caminho absoluto para arquivo marketplace.json)
  1. Caminhos de diretório:
Campos: path (obrigatório: caminho absoluto para diretório contendo .claude-plugin/marketplace.json)
  1. Correspondência de padrão de host:
Campos: hostPattern (obrigatório: padrão regex para corresponder contra o host do marketplace) Use correspondência de padrão de host quando você deseja permitir todos os marketplaces de um host específico sem enumerar cada repositório individualmente. Isto é útil para organizações com GitHub Enterprise interno ou servidores GitLab onde desenvolvedores criam seus próprios marketplaces. Extração de host por tipo de fonte:
  • github: sempre corresponde contra github.com
  • git: extrai nome de host da URL (suporta formatos HTTPS e SSH)
  • url: extrai nome de host da URL
  • npm, file, directory: não suportado para correspondência de padrão de host
  1. Correspondência de padrão de caminho:
Campos: pathPattern (obrigatório: padrão regex correspondido contra o campo path de fontes file e directory) Use correspondência de padrão de caminho para permitir marketplaces baseados em sistema de arquivos junto com restrições hostPattern para fontes de rede. Defina ".*" para permitir todos os caminhos locais, ou um padrão mais estreito para restringir a diretórios específicos. Exemplos de configuração: Exemplo: permitir apenas marketplaces específicos:
Exemplo: desabilitar todas as adições de marketplace:
Exemplo: permitir todos os marketplaces de um servidor git interno:
Requisitos de correspondência exata: Fontes de marketplace devem corresponder exatamente para que a adição de um usuário seja permitida. Para fontes baseadas em git (github e git), isto inclui todos os campos opcionais:
  • O repo ou url deve corresponder exatamente
  • O campo ref deve corresponder exatamente (ou ambos serem indefinidos)
  • O campo path deve corresponder exatamente (ou ambos serem indefinidos)
Exemplos de fontes que não correspondem:
Comparação com extraKnownMarketplaces: Diferença de formato: strictKnownMarketplaces usa objetos de fonte diretos:
extraKnownMarketplaces requer marketplaces nomeados:
Usando ambos juntos: strictKnownMarketplaces é um portão de política: controla o que os usuários podem adicionar mas não registra nenhum marketplace. Para restringir e pré-registrar um marketplace para todos os usuários, defina ambos em managed-settings.json:
Com apenas strictKnownMarketplaces definido, usuários ainda podem adicionar o marketplace permitido manualmente via /plugin marketplace add, mas não está disponível automaticamente. Notas importantes:
  • 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 é aplicada em adição de marketplace e em instalação, atualização, atualização e auto-atualização de plugin. Um marketplace adicionado antes da política ser definida não pode ser usado para instalar ou atualizar plugins uma vez que sua fonte não corresponde mais à lista de permissões
  • Configurações gerenciadas têm a precedência mais alta e não podem ser substituídas
Veja Restrições de marketplace gerenciado para documentação voltada para o usuário.

strictPluginOnlyCustomization

Apenas configurações gerenciadas: bloqueia skills, agents, hooks, e MCP servers de fontes de usuário e projeto, para que possam vir apenas de plugins ou configurações gerenciadas. Combine com strictKnownMarketplaces para controlar a cadeia de suprimento de personalização completa: a lista de permissões de marketplace controla quais plugins os usuários podem instalar, e esta configuração bloqueia tudo que não vem de um plugin ou de configurações gerenciadas. O valor é true para bloquear todas as quatro superfícies, ou um array nomeando as superfícies a bloquear:
Para cada superfície bloqueada, Claude Code pula fontes de nível de usuário e projeto e carrega apenas fontes fornecidas por plugin e gerenciadas: Nomes de superfície que uma versão de Claude Code não reconhece são ignorados em vez de falhar no arquivo de configurações, portanto você pode adicionar novos nomes de superfície antes que todos os clientes tenham atualizado.

Gerenciando plugins

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

Variáveis de ambiente

Variáveis de ambiente permitem controlar o comportamento do Claude Code sem editar arquivos de configuração. Qualquer variável também pode ser configurada em settings.json sob a chave env para aplicá-la a cada sessão ou implantá-la para sua equipe. Veja a referência de variáveis de ambiente para a lista completa.

Ferramentas disponíveis para Claude

O Claude Code tem acesso a um conjunto de ferramentas para leitura, edição, busca, execução de comandos, e orquestração de subagents. Nomes de ferramenta são as strings exatas que você usa em regras de permissão e correspondedores de hook. Veja a referência de ferramentas para a lista completa e detalhes de comportamento da ferramenta Bash.

Veja também