📅 5 Mayıs 2026 Lokasyon: --permission-mode auto, Shift+Tab Anthropic docs ↗

Best Practice Blog

İ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

VS Code

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:

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:

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:

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:

Varsayılan olarak izin verilenler:

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:

  1. İzin verme veya reddetme kurallarınızla eşleşen eylemler hemen çözümlenir
  2. Çalışma dizininizdeki salt okunur eylemler ve dosya düzenlemeleri, korunan yollara yazmalar hariç otomatik olarak onaylanır
  3. Diğer her şey sınıflandırıcıya gider
  4. 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:

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:

  1. 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.
  2. 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 permissionMode yok sayılır.
  3. 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:

Korunan dosyalar:

Ayrıca Bakınız (See also)

Ö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.

  1. Kod tabanını keşfetme: Geliştirici, plan modunda başlayarak mevcut API yapısını inceler:

    claude --permission-mode plan
    

    Claude'a "mevcut /api/users rotasının yapısını analiz et ve yeni bir /api/users/:id/profile rotası eklemek için bir plan çıkar" der. Claude dosyaları okur, shell komutları çalıştırır ve bir plan sunar.

  2. Planı inceleme ve onaylama: Plan hazır olduğunda geliştirici Ctrl+G ile 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 olarak acceptEdits moduna geçer.

  3. Değişiklikleri uygulama: Claude, planlanan rotayı oluşturur, testleri ekler ve mevcut dosyaları günceller. acceptEdits modu sayesinde her dosya düzenlemesi için onay istemez. Geliştirici, değişiklikleri git diff ile inceler.

  4. 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 acceptEdits modu, npm test gibi komutlar için istem göstermediğinden iş akışı hızlı ilerler.

  5. 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+Tab ile 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.

  6. CI'da kullanım: Değişiklikler birleştirildikten sonra, CI pipeline'ında dontAsk modu 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.