
Bilgisayarınızda Claude Code (Anthropic’in resmi komut satırı aracı) kullanıyorsanız, çalıştığınız dizinlerde zaman zaman gizli bir “.claude” adlı klasörle karşılaşabilirsiniz. Bu yazıda bu klasörün ve içindeki “settings.json” dosyasının ne işe yaradığını, neden kullanıldığını basit bir dille anlatıyorum.
Örnek dosya yolu: C:\Users\kutayutku\OneDrive\Desktop.claude\settings.json
1) .claude Klasörü Nedir?
.claude klasörü, Claude Code aracının belirli bir proje veya dizin için ayarlarını, izinlerini ve tercihlerini sakladığı özel bir yapılandırma klasörüdür. Tıpkı bir projede “.git” klasörünün Git’e özel bilgileri tutması gibi, “.claude” klasörü de o dizine özgü Claude Code ayarlarını tutar.
Bu klasör başında nokta olduğu için “gizli klasör” olarak davranır; normal dosya gezgininde varsayılan olarak görünmez, ama Claude Code onu otomatik olarak tanır ve okur.
.claude klasörünün içinde genellikle şunlar bulunabilir:
- settings.json (ve varsa settings.local.json): İzin ve davranış ayarları
- agents/ : Özel alt-ajan (subagent) tanımları
- skills/ : Proje veya kullanıcıya özel yetenek (skill) tanımları
- diğer proje bazlı yapılandırma dosyaları
2) settings.json Dosyası Ne İşe Yarar?
settings.json, Claude Code’un o dizinde nasıl davranacağını belirleyen merkezi yapılandırma dosyasıdır. JSON formatında yazılır ve temel olarak şu soruların cevabını verir:
- Claude hangi araçları (Bash, Read, Edit, Write, WebFetch vb.) izin istemeden kullanabilir?
- Hangi komutlar kesinlikle yasaklanmalı (örneğin sistem için tehlikeli olanlar)?
- İzin isteme modu ne olmalı (her seferinde sor, otomatik onayla, vb.)?
- Arayüz teması gibi genel tercihler ne olmalı?
Masaüstümüzdeki örnek dosyanın içeriği şöyle:
{
"permissions": {
"allow": [
"Bash",
"Read",
"Edit",
"Write",
"WebFetch"
],
"deny": [
"Bash(rm -rf /)",
"Bash(rm -rf ~)",
"Bash(rm -rf /*)",
"Bash(sudo rm *)",
"Bash(dd if=)", "Bash(mkfs)"
],
"defaultMode": "bypassPermissions",
"autoAllowBashIfSandboxed": false
},
"theme": "auto",
"skipDangerousModePermissionPrompt": true
}
Bu ayarları satır satır açıklayalım:
- permissions.allow: Claude’un kullanıcıya sormadan doğrudan kullanabileceği araçların listesi. Burada Bash (terminal komutları), Read (dosya okuma), Edit (dosya düzenleme), Write (dosya yazma) ve WebFetch (web’den veri çekme) izinli.
- permissions.deny: Her koşulda engellenen, özellikle tehlikeli ve geri döndürülemez komutlar. Örneğin “rm -rf /” (tüm sistemi silme), “dd if=…” (disk üzerine ham veri yazma) veya “mkfs” (disk biçimlendirme) gibi komutlar burada listelenerek, diğer izinler ne olursa olsun bu komutların çalıştırılması engellenir. Bu, bir güvenlik ağı (safety net) görevi görür.
- defaultMode: “bypassPermissions” değeri, Claude’un varsayılan olarak izin isteme adımlarını atlayarak daha otonom çalışacağı anlamına gelir. Bu, hızlı çalışmak isteyen ama deny listesindeki güvenlik sınırlarına güvenen kullanıcılar için tercih edilir.
- autoAllowBashIfSandboxed: false olduğunda, sandbox (izole/korumalı ortam) içinde çalışılsa bile Bash komutlarının otomatik olarak onaylanmayacağını belirtir; yani sandbox varlığı tek başına yeterli görülmez.
- theme: “auto” değeri, arayüz temasının işletim sistemi/terminal ayarına göre otomatik olarak açık veya koyu mod seçeceğini belirtir.
- skipDangerousModePermissionPrompt: true olduğunda, “tehlikeli mod” hakkında normalde çıkan ek onay uyarısı atlanır.
3) Neden Bu Dosya Kullanılır?
settings.json dosyasının temel amacı, Claude Code’un davranışını kullanıcının güven düzeyine ve iş akışına göre özelleştirmektir:
- Güvenlik: deny listesi sayesinde, geniş izinler verilse bile geri dönüşü olmayan yıkıcı komutlar (disk silme, formatlama vb.) her zaman engellenir.
- Verimlilik: allow listesi ve bypassPermissions modu sayesinde, güvenilen araçlar için her seferinde manuel onay istenmez; bu da tekrarlayan izin isteklerini azaltarak iş akışını hızlandırır.
- Tutarlılık: Ayarlar dizine (projeye) özel olarak saklandığından, o proje üzerinde çalışan herkes (veya aynı kullanıcı farklı zamanlarda) aynı davranış kurallarıyla çalışır.
- Özelleştirme: Tema, izin modları gibi tercihler kullanıcıya göre ayarlanabilir.
4) Özet
.claude klasörü, bir dizine özgü Claude Code yapılandırmalarının tutulduğu gizli bir klasördür; settings.json ise bu klasör içinde Claude Code’un hangi işlemleri serbestçe yapabileceğini, hangi tehlikeli komutların kesinlikle engelleneceğini ve genel davranış/tercih ayarlarını tanımlayan dosyadır. Bu sayede kullanıcı hem güvenlik hem de verimlilik arasında kendi dengesini kurabilir.
Dosya konumu (bu bilgisayarda örnek): C:\Users\kutayutku\OneDrive\Desktop.claude\settings.json
Klasör konumu: C:\Users\kutayutku\OneDrive\Desktop.claude