Claude Code In Action
← Alle lessen
Les 105Claude Code In Action

Hooks

Samenvatting (audio)

Geen audio-samenvatting voor deze les.

Studienotities

Belangrijkste Concepten Hooks

  • Wat is een Hook?
  • Een deterministische code op een vast punt in de loop.
  • Maakt een regel die Claude normaal volgt, tot een regel die Claude altijd volgt (kan niet overslaan).
  • Hiermee kan meer gegarandeerd worden dan alleen op een run die je actief volgt.
  • Belangrijke Hook Events:
  • Pre-tool use: Vuur vóór een tool-aanroep (de 'enforcement primitive').
  • Post-tool use: Vuur ná een succesvolle tool-aanroep (geschikt voor auto-formatting of linten).
  • Stop: Vuur wanneer Claude zijn beurt wil beëindigen.
  • Refuse: Vuur als bepaalde voorwaarden niet zijn voldaan.
  • Subagent stop: Signaal voor het afronden van een subagent.
  • Pre-compact / Post-compact: Vuur vóór en ná compacting.
  • Session start: Initialiseert de omgeving; kan met de 'compact matcher' worden gebruikt om context te herinjecteren na compacting.
  • Instructions loaded: Vuur wanneer een regelbestand (bv. Claude. md) wordt geladen.
  • Acties en Return Waarden (Pre-tool use):
  • JSON retourneren: Voor een duidelijke beslissing.
  • Decision Field: Kan allow, deny, of ask retourneren.
  • Defer: Een vierde waarde, alleen relevant voor niet-interactieve runs (proces pauzeert en hervat).
  • Updated Input: Kan de tool-aanroep wijzigen (bv. om geheimen te verwijderen). Let op: dit vervangt het hele input-object.
  • Exit Codes: Werken ook voor hooks die geen JSON retourneren.
  • Exit Codes (Drie Belangrijke Getallen):
  • 0 (Succes): De standaarduitvoer (stdout) wordt door Claude geparseerd (bij JSON).
  • 1 (Niet-blokkerend): Wordt niet gezien als een fout; Claude voert de opdracht toch uit.
  • 2 (Blokkerende Fout): De standaardfout (stderr) wordt teruggevoerd naar Claude als context. Dit is de blokkerende exit code.
  • Belangrijke Nuances:
  • Post-tool use: Te laat om de aanroep te stoppen, maar kan tekst terugsturen naar Claude.
  • Non-blocking Events: Sommige events (bv. notification, session start, file change) negeren blokkerende exit codes en laten de uitvoering doorgaan.
  • Guardrails: Een pre-tool use guardrail kan een gevaarlijke aanroep stoppen (deny) of deze herschrijven (updated input).
  • Context Behoud: De session start hook met de compact matcher zorgt ervoor dat de samenvatting van de bestanden na compacting terug in de context wordt geplaatst, zodat Claude niet 'koud' begint.

Takeaways

  • Een Hook is deterministische code op een vast punt in de loop die een regel altijd uitvoert, wat meer gegarandeerd is dan een standaard run.
  • De Pre-tool use hook is de primaire 'enforcement primitive' om gevaarlijke aanroepen te stoppen (deny) of de input te herschrijven (updated input).
  • Hooks sturen de uitvoering via acties zoals allow, deny, ask, of defer (pauzeren voor niet-interactieve runs).
  • Exit Code 2 is een blokkerende fout die als context aan Claude wordt teruggevoerd, terwijl Exit Code 1 niet-blokkerend is.
Flashcards 10 kaarten
Vraag
klik om te onthullen · ←/→
Antwoord
klik om terug te draaien
Exporteren naar Anki (.tsv) ↓
Kenniscontrole 0 vragen

No quiz for this lesson yet.