📅 13 Mayıs 2026 Lokasyon: /goal <condition>, /goal clear Anthropic docs ↗

Uygulandı

Goal: Claude'u Bir Hedefe Doğru Çalıştırma

/goal komutu, bir tamamlanma koşulu belirlemenizi ve Claude'un bu koşul karşılanana kadar her adımda sizden yeni girdi beklemeden çalışmasını sağlar. Her turdan sonra küçük ve hızlı bir model, koşulun karşılanıp karşılanmadığını kontrol eder. Koşul karşılanmadıysa Claude kontrolü size döndürmek yerine yeni bir tura başlar. Koşul karşılandığında goal otomatik olarak temizlenir.

Bir goal kullanmak için uygun senaryolar:

Bu sayfa şunları kapsar:

Diğer otonom iş akışlarıyla karşılaştırma (Compare to other autonomous workflows)

Üç farklı yaklaşım, mevcut oturumu girdiler arasında çalışır durumda tutar. Seçiminizi, bir sonraki turu neyin başlatması gerektiğine göre yapın:

Yaklaşım Sonraki tur ne zaman başlar Ne zaman durur
/goal Önceki tur bittiğinde Model koşulun karşılandığını onayladığında
/loop Bir zaman aralığı geçtiğinde Siz durdurana veya Claude işin bittiğine karar verene kadar
Stop hook Önceki tur bittiğinde Kendi betiğiniz veya prompt'unuz karar verdiğinde

/goal ve Stop hook'u her turdan sonra tetiklenir. /goal oturum kapsamlı bir kısayoldur: bir koşul yazarsınız ve yalnızca geçerli oturum için aktiftir. Stop hook'u ise ayar dosyanızda yaşar, kapsamındaki her oturuma uygulanır ve deterministik kontroller için bir betik veya model değerlendirmeli kontroller için bir prompt çalıştırabilir.

Auto mode tek başına, tek bir tur içinde araç çağrılarını onaylar ancak yeni bir tur başlatmaz. Claude işin bittiğine karar verdiğinde durur. /goal ise her turdan sonra koşulunuzu kontrol eden ayrı bir değerlendirici ekler, böylece tamamlama kararı işi yapan model yerine taze bir model tarafından verilir. İkisi tamamlayıcıdır: auto mode araç başına prompt'ları kaldırır, /goal ise tur başına prompt'ları kaldırır.

Yukarıdaki yaklaşımlar mevcut oturumu çalışır durumda tutar. Ayrıca, gece testleri veya sabah triyajı gibi herhangi bir açık oturumdan bağımsız çalışan işleri de zamanlayabilirsiniz. Bunun için cloud routines ve desktop scheduled tasks seçeneklerine bakın.

/goal kullanımı (Use /goal)

Bir oturumda yalnızca bir goal aktif olabilir. Aynı komut, argümana bağlı olarak goal belirler, kontrol eder ve temizler.

Goal belirleme (Set a goal)

/goal komutunu, ardından karşılanmasını istediğiniz koşulu yazın. Zaten bir goal aktifse yenisi eskisinin yerini alır.

/goal test/auth içindeki tüm testler geçiyor ve lint adımı temiz

Bir goal belirlemek, koşulun kendisini yönerge olarak kullanarak hemen bir tur başlatır. Ayrı bir prompt göndermeniz gerekmez.

goal aktifken, ◎ /goal active göstergesi goal'un ne kadar süredir çalıştığını gösterir. Her turdan sonra değerlendirici, koşulun neden karşılandığını veya karşılanmadığını açıklayan kısa bir gerekçe döndürür. En son gerekçe durum görünümünde ve transkriptte görünür, böylece Claude'un bir sonraki adımda ne üzerinde çalıştığını görebilirsiniz.

Bir goal, koşul karşılanana veya /goal clear çalıştırana kadar çalışmaya devam eder. Argümansız /goal çalıştırmak, şu ana kadar harcanan turları ve token'ları gösterir.

Etkili bir koşul yazma (Write an effective condition)

Değerlendirici, koşulunuzu Claude'un konuşmada ortaya koyduklarına göre değerlendirir. Komutları çalıştırmaz veya dosyaları bağımsız olarak okumaz. Bu nedenle koşulu, Claude'un kendi çıktısının gösterebileceği bir şey olarak yazın.

"test/auth içindeki tüm testler geçiyor" işe yarar çünkü Claude testleri çalıştırır ve sonuç transkripte düşer, değerlendirici de bunu okur.

Birçok tur boyunca geçerli olan bir koşul genellikle şunları içerir:

Koşul en fazla 4.000 karakter olabilir. Bir goal'un ne kadar süreceğini sınırlamak için koşula bir tur veya zaman cümlesi ekleyin, örneğin "veya 20 turdan sonra dur". Claude her turda bu cümleye karşı ilerlemeyi rapor eder ve değerlendirici bunu konuşmadan değerlendirir.

Durum kontrolü (Check status)

Argümansız /goal çalıştırarak mevcut durumu görebilirsiniz:

/goal

Bir goal aktifse durum şunları gösterir:

Hiçbir goal aktif değilse ancak oturumda daha önce bir goal tamamlanmışsa, durum tamamlanan koşulu, süresini, tur sayısını ve token harcamasını gösterir.

Goal temizleme (Clear a goal)

Koşul karşılanmadan önce aktif bir goal'u kaldırmak için /goal clear çalıştırın:

/goal clear

stop, off, reset, none ve cancel komutları clear için takma ad olarak kabul edilir. Yeni bir konuşma başlatmak için /clear çalıştırmak da aktif goal'u kaldırır.

Aktif goal ile devam etme (Resume with an active goal)

Bir oturum sona erdiğinde hâlâ aktif olan bir goal, --resume veya --continue ile oturumu devam ettirdiğinizde geri yüklenir. Koşul taşınır, ancak tur sayısı, zamanlayıcı ve token harcama taban çizgisi devam ettirmede sıfırlanır. Zaten tamamlanmış veya temizlenmiş bir goal geri yüklenmez.

Etkileşimsiz çalıştırma (Run non-interactively)

/goal, etkileşimsiz modda ve Remote Control aracılığıyla çalışır. -p ile bir goal belirlemek, döngüyü tek bir çağrıda tamamlanana kadar çalıştırır:

claude -p "/goal CHANGELOG.md'de bu hafta merge edilen her PR için bir girdi var"

Koşul karşılanmadan önce etkileşimsiz bir goal'u durdurmak için Ctrl+C ile işlemi kesin.

Değerlendirme nasıl çalışır (How evaluation works)

/goal, oturum kapsamlı bir prompt tabanlı Stop hook'unun sarmalayıcısıdır. Claude her turu bitirdiğinde, koşul ve o ana kadarki konuşma, yapılandırdığınız küçük ve hızlı modele (varsayılan olarak Haiku) gönderilir. Model bir evet-hayır kararı ve kısa bir gerekçe döndürür.

"Hayır" yanıtı Claude'a çalışmaya devam etmesini söyler ve gerekçeyi bir sonraki tur için rehber olarak ekler. "Evet" yanıtı goal'u temizler ve transkripte tamamlanmış bir girdi kaydeder.

Değerlendirici, oturumunuzun yapılandırıldığı sağlayıcıda çalışır. Araçları çağırmaz, bu nedenle yalnızca Claude'un konuşmada zaten ortaya koyduklarını değerlendirebilir. Değerlendirme token'ları, sağlayıcınız için yapılandırılan küçük ve hızlı model üzerinden faturalandırılır ve genellikle ana tur harcamasına kıyasla ihmal edilebilir düzeydedir.

Gereksinimler (Requirements)

/goal yalnızca güven iletişim kutusunu kabul ettiğiniz çalışma alanlarında çalışır, çünkü değerlendirici hook sisteminin bir parçasıdır. /goal ayrıca, herhangi bir ayar seviyesinde disableAllHooks ayarlandığında veya yönetilen ayarlarda allowManagedHooksOnly ayarlandığında kullanılamaz. Bu durumların her birinde komut, sessizce hiçbir şey yapmak yerine nedenini söyler.

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

Örnek kullanım senaryosu

Bir geliştirici, mevcut bir REST API istemcisini yeni bir GraphQL tabanlı istemciye dönüştürmekle görevlendirilmiş olsun. Proje 50'den fazla dosyayı etkiliyor ve her bir çağrı noktasının manuel olarak kontrol edilmesi saatler sürecek.

  1. Geliştirici terminalde proje dizinine gider ve Claude Code'u başlatır:

    cd /proje/yolu
    claude
    
  2. Bir goal belirler:

    /goal Tüm API çağrıları GraphQL'e dönüştürüldü, tüm testler geçiyor (npm test çıkış kodu 0) ve git status temiz, veya 30 turdan sonra dur
    
  3. Claude hemen ilk tura başlar: dosyaları analiz eder, dönüşümleri uygular, testleri çalıştırır. Her turdan sonra değerlendirici koşulu kontrol eder.

    1. turda bir test başarısız olur. Değerlendirici "hayır" döndürür ve gerekçeyi ekler: "test/auth içindeki authGraphQL.test.js başarısız — yanlış endpoint yapılandırması". Claude bu bilgiyi alır ve 16. turda hatayı düzeltir.
    1. turda tüm testler geçer ve git status temizdir. Değerlendirici "evet" döndürür, goal temizlenir ve geliştiriciye tamamlandı bildirimi gösterilir.
  4. Geliştirici, durumu kontrol etmek için /goal çalıştırır ve tamamlanan goal'un özetini görür: 22 tur, ~45.000 token harcaması, 12 dakika süre.

Bu senaryoda geliştirici, her dosya değişikliğinden sonra "testleri çalıştır, sonucu göster" demek zorunda kalmamış, Claude otomatik olarak döngüyü yönetmiştir.