Deep Agents is an agent harness from the LangChain ecosystem that runs out of the box with defaults tuned for long-horizon, multi-step work. Every piece can be extended, overridden, or replaced without forking. It works with any model that supports tool calling: frontier APIs such as OpenAI, Anthropic, and Google, open-weight models on hosts like Baseten, and self-hosted models through Ollama, vLLM, or llama.cpp.
The project sits in a three-layer stack. LangGraph is the graph runtime, LangChain's create_agent is a minimal harness on top of it, and Deep Agents is a more opinionated harness on top of create_agent that bundles a filesystem, sub-agents, context management, and skills. Any compiled LangGraph graph can be passed in as a sub-agent, so custom orchestration composes with the harness defaults. Streaming, persistence, and checkpointing come from LangGraph, and tracing, evaluation, and deployment come from LangSmith.
A JavaScript and TypeScript version is maintained separately, and Deep Agents Code is a pre-built terminal coding agent built on the harness. The security model trusts the LLM: the agent can do anything its tools allow, so boundaries are enforced at the tool or sandbox level.
Features
- Sub-agents: delegate tasks to agents with isolated context windows
- Filesystem: read, write, edit, or search over pluggable local, sandboxed, or remote backends
- Context management: summarize long threads and offload tool outputs to disk
- Shell access: run commands in a sandbox of choice
- Persistent memory: pluggable state and store backends for cross-session recall
- Human-in-the-loop: approve, edit, or reject tool calls before they run
- Skills: reusable behaviors the agent loads on demand
- Tools: custom functions or any MCP server
- Composable graphs: any LangGraph compiled graph can serve as a sub-agent

