SpyBara
Go Premium

settings-example.md 2026-09-17 05:00 UTC to 2026-09-18 23:58 UTC

This page contains 1 addition and 1 deletion.

2026
Sat 12 03:02 Fri 18 23:58 Tue 22 23:59 Fri 25 23:58

Arquivos de configuração de exemplo

Arquivos settings.json realistas para um desenvolvedor, uma equipe e uma organização: copie um, mantenha as chaves que deseja e altere os valores.

Esta página contém três arquivos settings.json de exemplo, um para cada lugar onde você salva uma configuração:

  • Um ~/.claude/settings.json de desenvolvedor
  • Um .claude/settings.json de equipe, confirmado no repositório
  • Um managed-settings.json de organização

Cada um é um arquivo plausível para esse leitor, para que você possa ver a forma e copiar as partes que deseja. Nenhum deles é uma linha de base recomendada. Cada valor vem da entrada da chave na referência de configurações, que tem seu tipo, padrão e onde pode ser definido.

Cada exemplo tem duas abas. Copyable settings file é o arquivo como você o salvaria. What each key does é o mesmo arquivo com um comentário acima de cada chave; Claude Code não aceita comentários em um arquivo de configurações, então copie da primeira aba.

Suas próprias configurações

As configurações pessoais de um desenvolvedor. Ele escolhe um modelo e esforço, ajusta o terminal e pré-aprova um comando somente leitura e uma leitura de arquivo. Tudo não listado mantém seu padrão. Um arquivo como este vai em ~/.claude/settings.json, onde se aplica a cada projeto que você abre.

Salve isto como ~/.claude/settings.json. É JSON válido sem comentários, então você pode colar como está e deletar as chaves que não deseja.

{
"model": "claude-sonnet-5",
"effortLevel": "xhigh",
"editorMode": "vim",
"theme": "light-daltonized",
"statusLine": {
"type": "command",
"command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
"padding": 2
},
"spinnerTipsEnabled": false,
"preferredNotifChannel": "terminal_bell",
"permissions": {
"allow": [
"Bash(git diff *)",
"Read(~/.zshrc)"
]
},
"autoUpdatesChannel": "stable",
"cleanupPeriodDays": 20
}

Configurações compartilhadas de uma equipe

As configurações compartilhadas de uma equipe, confirmadas no repositório para que todos que o clonem obtenham as mesmas permissões, hooks, telemetria e marketplace de plugins. Salve um arquivo como este em .claude/settings.json no topo do repositório. O que você precisa saber antes de confirmar um:

  • Sessões em nuvem também o leem. Uma sessão em nuvem começa a partir de um clone do repositório, então o arquivo confirmado se aplica lá também.
  • Regras de permissão aguardam confiança. Regras de permissão e entradas extraKnownMarketplaces entram em vigor depois que cada pessoa confia nesta pasta em si, não apenas em uma pasta pai; regras de negação e pergunta se aplicam em cada sessão, confiável ou não.
  • O hook é um script no repositório. O hook deste arquivo executa .claude/hooks/block-rm.sh; How a hook resolves percorre como escrevê-lo.
  • Regras correspondem ao comando e caminho conforme escrito. Bash(git push *) não corresponde a git -C . push. Read(./.env) por si só impede as ferramentas de arquivo e comandos que nomeiam o arquivo, como cat .env, mas não grep -r executado sobre o diretório; o bloco sandbox neste arquivo fecha essa lacuna, porque o sandbox adiciona seus caminhos de negação Read ao que todo comando em sandbox não pode ler.

Salve isto como .claude/settings.json no topo do repositório e confirme. É JSON válido sem comentários, então você pode colar como está e deletar as chaves que não deseja.

{
"permissions": {
"allow": [
"Bash(npm run *)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.example.com:4317"
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"
}
]
}
]
},
"extraKnownMarketplaces": {
"acme-tools": {
"source": {
"source": "github",
"repo": "acme-corp/claude-plugins"
}
}
},
"enabledPlugins": {
"code-formatter@acme-tools": true
},
"sandbox": {
"enabled": true,
"filesystem": {
"allowWrite": [
"/tmp/build"
]
},
"network": {
"allowedDomains": [
"registry.npmjs.org",
"*.example.com"
]
}
},
"plansDirectory": "./plans"
}

Configurações gerenciadas de uma organização

Um arquivo managed-settings.json que mostra a forma das chaves gerenciadas, com um valor plausível para cada uma. Não é uma política recomendada: escolha as chaves que correspondem aos seus próprios requisitos e defina seus próprios valores. O exemplo define estas chaves:

  • forceLoginMethod e forceLoginOrgUUID fixam o método de login e a organização
  • availableModels e enforceAvailableModels restringem quais modelos as sessões podem usar
  • permissions.deny bloqueia duas leituras de arquivo e comandos curl conforme Claude os escreve, e disableBypassPermissionsMode remove o modo de permissão de bypass
  • allowManagedPermissionRulesOnly e allowManagedMcpServersOnly fazem as listas de permissão gerenciadas e MCP as únicas que se aplicam
  • allowedMcpServers fixa o servidor MCP pela URL
  • strictKnownMarketplaces permite um marketplace de plugins
  • sandbox coloca comandos em sandbox com uma lista de permissão de rede fixa e sem retry não sandboxed
  • requiredMinimumVersion define uma versão mínima de Claude Code
  • cleanupPeriodDays encurta a retenção de transcrições de sessão e outros dados locais para sete dias
  • companyAnnouncements mostra uma mensagem na inicialização

Os administradores implantam um arquivo como este como managed-settings.json, ou o mesmo JSON através de MDM ou configurações gerenciadas pelo servidor. Um arquivo implantado se aplica a cada máquina ou conta que alcança. Para dar a um grupo valores diferentes, implante um arquivo ou perfil diferente para esse grupo, já que as configurações gerenciadas pelo servidor não suportam política por grupo ainda.

Implante isto como managed-settings.json, ou o mesmo JSON através de MDM ou do console claude.ai. É JSON válido sem comentários; substitua o UUID da organização de exemplo, URL do servidor e marketplace pelos seus próprios e delete as chaves que não deseja.

{
"forceLoginMethod": "claudeai",
"forceLoginOrgUUID": [
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"availableModels": [
"opus",
"sonnet"
],
"enforceAvailableModels": true,
"permissions": {
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true,
"allowedMcpServers": [
{
"serverUrl": "https://api.githubcopilot.com/*"
}
],
"allowManagedMcpServersOnly": true,
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "acme-corp/approved-plugins"
}
],
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false,
"network": {
"allowedDomains": [
"registry.npmjs.org",
"github.com"
],
"allowManagedDomainsOnly": true
}
},
"requiredMinimumVersion": "2.1.150",
"cleanupPeriodDays": 7,
"companyAnnouncements": [
"Welcome to Acme Corp! Review our code guidelines at docs.example.com"
]
}