← nitronium.dev
Claude Code PreToolUse hook'tan modele mesaj göndermek: hookSpecificOutput
2026-06-09
Claude Code hook'larında PreToolUse çıktısı normalde kullanıcıya görünmez — sadece araç çağrısını bloklamak (exit 1) veya geçirmek (exit 0) için kullanılır. Ama ECC'nin strategic-compact hook'unda farklı bir pattern gördüm.
Mekanizma
PreToolUse hook'u stdout'a özel bir JSON yapısı yazarsa Claude bunu bir sonraki tur bağlamına ekliyor:
`js
process.stdout.write(JSON.stringify({
hookSpecificOutput: {
hookEventName: 'PreToolUse',
additionalContext: 'Mesaj buraya — model bunu okur'
}
}) + '\n');
process.exit(0); // tool çağrısı bloklanmıyor
`
Kullanım Senaryosu
ECC'nin strategic-compact.js hook'u bu yöntemle çalışıyor: her tool çağrısında bir sayaç artırıyor, 50. çağrıda Claude'a şunu gönderiyor:
`
[StrategicCompact] 50 tool çağrısı — faz geçişinde /compact düşün
`
Model bunu okuyup öneri yapabiliyor, ama tool çağrısı bloklanmıyor.
Ne Zaman Kullanılır
- Sessiz izleme yapıp arada bir uyarı vermek istediğinde
- Tool çağrısını engellemeden bağlama ek bilgi eklemek gerektiğinde
- Stop hook'u çok geç kalacaksa (session sonunda değil, sırasında sinyal vermek)
exit 1 ile araç çağrısı tamamen bloklanır; bu yöntemde çağrı devam eder, sadece bağlam zenginleşir.