İzin Modları (Permission Modes) - Claude Code
Claude Code, bir dosyayı düzenlemek, shell komutu çalıştırmak veya ağ isteği yapmak istediğinde duraklar ve sizden onay ister. İzin modları, bu duraklamanın ne sıklıkta gerçekleşeceğini kontrol eder. Seçtiğiniz mod, bir oturumun akışını şekillendirir: varsayılan modda her eylemi geldiği gibi incelersiniz, daha gevşek modlarda ise Claude'un kesintisiz daha uzun süreler çalışmasına ve iş bittiğinde rapor vermesine izin verirsiniz. Hassas işler için daha fazla denetim, güvendiğiniz yönlerde ise daha az kesinti tercih edin.
Kullanılabilir 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 | Sormadan çalışanlar | En iyi kullanım |
|---|---|---|
default |
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 |
Yalnızca okuma | Değişiklik yapmadan önce kod tabanını keşfetmek |
auto |
Arka plan güvenlik kontrolleriyle her şey | Uzun görevler, prompt yorgunluğunu azaltmak |
dontAsk |
Yalnızca önceden onaylanmış araçlar | Kilitli CI ve script'ler |
bypassPermissions |
Her şey | Yalnızca izole konteynerler ve VM'ler |
bypassPermissions dışındaki her modda, korunan yollara (protected paths) yazma işlemleri asla otomatik onaylanmaz; bu, depo durumunu ve Claude'un kendi yapılandırmasını yanlışlıkla bozulmaya karşı korur.
Modlar temel seviyeyi belirler. bypassPermissions dışındaki herhangi bir modda belirli araçları önceden onaylamak veya engellemek için üzerine izin kuralları ekleyebilirsiniz.
İzin Modlarını Değiştirme (Switch permission modes)
Modları oturum sırasında, başlangıçta veya kalıcı varsayılan olarak değiştirebilirsiniz. Mod, Claude'a sohbette sormakla değil, aşağıdaki kontrollerle ayarlanır.
CLI
- Oturum sırasında:
Shift+Tabtuşuna basarakdefault→acceptEdits→planarasında geçiş yapın. Geçerli mod durum çubuğunda görünür. Her mod varsayılan döngüde değildir:auto: Hesabınız auto mod gereksinimlerini karşıladığında görünür; döngüye auto'ya geçmek, kabul edene kadar bir opt-in istemi gösterir; "Hayır, bir daha sorma" seçeneği auto'yu döngüden kaldırır.bypassPermissions:--permission-mode bypassPermissions,--dangerously-skip-permissionsveya--allow-dangerously-skip-permissionsile başlattıktan sonra görünür;--allow-varyantı modu etkinleştirmeden döngüye ekler.dontAsk: Döngüde asla görünmez;--permission-mode dontAskile ayarlayın.- Etkinleştirilmiş isteğe bağlı modlar
plan'dan sonra, öncebypassPermissionssonraautoolacak şekilde sıralanır. İkisi de etkinse,auto'ya giderkenbypassPermissionsüzerinden geçersiniz.
- Başlangıçta: Modu bir bayrak olarak iletin:
claude --permission-mode plan - Varsayılan olarak:
settings.json'dadefaultModeayarlayın:
Aynı{ "permissions": { "defaultMode": "acceptEdits" } }--permission-modebayrağı, etkileşimli olmayan çalıştırmalar için-pile de çalışır.
VS Code
- Oturum sırasında: Prompt kutusunun altındaki mod göstergesine tıklayın.
- Varsayılan olarak: VS Code ayarlarında
claudeCode.initialPermissionModeveya Claude Code eklenti ayarları panelini kullanın.
Mod göstergesi şu etiketleri gösterir:
| UI Etiketi | Mod |
|---|---|
| Ask before edits | default |
| Edit automatically | acceptEdits |
| Plan mode | plan |
| Auto mode | auto |
| Bypass permissions | bypassPermissions |
Auto modu, eklenti ayarlarında "Allow dangerously skip permissions" etkinleştirildikten sonra mod göstergesinde görünür, ancak hesabınız auto mod bölümünde listelenen her gereksinimi karşılayana kadar kullanılamaz. claudeCode.initialPermissionMode ayarı auto kabul etmez; varsayılan olarak auto modunda başlamak için bunun yerine Claude Code settings.json dosyanızda defaultMode ayarlayın. Bypass permissions da mod göstergesinde görünmeden önce "Allow dangerously skip permissions" geçişini gerektirir.
JetBrains
JetBrains eklentisi Claude Code'u IDE terminalinde çalıştırır, bu nedenle modları değiştirmek CLI ile aynı şekilde çalışır: Shift+Tab ile geçiş yapın veya başlatırken --permission-mode iletin.
Desktop
Gönder düğmesinin yanındaki mod seçiciyi kullanın. Auto ve Bypass permissions, Desktop ayarlarında etkinleştirildikten sonra görünür.
Web ve mobil
claude.ai/code veya mobil uygulamada prompt kutusunun yanındaki mod açılır menüsünü kullanın. İzin istemleri onay için claude.ai'de görünür. Hangi modların göründüğü oturumun nerede çalıştığına bağlıdır:
- Claude Code on the web'de bulut oturumları: Auto accept edits ve Plan mode. Ask permissions, Auto ve Bypass permissions kullanılamaz.
- Yerel makinenizde Remote Control oturumları: Ask permissions, Auto accept edits ve Plan mode. Auto ve Bypass permissions kullanılamaz. Remote Control için ana bilgisayarı başlatırken başlangıç modunu da ayarlayabilirsiniz:
claude remote-control --permission-mode acceptEdits
acceptEdits Modu ile Dosya Düzenlemelerini Otomatik Onaylama
acceptEdits modu, Claude'un çalışma dizininizde izin istemeden dosya oluşturmasına ve düzenlemesine izin verir. Durum çubuğu bu mod etkinken ⏵⏵ accept edits on gösterir.
Dosya düzenlemelerine ek olarak, acceptEdits modu yaygın dosya sistemi Bash komutlarını otomatik onaylar: mkdir, touch, rm, rmdir, mv, cp ve sed. Bu komutlar, LANG=C veya NO_COLOR=1 gibi güvenli ortam değişkenleriyle veya timeout, nice, nohup gibi süreç sarmalayıcılarıyla ön eklendiğinde de otomatik onaylanır. Dosya düzenlemeleri gibi, otomatik onay yalnızca çalışma dizininiz veya additionalDirectories içindeki yollar için geçerlidir. Bu kapsam dışındaki yollar, korunan yollara yazmalar ve diğer tüm Bash komutları yine de istem gösterir.
PowerShell aracı etkinleştirildiğinde, acceptEdits modu ayrıca kapsam içi yollarda Set-Content, Add-Content, Clear-Content ve Remove-Item'ı ve bunların yaygın takma adlarını otomatik onaylar. Aynı kapsam ve korunan yol kuralları geçerlidir.
acceptEdits'i, her düzenlemeyi satır içinde onaylamak yerine değişiklikleri düzenleyicinizde veya git diff ile sonradan incelemek istediğinizde kullanın. Varsayılan moddan bir kez Shift+Tab tuşuna basarak girin veya doğrudan başlatın: claude --permission-mode acceptEdits
plan Modu ile Düzenlemeden Önce Analiz Etme
Plan modu, Claude'a değişiklik yapmadan araştırma yapmasını ve ö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. İzin istemleri varsayılan modla aynı şekilde uygulanır.
Plan moduna Shift+Tab tuşuna basarak veya tek bir prompt'a /plan ön eki ekleyerek girin. CLI'den plan modunda da başlayabilirsiniz: claude --permission-mode plan
Planı onaylamadan plan modundan çıkmak için tekrar Shift+Tab tuşuna basın.
Planı İnceleme ve Onaylama
Plan hazır olduğunda, Claude bunu sunar ve nasıl devam edileceğini sorar. Buradan şunları yapabilirsiniz:
- Onayla ve auto modunda başla
- Onayla ve düzenlemeleri kabul et
- Onayla ve her düzenlemeyi manuel olarak incele
- Geri bildirimle planlamaya devam et
- Tarayıcı tabanlı inceleme için Ultraplan ile iyileştir
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 geri dönün veya bir sonraki prompt'unuza /plan ön eki ekleyin.
Ctrl+G tuşuna basarak önerilen planı varsayılan metin düzenleyicinizde açın ve Claude devam etmeden önce doğrudan düzenleyin. showClearContextOnPlanAccept etkinleştirildiğinde, her onay seçeneği ayrıca önce planlama bağlamını temizlemeyi teklif eder. Bir planı kabul etmek, --name veya /rename ile zaten bir ad belirlemediyseniz, plan içeriğinden oturumu otomatik olarak adlandırır.
Varsayılan Olarak plan Modunu Ayarlama
Bir proje için plan modunu varsayılan yapmak üzere .claude/settings.json dosyasında defaultMode ayarlayın:
{
"permissions": {
"defaultMode": "plan"
}
}
Auto Modu ile İstemleri Ortadan Kaldırma
Auto modu, Claude Code v2.1.83 veya daha yenisini gerektirir. Auto modu, Claude'un izin istemleri olmadan yürütmesine izin verir. Ayrı bir sınıflandırıcı model, eylemleri çalıştırılmadan önce inceler, isteğinizin ötesine geçen, tanınmayan altyapıyı hedefleyen veya Claude'un okuduğu düşmanca içerik tarafından yönlendirilen her şeyi engeller.
Auto modu ayrıca Claude'a hemen yürütmesini ve açıklayıcı soruları en aza indirmesini söyler. Bu davranışı alırken izin istemlerini tutmak için Proaktif çıktı stilini ayarlayın.
Auto modu bir araştırma önizlemesidir. İstemleri azaltır ancak güvenliği garanti etmez. Hassas işlemlerde incelemenin yerine geçecek bir şey olarak 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: Max, Team, Enterprise veya API. Pro'da kullanılamaz.
- Yönetici: Team ve Enterprise'da, bir yönetici kullanıcıların açabilmesi için önce Claude Code yönetici ayarlarında etkinleştirmelidir. Yöneticiler ayrıca yönetilen ayarlarda
permissions.disableAutoMode'u"disable"olarak ayarlayarak kapatabilir. - Model: Team, Enterprise ve API planlarında Claude Sonnet 4.6, Opus 4.6 veya Opus 4.7; Max planlarında yalnızca Claude Opus 4.7. Haiku ve claude-3 modelleri dahil diğer modeller desteklenmez.
- Sağlayıcı: Yalnızca Anthropic API. Bedrock, Vertex veya Foundry'de kullanılamaz.
Claude Code auto modunun kullanılamadığını bildiriyorsa, bu gereksinimlerden biri karşılanmamıştır; bu geçici bir kesinti değildir. Bir model adı veren ve auto modunun bir eylemin "güvenliğini belirleyemediğini" söyleyen ayrı bir mesaj, geçici bir sınıflandırıcı kesintisidir.
Sınıflandırıcının Varsayılan Olarak Engelledikleri
Sınıflandırıcı, çalışma dizininize ve deponuzun yapılandırılmış uzak depolarına güvenir. Güvenilir altyapı yapılandırana kadar diğer her şey harici olarak kabul edilir.
Varsayılan olarak engellenenler:
curl | bashgibi kod indirme ve yürütme- Harici uç noktalara hassas veri 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 veya doğrudan main'e push
Varsayılan olarak izin verilenler:
- Çalışma dizininde yerel dosya işlemleri
- Kilit dosyalarınızda veya manifestolarınızda bildirilen bağımlılıkları yükleme
.envokuma ve kimlik bilgilerini eşleşen API'lerine gönderme- Salt okunur HTTP istekleri
- Başladığınız dala veya Claude'un oluşturduğu bir dala push
Sandbox ağ erişim istekleri, varsayılan olarak izin verilmek yerine sınıflandırıcı üzerinden yönlendirilir. Tam kural listelerini görmek için claude auto-mode defaults komutunu çalıştırın. Rutin eylemler engelleniyorsa, bir yönetici autoMode.environment ayarı aracılığıyla güvenilir depolar, bucket'lar ve hizmetler ekleyebilir.
Konuşmada Belirttiğiniz Sınırlar
Sınıflandırıcı, konuşmada belirttiğiniz sınırları bir engelleme sinyali olarak ele alır. Claude'a "push yapma" veya "dağıtmadan önce incelememi bekle" derseniz, sınıflandırıcı varsayılan kurallar izin verse bile eşleşen eylemleri engeller. Bir sınır, daha sonraki bir mesajda kaldırana kadar yürürlükte kalır. Claude'un bir koşulun karşılandığına dair kendi yargısı sınırı kaldırmaz. Sınırlar kural olarak saklanmaz. Sınıflandırıcı her kontrolde bunları transkriptten yeniden okur, bu nedenle bağlam sıkıştırması sınırı belirten mesajı kaldırırsa sınır kaybolabilir. Kesin bir garanti için bunun yerine bir reddetme kuralı ekleyin.
Auto Modu Geri Döndüğünde
Reddedilen her eylem bir bildirim gösterir ve /permissions altında "Recently denied" sekmesinde görünür; burada r tuşuna basarak manuel onayla yeniden deneyebilirsiniz. Sınıflandırıcı bir eylemi arka arkaya 3 kez veya toplamda 20 kez engellerse, auto modu duraklar ve Claude Code istem vermeye devam eder. İstemi onaylamak auto modunu sürdürür. Bu eşikler yapılandırılamaz. İzin verilen herhangi bir eylem ardışık sayacı sıfırlarken, toplam sayaç oturum boyunca devam eder ve yalnızca kendi sınırı bir geri dönüşü tetiklediğinde sıfırlanır.
-p bayrağıyla etkileşimli olmayan modda, tekrarlanan engellemeler oturumu sonlandırır çünkü istemi yapacak kullanıcı yoktur. Tekrarlanan engellemeler genellikle sınıflandırıcının altyapınız hakkında bağlamdan yoksun olduğu anlamına gelir. Yanlış pozitifleri bildirmek için /feedback kullanın veya bir yöneticinin güvenilir altyapı yapılandırmasını sağlayın.
Sınıflandırıcının Eylemleri Nasıl Değerlendirdiği
Her eylem sabit bir karar sırasından geçer. İlk eşleşen adım kazanır:
- İzin verme veya reddetme kurallarınızla eşleşen eylemler hemen çözümlenir
- Çalışma dizininizdeki salt okunur eylemler ve dosya düzenlemeleri, korunan yollara yazmalar hariç otomatik olarak onaylanır
- Diğer her şey sınıflandırıcıya gider
- Sınıflandırıcı engellerse, Claude nedeni alır ve bir alternatif dener
Auto moduna girerken, rastgele kod yürütme izni veren geniş izin kuralları düşürülür:
- Toplu
Bash(*)veyaPowerShell(*) Bash(python*)gibi joker karakterli yorumlayıcılar- Paket yöneticisi çalıştırma komutları
- Aracı izin kuralları
Bash(npm test) gibi dar kurallar taşınır. Düşürülen kurallar auto modundan çıktığınızda geri yüklenir.
Sınıflandırıcı, kullanıcı mesajlarını, araç çağrılarını ve CLAUDE.md içeriğinizi görür. Araç sonuçları çıkarılır, bu nedenle bir dosya veya web sayfasındaki düşmanca içerik onu doğrudan manipüle edemez. Ayrı bir sunucu tarafı tarayıcı, gelen araç sonuçlarını tarar ve Claude okumadan önce şüpheli içeriği işaretler.
Auto Modunun Alt Aracıları (Subagent) Nasıl İşlediği
Sınıflandırıcı, alt aracı çalışmasını üç noktada kontrol eder:
- Bir alt aracı başlamadan önce, devredilen görev tanımı değerlendirilir, böylece tehlikeli görünen bir görev oluşturma anında engellenir.
- Alt aracı çalışırken, eylemlerinin her biri ana oturumla aynı kurallarla sınıflandırıcıdan geçer ve alt aracının ön yüzündeki herhangi bir
permissionModeyok sayılır. - Alt aracı bittiğinde, sınıflandırıcı tam eylem geçmişini inceler; bu dönüş kontrolü bir endişe işaretlerse, alt aracının sonuçlarına bir güvenlik uyarısı eklenir.
Maliyet ve Gecikme
Sınıflandırıcı, /model seçiminizden bağımsız bir sunucu yapılandırmalı modelde çalışır, bu nedenle model değiştirmek sınıflandırıcı kullanılabilirliğini değiştirmez. Sınıflandırıcı çağrıları, token kullanımınıza sayılır. Her kontrol, transkriptin bir kısmını ve bekleyen eylemi gönderir ve yürütmeden önce bir gidiş-dönüş ekler. Korunan yolların dışındaki okumalar ve çalışma dizini düzenlemeleri sınıflandırıcıyı atlar, bu nedenle ek yük esas olarak shell komutlarından ve ağ işlemlerinden gelir.
dontAsk Modu ile Yalnızca Önceden Onaylanmış Araçlara İzin Verme
dontAsk modu, aksi takdirde istem gösterecek her araç çağrısını otomatik olarak reddeder. Yalnızca permissions.allow kurallarınızla eşleşen eylemler ve salt okunur Bash komutları yürütülebilir; açık ask kuralları istem göstermek yerine reddedilir. Bu, modu, Claude'un tam olarak ne yapmasına izin verildiğini önceden tanımladığınız CI hatları veya kısıtlı ortamlar için tamamen etkileşimsiz hale getirir.
Başlangıçta bayrakla ayarlayın: claude --permission-mode dontAsk
bypassPermissions Modu ile Tüm Kontrolleri Atlama
bypassPermissions modu, izin istemlerini ve güvenlik kontrollerini devre dışı bırakır, böylece araç çağrıları hemen yürütülür. v2.1.126 itibarıyla bu, daha önceki sürümlerin hala istem gösterdiği korunan yollara yazmaları da içerir. Dosya sistemi kökünü veya ana dizini hedef alan kaldırmalar (rm -rf / ve rm -rf ~ gibi), model hatasına karşı bir devre kesici olarak hala istem gösterir.
Bu modu yalnızca Claude Code'un ana sisteminize zarar veremeyeceği konteynerler, VM'ler veya internet erişimi olmayan dev konteynerler gibi izole ortamlarda kullanın. Etkinleştirme bayraklarından biri olmadan başlatılan bir oturumdan bypassPermissions giremezsiniz; etkinleştirmek için biriyle yeniden başlatın: claude --permission-mode bypassPermissions
--dangerously-skip-permissions bayrağı eşdeğerdir. Linux ve macOS'ta, Claude Code root veya sudo altında çalışırken bu modda başlamayı reddeder: --dangerously-skip-permissions cannot be used with root/sudo privileges for security reasons. Tanınan bir sandbox içinde kontrol otomatik olarak atlanır. Bir konteynerde otonom olarak çalıştırmak için, Claude Code'u root olmayan bir kullanıcı olarak çalıştıran dev konteyner yapılandırmasını kullanın.
bypassPermissions, prompt enjeksiyonuna veya istenmeyen eylemlere karşı hiçbir koruma sunmaz. İstemler olmadan arka plan güvenlik kontrolleri için bunun yerine auto modunu kullanın. Yöneticiler, yönetilen ayarlarda permissions.disableBypassPermissionsMode'u "disable" olarak ayarlayarak bu modu engelleyebilir.
Korunan Yollar (Protected paths)
bypassPermissions dışındaki her modda, küçük bir yol kümesine yazmalar asla otomatik onaylanmaz. Bu, depo durumunun ve Claude'un kendi yapılandırmasının yanlışlıkla bozulmasını önler. default, acceptEdits ve plan modlarında bu yazmalar istem gösterir; auto'da sınıflandırıcıya yönlendirilir; dontAsk'ta reddedilir; bypassPermissions'ta izin verilir.
Korunan dizinler:
.git.vscode.idea.husky.claude— Claude'un rutin olarak içerik oluşturduğu.claude/commands,.claude/agents,.claude/skillsve.claude/worktreeshariç
Korunan dosyalar:
.gitconfig,.gitmodules.bashrc,.bash_profile,.zshrc,.zprofile,.profile.ripgreprc.mcp.json,.claude.json
Ayrıca Bakınız (See also)
- Permissions: İzin verme, sorma ve reddetme kuralları; yönetilen politikalar
- Configure auto mode: Kuruluşunuzun hangi altyapısına güvendiğini sınıflandırıcıya söyleme
- Hooks:
PreToolUsevePermissionRequestkancaları aracılığıyla özel izin mantığı - Ultraplan: Tarayıcı tabanlı inceleme ile Claude Code on the web oturumunda plan modunu çalıştırma
- Security: Önlemler ve en iyi uygulamalar
- Sandboxing: Bash komutları için dosya sistemi ve ağ izolasyonu
- Non-interactive mode: Claude Code'u
-pbayrağıyla çalıştırma
Örnek Kullanım Senaryosu
Bir geliştirici, büyük bir JavaScript monorepo'da çalışıyor ve mevcut bir API rotasına yeni bir özellik eklemek istiyor. Önce kod tabanını anlaması gerekiyor, ardından değişiklikleri yapacak ve son olarak CI'da test edecek.
Kod tabanını keşfetme: Geliştirici, plan modunda başlayarak mevcut API yapısını inceler:
claude --permission-mode planClaude'a "mevcut
/api/usersrotasının yapısını analiz et ve yeni bir/api/users/:id/profilerotası eklemek için bir plan çıkar" der. Claude dosyaları okur, shell komutları çalıştırır ve bir plan sunar.Planı inceleme ve onaylama: Plan hazır olduğunda geliştirici
Ctrl+Gile planı metin düzenleyicide açar, küçük bir düzeltme yapar ve "Onayla ve düzenlemeleri kabul et" seçeneğini seçer. Oturum otomatik olarakacceptEditsmoduna geçer.Değişiklikleri uygulama: Claude, planlanan rotayı oluşturur, testleri ekler ve mevcut dosyaları günceller.
acceptEditsmodu sayesinde her dosya düzenlemesi için onay istemez. Geliştirici, değişikliklerigit diffile inceler.Otomatik test: Geliştirici, testleri çalıştırmak için Claude'a "testleri çalıştır" der. Testler başarısız olursa Claude hataları düzeltir ve yeniden çalıştırır. Bu aşamada
acceptEditsmodu,npm testgibi komutlar için istem göstermediğinden iş akışı hızlı ilerler.Güvenli dağıtım öncesi kontrol: Geliştirici, "henüz dağıtma, önce kod incelemesini bekleyelim" diyerek bir sınır belirler. Ardından
Shift+Tabile varsayılana döner ve son bir inceleme yapar. Dağıtım komutları sınıflandırıcı tarafından engellenir ve geliştirici manuel olarak onaylar.CI'da kullanım: Değişiklikler birleştirildikten sonra, CI pipeline'ında
dontAskmodu kullanılır:claude --permission-mode dontAsk -p "testleri çalıştır ve raporla"Bu mod, yalnızca önceden izin verilen araçların çalışmasına izin vererek CI ortamında güvenliği sağlar.