What problem does it solve? Building multi-agent workflows with LangChain Deep Agents requires correctly wiring subagent delegation, task planning, and human-in-the-loop approval, and misconfiguring any of these (missing checkpointers, lost thread IDs, stateless subagent assumptions) causes silent failures. ## Core Features & Use Cases - SubAgentMiddleware: Delegate work to specialized subagents via the task tool, with custom tools, prompts, and per-subagent interrupt rules. - TodoListMiddleware: Plan and track multi-step tasks with the write_todos tool using pending/in_progress/completed statuses. - HumanInTheLoopMiddleware: Pause execution before sensitive tool calls and approve, reject, or edit proposed actions via Command(resume=...). - Use Case: Build a code-deployment agent where a subagent runs tests and deploys, but the deploy_to_prod tool requires human approval before execution, with the full workflow resumable via a thread ID. ## Quick Start Create a deep agent with a custom subagent and interrupt_on approval for a sensitive tool, then resume the paused run with an approve decision using the same thread ID.