Claude Code hooks nedir?

Kısaca

Claude Code hook’ları, ajanın yaşam döngüsündeki belirli anlarda, örneğin bir araç çalışmadan önce ya da tur bitince, kendiliğinden çalışan kabuk komutlarıdır. Modelin kararına bırakılmadan her seferinde çalıştıkları için kural koymanın ve kontrol eklemenin güvenilir yoludur.

Olaylar

Hook’lar settings.json dosyalarında tanımlanır ve bir olaya bağlanır. Araç olaylarında matcher ile yalnızca belirli araçları, örneğin Bash ya da Edit’i hedefleyebilirsin.

  • PreToolUse: bir araç çalışmadan önce; çağrıyı engelleyebilir.
  • PostToolUse: araç bittikten sonra; örneğin düzenlenen dosyayı biçimlendirmek için.
  • UserPromptSubmit: mesajın modele gitmeden önce.
  • Stop: ajan turunu bitirdiğinde.
  • SessionStart: oturum başlarken; bağlam eklemek için.
  • Notification: Claude Code bir bildirim gönderdiğinde.

Nasıl çalışır?

Hook komutu olayın ayrıntılarını (araç adı, girdisi gibi) standart girişten JSON olarak alır. Çıkış kodu Claude Code’a ne yapacağını söyler: 0 devam demektir, 2 ise işlemi engeller ve hatayı modele iletir. Daha ince kontrol için hook, JSON çıktısıyla bir karar ve açıklama da döndürebilir.

Neler yapılabilir?

Hook’lar, modelin unutabileceği her şeyi kurala dönüştürmek için kullanılır.

  • Tehlikeli komutları ya da .env gibi dosyaların okunmasını engellemek.
  • Her düzenlemeden sonra formatter ya da linter çalıştırmak.
  • Komut çıktısını kısaltmak için komutu yeniden yazmak.
  • Tur bitince bildirim göndermek ya da testleri çalıştırmak.

Dikkat edilecekler

Hook’lar senin kullanıcı yetkilerinle, onay sormadan çalışır; başkasının yazdığı hook’u okumadan ekleme. Yavaş bir hook her araç çağrısını yavaşlatır, bu yüzden hızlı tut. Hook’un döndürdüğü metin modelin bağlamına girebileceği için kısa ve öz olmalı.

AgentVera’da hook’lar

AgentVera, Claude Code ajanlarındaki bazı özelliklerini hook’larla çalıştırır. Yalın bağlam profili ise kullanıcı düzeyindeki hook’ları yüklemez.

  • Akıllı araçlar: tekrar eden dosya okumalarını engelleyen, tüm test koşusunu etkilenen testlere daraltan, düzenlemeden sonra yeni tip hatalarını bildiren ve aynı komutun sonucunu ajanlar arasında paylaşan dört hook. Hepsi varsayılan olarak açıktır.
  • RTK: Claude Code’un Bash komutları bir hook ile kısa çıktı veren sürümlerine çevrilir (git status → rtk git status).
  • Codex’in hook’u olmadığı için RTK orada talimatlarla çalışır; akıllı araçlar yalnızca yerel Claude Code ajanlarındadır.

Sık sorulanlar

Claude Code hook’ları nerede tanımlanır?

settings.json dosyalarında: kullanıcı için ~/.claude/settings.json, proje için .claude/settings.json, yalnızca kendi makinen için .claude/settings.local.json. /hooks komutuyla da yönetebilirsin.

Hook bir komutu nasıl engeller?

PreToolUse hook’u 2 çıkış koduyla biterse araç çağrısı engellenir ve hook’un hata çıktısı modele açıklama olarak gider.

Hook’lar güvenli mi?

Hook’lar senin yetkilerinle çalışan kabuk komutlarıdır; güvenlikleri içeriklerine bağlıdır. Özellikle depodan gelen proje hook’larını çalıştırmadan önce oku.

Hook ile skill arasındaki fark nedir?

Hook belirli bir olayda her seferinde çalışan bir komuttur, model karar vermez. Skill ise modelin gerektiğinde yüklediği talimat ve dosyalardır; kullanıp kullanmamak modele kalır.

İlgili kavramlar

Tüm kavramlar

Kavramları bir de iş başında gör.

AgentVera’yı ücretsiz indir, proje klasörünü ekle; Claude Code, Codex ve diğer ajanları yan yana çalıştır.