.claude/settings.json
{
"sandbox": {
"enabled": true,
"network": {
"allowUnixSockets": ["/var/run/docker.sock"],
"allowedDomains": ["registry.npmjs.org", "github.com"]
}
},
"permissions": {
"defaultMode": "acceptEdits",
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Bash(git push *)"
]
}
}
Modlar
manual her araç çağrısında sorar (varsayılan)
acceptEdits dosya düzenlemelerini sorar sormaz uygular, komutlar sorulur
auto bir sınıflandırıcı senin yerine değerlendirir
plan hiçbir şey değiştirmez, yalnızca plan üretir
Sandbox ne yapar
- Komutlar izole bir dosya sistemi görünümünde çalışır: çalışma dizini
dışına yazamaz
- Ağ varsayılan olarak kapalıdır; yalnızca izin verdiğin alan adları açılır
- İzin sorusu çıkmaz çünkü komutun zararı sınırlıdır
Ne zaman kullanılır
- Tanımadığın bir depoda çalışırken
- Uzun otomasyonlarda (onay için başında bekleyemezsin)
- CI ortamında
Ne zaman yetmez
Sandbox, sızdırılan sırrı ya da yanlış API çağrısını engellemez;
yalnızca dosya sistemi ve ağ erişimini sınırlar. Gizli değerler için
deny kuralı ve hook gerekir.
Uyarı
--dangerously-skip-permissions sandbox DEĞİLDİR: hiçbir kısıt koymadan
her şeyi çalıştırır. Yalnızca atılabilir bir konteynerde kullan.