Görünüm
Metin boyutu
Yazı tipi
Satır aralığı
5
Bölüm 5 · 3 dk

Ekibin paylaşabileceği ayarlar

Claude Code ayarları birkaç kapsamdan okuyup sabit bir sıraya göre birleştiriyor. Hangi dosyanın kazandığını ve neyin git'e girdiğini bilmek, ekip kurallarının tek kişinin alışkanlığına dönüşmesini önlüyor.


Dört dosya, bir de sizin olmayan

Claude Code'da dört ayar kapsamı var:

  • User: ~/.claude/settings.json, bütün projelerde sizin.
  • Shared project: .claude/settings.json, repoya commit edilir.
  • Project local: .claude/settings.local.json, yalnızca bu projede sizin.
  • Managed: bir kurumun dosya, MDM ya da sunucu yönetimli ayarlarla koyduğu.

Beşinci bir dosya olan ~/.claude.json'u siz düzenlemiyorsunuz. Onu Claude kendisi yazıyor: hesap, MCP ayarları, güven durumu.

Ayrımın bütün amacı bu. Ekip kuralı, ekibin paylaştığı bir dosyada durur. Kişisel tercih, yalnızca sizde olan bir dosyada.

Kim kazanır

Kapsamlar çeliştiğinde sıra yüksekten düşüğe şöyle: managed, komut satırı (--settings), project local, shared project, user.

Managed ayarlar
Komut satırı: --settings
Project local
Shared project
User

"En yüksek kazanır" kuralının istisnası dizilerdir. permissions.allow gibi listeler kapsamlar arasında birleşir; yani user düzeyinde eklenen bir kural ile projede eklenen bir kural ikisi de geçerli olur.

Model küçük bir tuzak örneği. ANTHROPIC_MODEL, herhangi bir dosyadaki model ayarını ezer; ANTHROPIC_DEFAULT_MODEL ise yalnızca hiçbir dosya model belirlemediyse devreye girer. Ayrıca bazı anahtarlar, managed ayarlara rağmen alt kapsamdaki daha sıkı değeri dikkate alır, örneğin disableClaudeAiConnectors: true ya da permissions.blockReadsOutsideWorkingDirectories: true. Daha sıkı olan değer kazanır.

Kendinizi deneyin

User ayarı bir komuta izin veriyor, proje ayarı başka bir komuta izin veriyor. Ne geçerli olur?

Git'e ne girer

Ekibin üzerinde anlaştığı kurallar için .claude/settings.json commit edin: sırlara deny kuralları, herkesin çalıştırdığı komutlar için allowlist, ortak hook'lar. Kişisel geçersiz kılmalar için .claude/settings.local.json kullanın.

İşin bir kısmını Claude kendisi yapıyor. settings.local.json dosyasını ilk yazdığında onu global git exclude listenize ekliyor. Git reposunda yerel dosya reponun kökünde durur (worktree'lerde ana checkout'un kökünde).

Yeni bir ekip arkadaşı için önemli bir güven ayrıntısı var. Commit edilmiş deny kuralları hemen geçerli olur. Commit edilmiş allow kuralları, her ekip arkadaşı klasör güven penceresini kabul edene kadar bekler.

"Yes, and don't ask again" bir allow kuralını .claude/settings.local.json dosyasına yazar, yani kişisel onaylar kişisel kalır. Orada yazan bir allow, bir proje ya da managed dosyasından gelen ask kuralını geçemez.

Neyin yüklendiğine bakmak

Ayar dosyaları katı JSON. Bir yorum ya da sondaki virgül, başlangıçta Settings Error penceresi açar. "$schema": "https://json.schemastore.org/claude-code-settings.json" ekleyin, editörünüz yazarken dosyayı doğrulasın.

$ claude> /status✻ Hangi ayar kaynaklarının yüklendiğini gösterir> /config model=sonnet✻ Değeri doğrudan ayarlar$ claude doctor✻ Reddedilen girdileri listeler# Çoğu değişiklik anında geçerli olur: izinler, hook'lar ve apiKeyHelper yeniden başlatma istemez.

Ekipte iki kişinin davranışı farklıysa önce /status çıktılarını, sonra claude doctor'ı karşılaştırın.

Taşıma ve kurtarma

CLAUDE_CONFIG_DIR ayarları, geçmişi ve plugin'leri başka bir yere taşır. Bozulan bir ~/.claude.json dosyası ~/.claude/backups/ altına yedeklenir ve en son beş .claude.json.backup.<timestamp> kopyası geri yüklenebilir. /model modeli varsayılanınız olarak kaydeder; seçicide s'e basmak kaydetmeden geçiş yapar.

Kendinizi deneyin

Bir projede komutları onaylama tercihlerinizi hangi dosya tutmalı?

Devamını okuyun