settings.json — bilinen ve undocumented alanlar
permissions, env, hooks, statusLine, model defaults, autoApprove pattern'leri.
.claude/settings.json repo’ya özel davranışı kontrol eder. ~/.claude/settings.json kullanıcı seviyesinde override.
En çok kullandığın alanlar
{
"permissions": {
"allow": ["Bash(npm test:*)", "Bash(git status:*)"],
"deny": ["Bash(rm -rf:*)"]
},
"env": {
"DATABASE_URL": "postgres://..."
},
"model": "claude-sonnet-4-6",
"fastMode": false,
"statusLine": {
"type": "command",
"command": "git rev-parse --abbrev-ref HEAD"
},
"hooks": {
"PostToolUse": [
{ "matcher": "Edit|Write", "hooks": [{ "type": "command", "command": "pnpm lint" }] }
]
}
}
Undocumented / az bilinen alanlar
| Alan | Ne yapar |
|---|---|
disabledTools | Belirli tool’ları kapat |
additionalDirectories | Sandbox’a ekstra dizin ekle (read-only veya yazılabilir) |
apiKeyHelper | Token üretimi için custom script |
cleanupPeriodDays | Eski oturum dosyalarını sil |
forceLoginMethod | claudeai veya console |
suggestedPrompts | Yeni session’da öneriler |
defaultMode | ”default” veya “plan” |
outputStyle | UI çıktı şablonu |
Permission allowlist pattern’leri
Bash(<command>:*) formatı:
Bash(npm:*)→ npm ile başlayan her komutBash(npm test:*)→ sadecenpm testve alt komutlarıBash(*)→ her şey (önerilmez)Read(/path/**)→ glob
Settings dosyaları hiyerarşisi
~/.claude/settings.json(kullanıcı, tüm projeler).claude/settings.json(repo, ekibe paylaşılan).claude/settings.local.json(kişisel override, gitignore’da)
Aşağı doğru ezer.
Sıradaki
Hooks giriş — settings.json’da bahsi geçen hook’ları detaylı göreceğiz.