Bir banner eklemesini istiyorsunuz, ajan da arada eski bir modülü güncellemeyi öneriyor. Böyle bir planı değişikliklerden önce görmek ve gereksiz adımı çıkarmak işinize yarar. Bunun için hem açık bir görev tanımı hem de seçtiğiniz çalışma modu önemlidir.

Erişim modu, Claude Code'un eylemlerine nasıl izin verileceğini belirler: neler hemen yapılabilir, neler için onay gerekir, neler engellenir. Ayarlar ve daha önce verilen izinler de bazı eylemleri etkiler. Modun kendisi çözümün kalitesini denetlemez.

Terminaldeki yerel bir Claude Code oturumunu örnek alarak tüm modlara bakalım.

İstek ve izin

Birbirine benzeyen ama farklı çalışan iki şeyi karıştırmak kolay.

İlki, görev tanımında yazdıklarınızdır: istisnalar bölümü, "önce planı göster, hiçbir şeyi değiştirme" cümlesi, dokunulmaması gereken dosyaların listesi. Bunlar görevin anlamsal sınırlarıdır; görevi açıklar ve ajanın ne yapmayı önereceğini belirgin biçimde etkiler. Ancak bunlar metindir ve teknik izinleri değiştirmez.

İkincisi, erişim modu, yani permission mode'dur. Bu bir oturum ayarıdır. "Hiçbir şeyi değiştirme" yazıp değişikliklerin otomatik kabul edildiği bir modda çalışmanız mümkündür. Ajan isteğinize uymalıdır ama bu cümle teknik bir değişiklik engelini etkinleştirmez.

Bir istisna var, o da kısmi. auto modunda sınıflandırıcı konuşma geçmişini okur ve "push etme" ya da "incelememi bekle" gibi ifadeleri bu eylemleri engelleme sinyali olarak değerlendirir. Ancak bu, ayarlardaki bir kural değildir: bağlam sıkıştırılırken yasak içeren mesaj düşerse, yasak da kaybolur. Kesin bir sınır için cümle değil, ayarlar gerekir.

İstekten mod anlaşılmaz

İstekte "önce bir plan hazırla" demek yararlıdır; çalışma sırasını belirler. Ancak mevcut modu bu cümleden anlayamazsınız. Bunun için oturum durum çubuğundaki göstergeye bakın. Oturumun hangi modda başladığı sürüme, arayüze, aboneliğe ve ayarlara bağlıdır. Bu yüzden varsayımda bulunmak yerine önce göstergeye göz atın.

Güvenliden riskliye modlar

Modları bir liste yerine bir merdiven gibi düşünmek daha kolay. En üstte ajan siz olmadan neredeyse hiçbir şey yapmaz, en altta ise hiç sormaz. Beş basamak ve bu ölçeğe uymayan bir mod daha var.

Beş erişim modu, özerklik düzeyi artacak şekilde yukarıdan aşağıya sıralanır: plan, default, acceptEdits, auto ve bypassPermissions. dontAsk ise bu ölçeğin dışında yer alır; hiçbir şey sormaz ve önceden izin verilmeyen her şeyi reddederGüvenliden riskliye özerklik modlarıAyrı olarak, özerklik ölçeğinin dışındaplandefaultacceptEditsautobypassPermissionsdontAskİnceler ve planlar, kodu değiştirmezDeğişikliklerden ve komutlardan önce sorarDosya değişikliklerini kendi uygularNeredeyse her şeyi kendi yapar,komutları ve ağı sınıflandırıcı denetlerNeredeyse hiçbir şey sormazOkuma ve önceden izin verilenler,diğerleri sorulmadan reddedilir
Tek bir ölçeğin beş basamağı ve ölçeğin dışında duran dontAsk

Burada bakmanız gereken tek şey, kaç eylemin sizden yanıt beklemeden gerçekleştiğidir. Yukarıdan aşağıya bu sayı artar; hata yapmanın bedeli de yükselir. Üst basamaklarda onay vermek zamanınızı alır, alt basamaklarda ise başarısız bir değişikliği ancak gerçekleştikten sonra fark edersiniz.

Her birine kısaca bakalım:

  • plan - ajan projeyi inceler ve uygulamaya geçmeden önce değişiklikler önerir; bu sırada kaynak dosyalarda değişiklik yapmak engellenir. Tek bir istisna var: oturum bypassPermissions izniyle başlatıldıysa, terminalde planlama değişiklikleri artık engellemez; ajana yalnızca hiçbir şeyi değiştirmemesi söylenir. Kodda değişiklik değil, kod hakkında bir yanıt beklediğinizde işe yarar. auto kullanılabiliyorsa araştırma komutlarını da sınıflandırıcı denetler; bu nedenle burada default modundan bile daha az onay sorusu çıkabilir. Basamaklarda üstte olmasının nedeni, kaynak dosyalarda hiçbir şeyi değiştirmemesidir. Plan hazır olduğunda Claude Code nasıl devam edeceğinizi sorar: auto moduna geçerek onaylamak, değişiklikleri elle onaylayarak devam etmek ya da planlamayı sürdürmek.
  • default, ekranda genellikle Manual olarak görünür - değişikliklerden, komutlardan ve ağ erişiminden önce sorar. Projenin okunması ve daha önce verilmiş izinler için soru çıkmaz; her eylemi baştan onaylamanız gerekmez. Zararsız görünen bir komut için de bazen onay istenir. Bu gereksiz bir titizlik değil: -exec bayrağıyla kullanılan find herhangi bir komutu çalıştırabilir, -delete ise bulunanları siler. Bu yüzden bu tür kullanımlar onayınız olmadan çalışmaz.
  • acceptEdits, ekranda "accept edits" olarak görünür - çalışma klasöründeki dosya değişikliklerini ve rm ile mv dahil bazı dosya komutlarını kendi uygular. Bu mod, sonradan yine okuyacağınız tanıdık dosyalarda zaman kazandırır.
  • auto - neredeyse her şeyi kendi yapar. Çalışma klasörünü okuma ve buradaki değişiklikler hemen gerçekleşir; komutları ve ağ erişimini ise ayrı bir model olan sınıflandırıcı denetler. Bazı eylemleri engeller; birazdan buna ayrıca bakacağız.
  • bypassPermissions, diğer adıyla --dangerously-skip-permissions bayrağı - neredeyse hiçbir şey için sormaz. Yalnızca ayarlardaki açık kurallarınız (yasaklar ve "her zaman sor") ile birkaç sistem koruması geçerli kalır. Bu moda YOLO denir; adı durumu iyi anlatıyor.

Altıncı mod olan dontAsk şemada ayrı duruyor; nedeni şu. Basamaklar, kaç eylemin yanıtınızı beklemeden gerçekleştiğine göre sıralanır ve aşağı indikçe ajana daha fazla şey yapma izni verilir. dontAsk bunun tersidir: o da sormaz ama onaylamak yerine reddeder. Normal modda da soru gerektirmeyenler (çalışma klasöründeki dosyaları okumak, yalnızca okuma yapan güvenli komutlar) ve önceden izin verilenler yapılır. Soru gerektirecek her şey soru sorulmadan reddedilir. Oturum yanıtınızı beklemez. Otomatik senaryolar ve kapalı ortamlar gibi yanıt verecek kimsenin olmadığı yerlerde işe yarar; klavyenin başında çalışırken ihtiyacınız olmaz.

Modu sohbette bir istekle değil, kendiniz değiştirirsiniz. Terminalde modlar arasında sırayla geçiş yapmak için Shift+Tab, planlama moduna girmek için de /plan komutunu kullanabilirsiniz. Modu oturumu başlatırken de belirleyebilirsiniz:

claude --permission-mode plan

Komutu proje klasöründeyken terminale, /plan komutunu ise açık bir oturumun içine yazarsınız. Editördeki değiştirici farklı görünür ve giriş alanının altındadır; ama dayanak noktası her yerde aynı: mevcut mod göstergesi.

En alt basamak hakkında

bypassPermissions, tüm ortamı riske atmanın sorun olmadığı yerlerde uygundur: örneğin bir container ya da sanal makinede tek seferlik bir görev. Gerçek bir projede tek bir başarısız komut, atlanan tüm onayların toplamından daha pahalıya patlar. Üstelik bu mod silinenleri geri getiremez; yalnızca komutların önünü açar, geri almak için bir mekanizma sağlamaz.

Basamakları olduğundan güvenli görmemek için iki noktayı akılda tutun. Planlama bir yedek değildir: geri dönüş noktası oluşturmaz ve yapılanları geri almaz; yalnızca planı değişikliğe dönüşmeden önce gösterir. Ayrıca hiçbir basamak görevin sınırlarını değiştirmez; bu sınırlar sizin tarif ettiğiniz yerde kalır.

auto ne zaman yardımcı olmak yerine engel olur?

auto modu hakkında önceden düzeltmeye değer bir beklenti var. Adı "otomatik" olunca her şeyin serbestçe yapılacağı düşünülebilir. Öyle değil: sınıflandırıcı bazı eylemleri durdurmak için var.

Varsayılan olarak engellediği eylemler arasında production deploy'ları ve migration'lar, verilerin dış adreslere gönderilmesi, force push, bulut depolama alanında toplu silme, yetki verme, ağdan kod indirip çalıştırma ve oturum başlamadan önce var olan dosyaların geri alınamaz biçimde silinmesi bulunur. Listenin mantığı basit: bunları kendi başınıza geri alamazsınız.

Sonrasında ne olacağı, kaç engelleme olduğuna bağlıdır. Engellenen tek bir eylem, son reddedilenler listesine (/permissions, Recently denied sekmesi) eklenir; buradan elle onaylayarak yeniden başlatabilirsiniz. Claude bu sırada ret yanıtını alır ve başka bir yol dener. Sınıflandırıcı art arda üç kez ya da bir oturumda yirmi kez engellerse mod duraklatılır ve Claude Code normal onay sorularına döner. Siz onay verdikten sonra auto yeniden etkinleşir. Eşikler sabittir, değiştirilemez.

Modun nerede engel olmaya başladığı buradan anlaşılıyor. Görevde tartışmalı tek bir komut varsa auto beklendiği gibi çalışır: komutu elle onaylar ve devam edersiniz. Ama görev zaten bu tür komutlardan oluşuyorsa - bir test ortamı kurmak, migration'ları çalıştırmak, başkasının altyapısıyla uğraşmak gibi - işler tuhaflaşır. Neredeyse her adımı yine elle onaylarsınız, üstelik fazladan turlarla: ajan engellemeye takılır, başka bir yol arar, mod bir duraklatılır, bir yeniden etkinleşir.

Böyle bir durumda merdivende kendiniz yukarı çıkmak daha kolay. Hangi basamağa çıkacağınız, tam olarak neyin engel olduğuna bağlı:

  • default - en doğrudan seçenek. Her dosya değişikliği ve komut için izin ister; reddedilen eylem listesi oluşmaz. Daha yavaştır ama her adım gözünüzün önündedir;
  • acceptEdits - dosya değişiklikleri sorun değilse, tartışmalı olanlar yalnızca deploy veya migration gibi komutlarsa. Ancak şunu unutmayın: bu mod çalışma klasöründeki rm ve mv komutlarını sormadan çalıştırır; auto modunda ise sınıflandırıcı mevcut dosyaların silinmesini durduruyordu.

Bu, engeli aşmak değildir; ikisini karıştırmayın. Denetimi kapatmıyorsunuz, sorumluluğu kendiniz alıyorsunuz. Disk kökü ya da ev dizini gibi sistem yollarının silinmesi ise bypassPermissions modunda bile onayınız olmadan gerçekleşmez. Bu modda ve auto modunda Claude Code size sorar; terminalde yanıt vermek için birkaç dakikanız olur. Sormanın mümkün olmadığı yerde auto komutu reddeder, dontAsk ise her zaman reddeder. Burada söz konusu olan başka bir şey: zaten her adımı elle onaylayacaksanız fazladan turlar yapmamak.

Daha üst bir moda geçmenin ikinci nedeni engellemelerle ilgili değildir. Sınıflandırıcı bir eylemin tehlikeli olup olmadığına karar verir, çalışmanın doğru yönde ilerleyip ilerlemediğine değil. Ajan aynı şeyi üçüncü kez değiştiriyor ve sonuç hâlâ yanlışsa auto modunda dördüncü denemeyi de sorusuzca yapar. Claude Code geliştiricileri böyle bir durumda zorlamaya devam etmemenizi öneriyor: plan moduna dönün, planı yeniden netleştirin ve ancak sonra devam edin. Aynı ilke işe başlarken de geçerli. Baştan sona anladığınız bir görevi doğrudan daha serbest bir moda bırakabilirsiniz. Ne elde etmeniz gerektiğinden henüz emin değilseniz plan ile başlayın.

Zararsız görünen bir eylem neden engellenir?

Sınıflandırıcı projeniz hakkında yalnızca görebildiklerini bilir: oturum başlamadan önce ayarlanmış çalışma klasörü ve uzak depolar güvenilir kabul edilir. Çalışma sırasında eklenen bir depo bu kapsama girmez; ona erişmek dışarı çıkmak gibi görünür. Dolayısıyla "zararsız bir komutu engelledi" durumu çoğu zaman komutun kendisinde hata olduğu değil, bağlamın eksik olduğu anlamına gelir.

Bu, çalışma biçimini nasıl değiştirir?

Günlük işlerde her şey dört alışkanlığa dayanır.

  1. işe başlarken göstergeye bakın. Modu gösterir; belirli bir eylem için daha önce verilmiş izinler de önemlidir;
  2. önerilen plan uygulanmadan önce görev sınırlarıyla karşılaştırın. Gereksiz bir adımı sözle çıkarmak, mümkün olan en düşük maliyetli değişikliktir;
  3. planı onayladığınız seçeneğin açıklamasını okuyun: plan modundan çıktıktan sonra oturumun hangi modda süreceğini söyler;
  4. uygulama bittikten sonra sonucu kontrol edin. Görevin doğru çözüldüğünden hiçbir mod sorumlu değildir; bunu sizin kontrol etmeniz gerekir.

Erişim modu "ben olmadan neler yapılabilir?" sorusunu yanıtlar, "doğru yapıldı mı?" sorusunu değil. Hangi modu seçerseniz seçin, ikinci sorunun yanıtı size kalır.