Intermediate12 min
Prebuilt Middleware Catalog
LangChain and Deep Agents ship 15+ production-ready middleware for reliability, cost control, security, and agentic capabilities. Use them individually or stacked to cover cross-cutting concerns without touching your agent's core logic.
Quick Reference
- →ModelFallbackMiddleware('gpt-4.1-mini', 'claude-sonnet-4-6') — auto-fallback on provider failure
- →PIIMiddleware('email', strategy='redact', apply_to_input=True) — sanitize user data
- →ToolRetryMiddleware(max_retries=3, retry_on=(ConnectionError, TimeoutError)) — resilient tools
- →LLMToolSelectorMiddleware(max_tools=3) — pre-filter tools for large tool sets
- →TodoListMiddleware() — add write_todos tool + planning system prompt
All Prebuilt Middleware
| Middleware | Package | What It Does |
|---|---|---|
| SummarizationMiddleware | langchain | Compress old messages when approaching token limits |
| HumanInTheLoopMiddleware | langchain | Pause for human approval before specific tool calls |
| ModelCallLimitMiddleware | langchain | Cap model calls per run or thread to control costs |
| ToolCallLimitMiddleware | langchain | Cap tool calls globally or per-tool |
| ModelFallbackMiddleware | langchain | Auto-fallback to backup models on provider failure |
| ModelRetryMiddleware | langchain | Retry failed model calls with exponential backoff |
| ToolRetryMiddleware | langchain | Retry failed tool calls with exponential backoff |
| PIIMiddleware | langchain | Detect and redact/mask/block PII in messages |
| LLMToolSelectorMiddleware | langchain | Use an LLM to pre-filter relevant tools |
| LLMToolEmulator | langchain | Replace real tool calls with LLM-generated responses (testing) |
| ContextEditingMiddleware | langchain | Clear old tool outputs when token limits are reached |
| TodoListMiddleware | langchain | Add task planning + write_todos tool |
| ShellToolMiddleware | langchain | Expose a persistent shell session to the agent |
| FilesystemFileSearchMiddleware | langchain | Add Glob and Grep search tools over a directory |
| FilesystemMiddleware | deepagents | ls / read_file / write_file / edit_file for context engineering |
| SubAgentMiddleware | deepagents | Spawn task subagents to isolate context |