Middleware
Intercept, modify, log, retry, and guard agent execution at every stage using the middleware pipeline.
How It Works
Agent.run(input)
│
▼ beforeAgentRun (all middleware, in order)
│
▼ beforeLLMCall → (LLM call) → afterLLMCall
│
▼ beforeToolCall → (tool execution) → afterToolCall
│
▼ afterAgentRun (all middleware, in reverse order)
│
▼ resultAdding Middleware to an Agent
Lifecycle Hooks
Hook
Fires When
Context Keys
Middleware Return Values (AiMiddlewareResult)
AiMiddlewareResult)Factory Method
Effect
Built-in Middleware
Middleware
When to Use It
LoggingMiddleware
RetryMiddleware
GuardrailMiddleware
MaxToolCallsMiddleware
HumanInTheLoopMiddleware
FlightRecorderMiddleware
Struct-Based Inline Middleware
Custom Middleware Class
Combining Middleware
Related Pages
Last updated