# 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]]