referans
Hooks
Workflow'ları deterministik kılmak için 27 lifecycle hook. Her hook için faz, açıklama ve örnek kullanım.
Hooks, Claude Code'un belirli olaylarda (oturum başlatma, tool kullanma, sub-agent dispatch, compaction, dosya değişikliği vb.) shell komutu çalıştırmanı sağlayan deterministik bir mekanizma. Aşağıda mevcut tüm hook'lar fazlarına göre gruplanmış.
Session lifecycle
-
InstructionsLoadedCLAUDE.md ve .claude/rules context'e enjekte edildiğinde tetiklenir.
→ Yüklenen kuralları doğrulama, bildirim çalma.
-
SessionEndOturum kapatıldığında çalışır.
→ Telemetry, log rotasyonu, geçici dosya temizliği.
-
SessionStartYeni bir Claude Code oturumu başladığında, CLAUDE.md ve rule dosyaları yüklenmeden önce tetiklenir.
→ Repo doğrulama, ortam hazırlığı, hoş geldin notu.
Turn
-
PostToolUseTool çağrısı başarıyla tamamlandıktan sonra çalışır.
→ Otomatik biçimlendirme, lint, test koşumu, telemetri.
-
PostToolUseFailureBir araç çağrısı hata verdiğinde tetiklenir.
→ Hata raporlama, otomatik yeniden deneme kararı.
-
PreToolUseBir tool çağrılmadan hemen önce tetiklenir; izin akışından önce gelir.
→ Yan etkili komutları engelleme, audit log.
-
StopClaude bir turu tamamladığında çalışır.
→ Tamamlanma sesi, durum çubuğu güncellemesi.
-
StopFailureBir API hatası veya iptal durumunda, tur yarıda kaldığında tetiklenir.
→ Hata bildirimi, fallback model çağrısı.
-
UserPromptSubmitKullanıcı bir prompt gönderdiğinde, model çağrısından önce çalışır.
→ Prompt önizleme, denylist filtresi, retorik enjekte etme.
Sub-agent
-
SubagentStartBir sub-agent dispatch edildiğinde tetiklenir.
→ Sub-agent kullanım metrikleri.
-
SubagentStopSub-agent işini tamamlayıp ana sürece döndüğünde tetiklenir.
→ Süre ölçümü, sonuç doğrulama.
Context
-
PostCompactSıkıştırma tamamlandığında tetiklenir.
→ Yeni context boyutunu loglama.
-
PreCompactContext compaction başlamadan önce çalışır.
→ Önemli notları memory'ye taşıma.
Idle
-
NotificationClaude 1 dakika boyunca boşta kalırsa tetiklenir.
→ Sesli bildirim, ekran uyarısı.
Tasks
-
TaskCompletedGörev tamamlandı durumuna geçtiğinde tetiklenir.
→ CI tetikleme, metrik.
-
TaskCreatedYeni bir görev oluşturulduğunda çalışır.
→ Görev panosu senkronizasyonu, Slack bildirimi.
MCP
-
ElicitationMCP elicitation isteği geldiğinde tetiklenir.
→ Onay akışını otomatikleştirme.
-
ElicitationResultElicitation sonucu döndüğünde çalışır.
→ Denetim günlüğü.
Settings
-
ConfigChange`settings.json` değiştiğinde tetiklenir.
→ Ayar doğrulaması, ekip tarafından paylaşılan kural.
Workspace
-
CurrentWorkingDirectoryChangeÇalışma dizini değiştiğinde tetiklenir.
→ Yol farkındalığına sahip araçlar.
-
FileChangedİzlenen bir dosya (örn. .env) değiştiğinde tetiklenir.
→ Yeniden yükleme, gizli anahtar rotasyonu.
-
SetupProje kurulum adımı çalıştırıldığında tetiklenir.
→ Ek kurulum adımları, smoke test.
-
SetupFailureSetup başarısız olduğunda tetiklenir.
→ Hata bildirimi, fallback.
-
WorktreeCreatedYeni bir git worktree açıldığında tetiklenir.
→ Branch-bazlı ortam kurulumu.
-
WorktreeRemovedWorktree kapatıldığında çalışır.
→ Temizlik.
Agent teams
-
TeammateIdleAgent team teammate’i idle kaldığında tetiklenir.
→ Görev yeniden dağıtımı.
Errors
-
ApiErrorGeçersiz API anahtarı veya backend hatası durumunda tetiklenir.
→ Bildirim, anahtar rotasyonu.