← 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.