Hooks'a giriş
Introducing hooks
Hook’lar, Claude bir tool çalıştırmaya çalışmadan önce veya sonra komutlar çalıştırmanıza olanak tanır. File edit’lerinden sonra code formatter çalıştırmak, dosyalar değiştiğinde testleri yürütmek veya belirli dosyalara erişimi engellemek gibi otomatik iş akışlarını uygulamak için inanılmaz derecede faydalıdırlar.
Hook’lar Nasıl Çalışır
Hook’ları anlamak için önce Claude Code ile etkileşime girdiğinizdeki normal akışı gözden geçirelim. Claude’a bir şey sorduğunuzda, sorgunuz tool tanımlarıyla birlikte Claude modeline gönderilir. Claude formatlı bir yanıt sağlayarak bir tool kullanmaya karar verebilir, ardından Claude Code o tool’u çalıştırır ve sonucu döner.
Hook’lar bu sürece kendilerini ekler ve tool çalıştırılmadan hemen önce veya hemen sonra kod yürütmenize olanak tanır.

En yaygın iki hook türü aşağıdadır (sonraki bir derste diğer hook’ları da göreceksiniz):
- PreToolUse hooks - Bir tool çağrılmadan önce çalışır
- PostToolUse hooks - Bir tool çağrıldıktan sonra çalışır
Hook Konfigürasyonu
Hook’lar Claude settings dosyalarında tanımlanır. Şunlara ekleyebilirsiniz:
- Global -
~/.claude/settings.json(tüm projeleri etkiler) - Project -
.claude/settings.json(ekiple paylaşılır) - Project (commit edilmeyen) -
.claude/settings.local.json(kişisel ayarlar)
Hook’ları bu dosyalara elle yazabilir veya Claude Code içinde /hooks komutunu kullanabilirsiniz.

Konfigürasyon yapısı iki ana bölüm içerir:

PreToolUse Hooks
PreToolUse hook’ları, bir tool çalıştırılmadan önce çalışır. Hangi tool türlerini hedefleyeceğinizi belirten bir matcher içerirler:
"PreToolUse": [
{
"matcher": "Read",
"hooks": [
{
"type": "command",
"command": "node /home/hooks/read_hook.js"
}
]
}
]
‘Read’ tool’u çalıştırılmadan önce, bu konfigürasyon belirtilen komutu çalıştırır. Komutunuz, Claude’un yapmak istediği tool çağrısı hakkında ayrıntılar alır ve şunları yapabilirsiniz:
- Operasyonun normal şekilde devam etmesine izin verin
- Tool çağrısını engelleyin ve Claude’a bir hata mesajı geri gönderin
PostToolUse Hooks
PostToolUse hook’ları, bir tool çalıştırıldıktan sonra çalışır. İşte write, edit veya multi-edit operasyonlarından sonra tetiklenen bir örnek:
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "node /home/hooks/edit_hook.js"
}
]
}
]
Tool çağrısı zaten gerçekleştiğinden, PostToolUse hook’ları operasyonu engelleyemez. Ancak şunları yapabilirler:
- Takip eden operasyonlar çalıştırma (yeni edit edilmiş bir dosyayı formatlamak gibi)
- Tool kullanımı hakkında Claude’a ek geri bildirim sağlama

Pratik Uygulamalar
İşte hook’ları kullanmanın bazı yaygın yolları:
- Code formatting - Claude dosyaları edit ettikten sonra otomatik olarak formatla
- Testing - Dosyalar değiştiğinde testleri otomatik olarak çalıştır
- Access control - Claude’un belirli dosyaları okumasını veya edit etmesini engelle
- Code quality - Linter veya type checker çalıştır ve Claude’a geri bildirim sağla
- Logging - Claude’un eriştiği veya değiştirdiği dosyaları takip et
- Validation - Naming convention’ları veya coding standard’ları kontrol et
Buradaki temel içgörü, hook’ların kendi tool ve süreçlerinizi iş akışına entegre ederek Claude Code’un yeteneklerini genişletmenize olanak tanımasıdır. PreToolUse hook’ları size Claude’un ne yapabileceği üzerinde kontrol verirken, PostToolUse hook’ları Claude’un yaptıklarını geliştirmenize olanak tanır.