# Strands Hooks Hooks are [[Strands Agents]]' type-safe, composable extensibility mechanism for subscribing to lifecycle events in the [[Strands Agent Loop|agent loop]]. They let you monitor, modify behavior (intercept or alter tool execution, validate responses, retry), log, collect metrics, and control flow, without forking the agent. ## Key events - `BeforeInvocationEvent` / `AfterInvocationEvent` - `BeforeToolCallEvent` / `AfterToolCallEvent` Related hooks can be packaged together as plugins. Hooks are also where human-in-the-loop **interrupts** are commonly triggered (e.g. pausing in `BeforeToolCallEvent` to ask the user). ## Related - [[Strands Agents]] - [[Strands Agent Loop]] - [[Strands State]] - [[Agentic Engineering]]