Claude Code, bir dosyayı düzenlemeden, shell komutu çalıştırmadan veya ağ isteği yapmadan önce durup sizden onay ister. İzin modları (permission modes), bu onayın ne sıklıkta bekleneceğini kontrol eder. Seçtiğiniz mod, bir oturumun akışını şekillendirir: Manuel mod her eylemi tek tek incelemenizi sağlarken, daha gevşek modlar Claude'un kesintisiz uzun süreler çalışmasına ve bittiğinde rapor vermesine izin verir. Hassas işlerde daha fazla denetim, güvendiğiniz yönlerde ise daha az kesinti için uygun modu seçin.
Mevcut modlar (Available modes)
Her mod, kullanım kolaylığı ve denetim arasında farklı bir denge kurar. Aşağıdaki tablo, her modda Claude'un izin istemeden neler yapabileceğini gösterir.
| Mod | İzin istemeden çalışanlar | En iyi kullanım alanı |
|---|---|---|
default (Manuel) |
Yalnızca okuma | Başlangıç, hassas işler |
acceptEdits |
Okuma, dosya düzenleme ve yaygın dosya sistemi komutları (mkdir, touch, mv, cp vb.) |
İncelediğiniz kod üzerinde yineleme yapmak |
plan |
Okuma ve sınıflandırıcı (classifier) tarafından onaylanan komutlar (auto mode mevcut olduğunda) | Değişiklik yapmadan önce kod tabanını keşfetmek |
auto |
Arka plan güvenlik kontrolleriyle her şey | Uzun görevler, komut yorgunluğunu azaltmak |
dontAsk |
Yalnızca önceden onaylanmış araçlar | Kilitli CI ve script'ler |
bypassPermissions |
Her şey | Yalnızca izole edilmiş konteynerler ve VM'ler |
Not: Her eylemi inceleyen mod, CLI'da, claude --help çıktısında, VS Code ve JetBrains eklentilerinde ve masaüstü uygulamasında Manual olarak adlandırılır. Yapılandırma değeri default'dur. CLI, değer girdiğiniz yerde manual takma adını kabul eder (örn. claude --permission-mode manual veya "defaultMode": "manual"). Manual etiketi ve manual takma adı, Claude Code v2.1.200 veya sonrasını gerektirir.
Korunan yollara (protected paths) yazma işlemleri, bypassPermissions modu ve bypass permissions mevcut olan planlama oturumları dışında asla otomatik olarak onaylanmaz. Bu, depo durumunu ve Claude'un kendi yapılandırmasını yanlışlıkla bozulmaya karşı korur.
Modlar temel seviyeyi belirler. Belirli araçları önceden onaylamak veya engellemek için üzerine izin kuralları (permission rules) ekleyin. Bu kontroller bypassPermissions dahil her modda geçerlidir: deny kuralları, açık ask kuralları, organizasyon ask ayarı ve requiresUserInteraction işareti. bypassPermissions modunda allow kurallarının hiçbir etkisi yoktur çünkü diğer her şey zaten onaylanmıştır.
İzin modlarını değiştirmek (Switch permission modes)
Oturum sırasında, başlangıçta veya kalıcı bir varsayılan olarak mod değiştirebilirsiniz. Mod, Claude'a sohbet içinde sorarak değil, bu kontroller aracılığıyla ayarlanır.
CLI
- Oturum sırasında:
Shift+Tabtuşlarına basarakdefault→acceptEdits→planarasında geçiş yapın. Durum çubuğu aktif modu⏸ plan mode on,⏵⏵ accept edits on,⏵⏵ auto mode on,⏵⏵ don't ask onveya⏵⏵ bypass permissions onolarak gösterir. Manuel mod (döngüdekidefault), gri bir⏸ manual mode onrozeti gösterir. - Başlangıçta: Modu bir bayrak olarak iletin:
claude --permission-mode plan - Varsayılan olarak:
~/.claude/settings.jsongibi bir ayar dosyasındadefaultModedeğerini ayarlayın:{ "permissions": { "defaultMode": "acceptEdits" } }
VS Code
- Oturum sırasında: İstem kutusunun altındaki mod göstergesine tıklayın.
- Varsayılan olarak: VS Code ayarlarında
claudeCode.initialPermissionModedeğerini ayarlayın.
JetBrains
JetBrains eklentisi Claude Code'u IDE terminalinde çalıştırır, bu nedenle mod değiştirme CLI ile aynıdır: Shift+Tab ile geçiş yapın veya başlatırken --permission-mode iletin.
Masaüstü (Desktop)
- Oturum sırasında: Gönder düğmesinin yanındaki mod seçiciyi kullanın.
- Varsayılan olarak:
settings.jsondosyasındadefaultModedeğerini ayarlayın. Masaüstü uygulaması, CLI ile aynı ayar dosyalarını okur ve modu yeni yerel oturumlara uygular. Mod seçicide seçilen bir mod, klasör başına hatırlanır ve o klasör içindefaultModedeğerini geçersiz kılar.Planbir istisnadır: onu seçmek yalnızca geçerli oturum için geçerlidir.
Web ve Mobil
claude.ai/code veya mobil uygulamadaki istem kutusunun yanındaki mod açılır menüsünü kullanın. Hangi modların göründüğü, oturumun nerede çalıştığına bağlıdır:
- Web'deki Claude Code (Cloud oturumları): Accept edits, Plan ve Auto. Auto modu yalnızca kuruluşunuz izin verdiğinde ve seçilen model desteklediğinde görünür.
- Uzaktan Kontrol (Remote Control) oturumları: Manual, Accept edits ve Plan. Auto veya Bypass permissions seçilemez.
acceptEdits modu
acceptEdits modu, Claude'un çalışma dizininizdeki dosyaları sormadan oluşturmasına ve düzenlemesine izin verir. Durum çubuğu ⏵⏵ accept edits on gösterir. Dosya düzenlemelerine ek olarak, yaygın dosya sistemi Bash komutlarını da otomatik olarak onaylar: mkdir, touch, rm, rmdir, mv, cp ve sed. Bu komutlar, LANG=C veya NO_COLOR=1 gibi güvenli ortam değişkenleri veya timeout, nice, nohup gibi işlem sarmalayıcıları ile ön eklendiğinde de otomatik onaylanır. Otomatik onay yalnızca çalışma dizininiz veya additionalDirectories içindeki yollar için geçerlidir. Bu kapsamın dışındaki yollar, korunan yollara yazmalar ve yerleşik salt okunur küme dışındaki tüm diğer Bash komutları yine de onay ister.
PowerShell aracı etkinleştirildiğinde, acceptEdits modu kapsam dahilindeki yollarda Set-Content, Add-Content, Clear-Content ve Remove-Item komutlarını ve bunların yaygın takma adlarını da otomatik onaylar.
Kullanım: Değişiklikleri satır içinde onaylamak yerine, sonradan düzenleyicinizde veya git diff ile incelemek istediğinizde acceptEdits kullanın. Manuel moddan bir kez Shift+Tab yaparak veya doğrudan claude --permission-mode acceptEdits ile başlatın.
plan modu
Plan modu, Claude'a değişiklik yapmadan araştırma yapmasını ve değişiklik önermesini söyler. Claude dosyaları okur, keşfetmek için shell komutları çalıştırır ve bir plan yazar, ancak kaynağınızı düzenlemez. bypass permissions mevcut olan oturumlar hariç, planı onaylayana kadar düzenlemeler engellenir.
Auto mod mevcut olduğunda ve useAutoModeDuringPlan ayarı açık olduğunda (varsayılan), sınıflandırıcı planlama sırasında shell komutlarını sormak yerine inceler. Onaylanan komutlar çalışır, reddedilenler engellenir. Aksi takdirde, yerleşik salt okunur küme dışındaki komutlar onay ister.
Plan moduna girmek için Shift+Tab yapın veya tek bir istemi /plan ile ön ekleyin. Ayrıca CLI'dan da başlatabilirsiniz: claude --permission-mode plan. Planı onaylamadan plan modundan çıkmak için tekrar Shift+Tab yapın.
Planı inceleme ve onaylama (Review and approve a plan)
Plan hazır olduğunda, Claude onu sunar ve nasıl devam edileceğini sorar. Buradan şunları seçebilirsiniz:
- Evet ve auto modu kullan: Onayla ve auto modda başla. Auto mod mevcut değilse, bu seçenek "Evet, düzenlemeleri otomatik kabul et" olarak görünür.
- Evet, düzenlemeleri manuel olarak onayla: Onayla ve her düzenlemeyi tek tek incele.
- Hayır, Ultraplan ile iyileştir (web'deki Claude Code): Planı tarayıcı tabanlı inceleme için Ultraplan'a gönder.
- Hayır, planlamaya devam et: Plan modunda kal ve Claude'a neyi değiştireceğini söyle.
Planı onaylamak, plan modundan çıkar ve oturumu, her onay seçeneğinin tanımladığı izin moduna geçirir, böylece Claude düzenlemeye başlar. Tekrar planlamak için Shift+Tab ile plan moduna dönün veya bir sonraki isteminizi /plan ile ön ekleyin. Ctrl+G tuşlarına basarak önerilen planı varsayılan metin düzenleyicinizde açabilir ve Claude devam etmeden önce doğrudan düzenleyebilirsiniz.
Plan modunu varsayılan yapma
Bir proje için plan modunu varsayılan yapmak üzere .claude/settings.json dosyasında defaultMode değerini ayarlayın:
{
"permissions": {
"defaultMode": "plan"
}
}
Auto modu
Auto modu, Claude'un rutin izin istemleri olmadan çalışmasını sağlar. Ayrı bir sınıflandırıcı model, eylemleri çalıştırılmadan önce inceler ve talebinizin ötesine geçen, tanınmayan altyapıyı hedef alan veya Claude'un okuduğu düşmanca içerik tarafından yönlendirilen her şeyi engeller. Açık ask kuralları yine de bir istemi zorunlu kılar.
Auto modu, izin istemlerini azaltır ancak güvenliği garanti etmez. Hassas işlemlerde incelemenin yerine geçecek bir şey değil, genel yöne güvendiğiniz görevler için kullanın.
Auto modu gereksinimleri
Auto modu yalnızca hesabınız tüm bu gereksinimleri karşıladığında kullanılabilir:
- Plan: Tüm planlar.
- Sahip (Owner): Team ve Enterprise'da, bir Sahip'in Claude Code admin ayarlarında etkinleştirmesi gerekir.
- Model: Anthropic API ve Claude Platform on AWS'de Claude Opus 4.6 veya sonrası, Sonnet 4.6 veya sonrası veya Fable 5. Amazon Bedrock, Google Cloud'un Agent Platform'u, Microsoft Foundry ve oturum açmış Claude uygulamaları ağ geçidi oturumlarında yalnızca Claude Sonnet 5, Opus 4.7 veya sonrası ve Fable 5.
- Sağlayıcı (Provider): Anthropic API, Claude Platform on AWS, Amazon Bedrock, Google Cloud'un Agent Platform'u, Microsoft Foundry ve oturum açmış Claude uygulamaları ağ geçidi oturumlarında varsayılan olarak kullanılabilir.
Sınıflandırıcının varsayılan olarak engelledikleri (What the classifier blocks by default)
Sınıflandırıcı, çalışma dizininize ve oturum başladığında onun için yapılandırılmış uzak depolara (remotes) güvenir. Oturum sırasında git remote add veya git remote set-url ile eklenen veya yeniden yönlendirilen bir uzak depo güvenilmez olarak kabul edilir.
Varsayılan olarak engellenenler:
- Kod indirme ve çalıştırma (
curl | bash) - Hassas verileri harici uç noktalara gönderme
- Üretim dağıtımları ve geçişleri
- Bulut depolamada toplu silme
- IAM veya depo izinleri verme
- Paylaşılan altyapıyı değiştirme
- Oturumdan önce var olan dosyaları geri döndürülemez şekilde yok etme
- Force push
- Sırları veya hassas verileri depo dışına gönderecek commit veya push
git reset --hard,git checkout -- .,git restore .,git clean -fd,git stash drop,git stash cleargit commit --amend(belirli koşullarda)terraform destroy,pulumi destroy,cdk destroy,terragrunt destroy- Sır yöneticisine yazma, DNS kayıtlarını veya TLS sertifikalarını değiştirme
- İnsan onayı olmadan PR birleştirme, Claude'un kendi PR'ını onaylama, CI kontrollerini devre dışı bırakma
- Otomasyona komut olan yorumlar gönderme (ör.
atlantis apply) - Üretim özellik bayrağını değiştirme
- Korumalı IaC kapsamına altyapı değişiklikleri uygulama
- Paylaşılan bir bilgi işlem kümesine diğer kullanıcıların işlerini etkileyecek yazmalar
- Her düğümde çalışan veya küme trafiğini engelleyen Kubernetes kaynakları oluşturma
- Hassas bir uzak hedefe etkileşimli shell veya port-forward
- Yerel bir hizmeti genel internetten erişilebilir kılan tünel veya ters shell
- Canlı bir kimlik bilgisini veya token'ı transkripte veya dosyaya yazdırma
- Ortamınızda hassas veri konumu olarak listelenen bir yere erişme veya verileri kopyalama
- Dahili paket kayıt defterinizi atlayarak genel bir kayıt defterine paket kurulumu
- Güvenlik önlemini devre dışı bırakan bir bayrakla komut çalıştırma
- İnsan onayı veya sanal alan olmadan çalışan otonom aracı döngüleri başlatma
- Claude'un Chrome tarayıcı eylemlerinde sayfa içeriğini, çerezleri veya kimlik bilgilerini farklı bir kaynağa gönderme
Varsayılan olarak izin verilenler:
- Çalışma dizininizdeki yerel dosya işlemleri
- Kilit dosyalarınızda veya manifestolarınızda bildirilen bağımlılıkları yükleme
.envdosyasını okuma ve kimlik bilgilerini eşleşen API'lerine gönderme- Salt okunur HTTP istekleri
- Çalıştığınız deponun herhangi bir dalına push yapma (belirli istisnalar dışında)
Auto modun geri dönüşü (When auto mode falls back)
Engellenen her eylem bir bildirim gösterir ve /permissions altında "Recently denied" sekmesinde görünür. Buradan r tuşuna basarak manuel onayla yeniden deneyebilirsiniz. Sınıflandırıcı bir eylemi art arda 3 kez veya toplamda 20 kez engellerse, auto mod duraklar ve Claude Code tekrar sormaya başlar. Onaylanan eylem, art arda sayacını sıfırlar. Etkileşimli olmayan modda (-p bayrağı ile), tekrarlanan engellemeler oturumu sonlandırır.
Maliyet ve gecikme (Cost and latency)
Sınıflandırıcı varsayılan olarak sizin /model seçiminiz yerine Claude Sonnet 5 üzerinde çalışır. Sınıflandırıcı çağrıları, token kullanımınıza dahildir. Her kontrol, transkriptin bir kısmını ve bekleyen eylemi gönderir ve yürütmeden önce bir gidiş-dönüş ekler. Okuma ve çalışma dizini düzenlemeleri (korunan yollar dışında) sınıflandırıcıyı atlar, bu nedenle ek yük esas olarak shell komutları ve ağ işlemlerinden gelir.
dontAsk modu
dontAsk modu ayarlandığında, Claude Code aksi takdirde sizi uyaracak her araç çağrısını otomatik olarak reddeder. Claude yalnızca permissions.allow kurallarınızla eşleşen eylemleri, salt okunur Bash komutlarını ve bir PreToolUse hook'u tarafından onaylanan çağrıları çalıştırır. Oturum asla girdi beklemez. Durum çubuğu ⏵⏵ don't ask on gösterir.
Kullanım: Claude'un tam olarak ne yapmasına izin verildiğini önceden tanımladığınız CI hatları veya kısıtlı ortamlar için idealdir. Başlangıçta bayrakla ayarlayın: claude --permission-mode dontAsk
bypassPermissions modu
bypassPermissions modu, izin istemlerini ve güvenlik kontrollerini devre dışı bırakır, böylece araç çağrıları korunan yollara yazmalar da dahil olmak üzere hemen yürütülür. Açık ask kuralları ve kuruluşunuzun ask olarak ayarladığı bağlayıcı araçlar bu modda yine de bir istemi zorunlu kılar. Kök veya ana dizini hedef alan silme işlemleri (rm -rf /, rm -rf ~), model hatasına karşı bir devre kesici olarak yine de onay ister.
Bu modu yalnızca Claude Code'un ana sisteminize zarar veremeyeceği konteynerler, VM'ler veya internet erişimi olmayan geliştirme konteynerleri gibi izole ortamlarda kullanın. bypassPermissions moduna, etkinleştirilmeden başlatılan bir oturumdan girilemez. Başlatma sırasında claude --permission-mode bypassPermissions veya --dangerously-skip-permissions bayrağı ile etkinleştirin.
Korunan yollar (Protected paths)
Küçük bir yol kümesine yazma işlemleri, bypassPermissions modu ve bypass permissions mevcut olan planlama oturumları dışında asla otomatik olarak onaylanmaz. Bu, depo durumunun ve Claude'un kendi yapılandırmasının yanlışlıkla bozulmasını önler.
Korunan dizinler:
.git, .config/git, .vscode, .idea, .husky, .cargo, .devcontainer, .yarn, .mvn, .claude (.claude/worktrees hariç)
Korunan dosyalar:
.gitconfig, .gitmodules, .bashrc, .bash_profile, .bash_login, .bash_aliases, .bash_logout, .zshrc, .zprofile, .zshenv, .zlogin, .zlogout, .profile, .envrc, .npmrc, .yarnrc, .yarnrc.yml, .pnp.cjs, .pnp.loader.mjs, .pnpmfile.cjs, bunfig.toml, .bunfig.toml, .bazelrc, .bazelversion, .bazeliskrc, .pre-commit-config.yaml, lefthook.yml, lefthook.yaml, .lefthook.yml, .lefthook.yaml, gradle-wrapper.properties, maven-wrapper.properties, .devcontainer.json, .ripgreprc, pyrightconfig.json, .mcp.json, .claude.json
Ayrıca bakınız (See also)
- Permissions: allow, ask ve deny kuralları; yönetilen politikalar
- Configure auto mode: Sınıflandırıcıya kuruluşunuzun hangi altyapıya güvendiğini söyleme
- Hooks:
PreToolUsevePermissionRequesthook'ları ile özel izin mantığı - Ultraplan: Web'deki Claude Code oturumunda plan modunu tarayıcı tabanlı inceleme ile çalıştırma
- Security: Güvenlik önlemleri ve en iyi uygulamalar
- Sandboxing: Bash komutları için dosya sistemi ve ağ izolasyonu
- Non-interactive mode: Claude Code'u
-pbayrağı ile çalıştırma
Örnek kullanım senaryosu
Bir geliştirici, büyük bir açık kaynak JavaScript kütüphanesine katkıda bulunuyor. Kütüphanenin test altyapısını iyileştirmek ve birkaç hata düzeltmesi yapmak istiyor. İş akışı şöyle olabilir:
Depoyu klonla ve keşfet: Geliştirici, depoyu klonlar ve
claude --permission-mode planile plan modunda bir oturum başlatır. Claude'a "Mevcut test yapısını analiz et ve iyileştirme önerileri sun" der. Claude,Shift+Tabile plan modunda çalışır, dosyaları okur,findvegrepgibi salt okunur komutlar çalıştırır ve bir plan sunar.Planı incele ve onayla: Geliştirici planı okur,
Ctrl+Gile düzenleyicide açar ve küçük bir düzeltme yapar. Ardından "Evet ve auto modu kullan" seçeneğini seçer. Oturum auto moda geçer.Auto modda çalış: Claude, auto modda test dosyalarını düzenlemeye başlar. Sınıflandırıcı, her
npm testveyajestkomutunu inceler. Geliştirici, Claude'uncurl | bashgibi güvensiz bir komut çalıştırmaya çalışması durumunda sınıflandırıcının bunu engelleyeceğini bilir. Bir noktada Claude,git pushyapmayı dener; sınıflandırıcı, push'un hassas veri içermediğini doğrular ve izin verir.Bir engelle karşılaş: Claude,
rm -rf /tmp/test-cachekomutunu çalıştırmaya çalışır. Sınıflandırıcı,/tmpiçindeki dosyaları joker karakterle silmeyi engeller. Geliştirici,/permissionsaltında "Recently denied" sekmesine gider,rtuşuna basarak komutu manuel olarak onaylar ve auto mod devam eder.İşlemi tamamla: Tüm değişiklikler tamamlandığında, Claude bir PR oluşturmayı önerir. Sınıflandırıcı, PR'ın hassas veri içermediğini ve geliştiricinin isteğiyle uyumlu olduğunu doğrular. Geliştirici, PR'ı inceler ve gönderir.