mrkeyoor.com_
Tue 01 Sept 17:40 UTC
LLM Toolsevaluationupdated 26 Aug 2026

deepagents review

Deep Agents is LangChain's opinionated Python harness for agents that work across long, multi-step tasks. It bundles planning, file and shell tools, subagents, context compression, memory, human approval, skills, and MCP tools on top of LangChain and LangGraph, while letting developers replace those pieces.

+290stars / 7d
Verdict

Our Deep Agents install added 82 packages and built in 30 seconds combined, but pytest collected 0 tests and exited 4 on an unknown asyncio option. The framework is a strong candidate for teams already committed to LangChain that want files, delegation, memory, and MCP in one harness, provided every dangerous tool runs inside a real sandbox. Start lower in the stack when you need a small agent, a custom graph, or predictable control over each transition.

We ran it

Lab card: what happened when we ran deepagentsScreenshot of deepagents (docs.langchain.com/deepagents)
Install✓ · 24s82 packages · 120 MB
Build✓ · 6s
Tests✗ · 39s0 passed · 0 failed of 0 (pytest)
Known vulns0(pip-audit)
Repo1542 files~670,112 lines of source · 59.1 MB · 55 CI workflows · tests dir

Answers from our run

Does deepagents build from source?

Dependencies installed in 24 seconds (82 packages), and the build succeeded in 6 seconds. We cloned commit 9bef676 into a clean Debian container with 3 CPUs and no project-specific setup.

Do deepagents's tests pass?

Yes: 0 of 0 passed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does deepagents have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use deepagents?

Applications that need a small deterministic tool-calling loop: the README directs those users to LangChain's lighter create_agent or a custom LangGraph graph.

What are the alternatives to deepagents?

LangGraph, Pydantic AI, Codex CLI. Our Deep Agents install added 82 packages and built in 30 seconds combined, but pytest collected 0 tests and exited 4 on an unknown asyncio option.

Setup3/5Install and build passed; pytest stopped before collection
Docs5/5Clear stack position, quickstart, API reference, production, and security
Community5/528,521 stars with releases and issue activity on August 25-26
Maturity3/5Fast-moving 0.7.x project with open file, shell, and MCP bugs

Discussed on

  1. hnDeepagents3 points

Who it’s for

Python teams that want a full agent loop without assembling every LangGraph component themselves.
Developers building research, coding, or operations agents that need files, subagents, persistent state, and tool approval.
LangChain users who already understand model-provider credentials, tracing, checkpoint storage, and sandbox design.

Who it’s NOT for

Applications that need a small deterministic tool-calling loop: the README directs those users to LangChain's lighter create_agent or a custom LangGraph graph.
Teams unable to sandbox shell and filesystem access: the security section says the model can do anything its tools permit and boundaries must be enforced outside the model.
Users who require a clean test result from the measured commit: pytest exited 4 before collecting any tests because it rejected asyncio_default_fixture_loop_scope.
MCP setups that cannot audit final tool names: open issue 4666 reports that two prefixed tools can collide and silently replace one another.

Setup reality

Our install succeeded in 24 seconds, adding 82 Python packages and using 120 MB. The build passed in 6 seconds. Tests failed with exit 4 after 39 seconds: pytest ran 0 tests because it rejected the config option asyncio_default_fixture_loop_scope. Pip-audit found 0 known vulnerabilities.

Useful agents need a tool-calling model, its local endpoint or provider credentials, and explicit backends for files, shell, memory, and checkpoints. LangSmith tracing or deployment adds separate configuration and credentials. MCP servers bring their own commands and trust boundaries.

The measured commit's project lived under libs/cli/; release 0.7.9 later removed that deprecated path. The 59.1 MB checkout had 1,542 files, about 670,112 source lines, 55 CI workflows, a tests directory, and no Dockerfile.

Deep Agents bundles the parts that minimal agents leave to you

A call to create_deep_agent starts with an agent that can plan, manage a long context, delegate work, and use files. Developers can add functions, connect MCP servers, swap the model, select a filesystem backend, persist memory, or place approval in front of tool calls. LangGraph supplies streaming, checkpoints, and execution underneath. That is much more machinery than sending a prompt and one tool list to a chat model.

The bundle makes sense for tasks that span many steps or produce artifacts. A research agent can offload large tool results to disk; a coding agent can assign isolated questions to subagents; an operations assistant can pause before a consequential call. If your application only needs to look up an order and format a response, LangChain's smaller create_agent has fewer moving parts. The README makes that layering explicit rather than claiming every agent needs the full harness.

The 6-second build passed, but pytest collected 0 tests

Our sandbox installed 82 packages in 24 seconds and used 120 MB. Building commit 9bef676 took 6 seconds and succeeded. Pip-audit found 0 known vulnerabilities in the installed Python environment. The test command did not reach the suite: after 39 seconds, pytest exited with code 4 and reported 0 passed, 0 failed, and 0 collected.

The checkout contained 1,542 files, roughly 670,112 source lines, and 59.1 MB. It had 55 CI workflow files, a tests directory, and no Dockerfile. Those repository signals show substantial automation, but our exact environment still failed before collection. A buyer should reproduce the supported development command from the pinned revision instead of treating visible CI volume as proof that any local pytest invocation will work.

What happened when we ran it

Our run installed Deep Agents in 24 seconds and built it in 6 seconds on 3 CPUs with 8 GB of RAM. Installation added 82 packages and occupied 120 MB. The dependency audit returned 0 known vulnerabilities. No error appeared during install or build.

Pytest failed with exit 4 after 39 seconds. Its final message was ERROR: Unknown config option: asyncio_default_fixture_loop_scope, followed by no tests ran in 0.21s. The log does not say which dependency, plugin, or project setting caused that mismatch, so we will not assign one. The measured fact is that no test executed in our Python 3.12 Bookworm image. This is a configuration failure, not evidence that application assertions passed or failed.

The measured CLI path was removed immediately after our commit

At commit 9bef676, our harness detected the project under libs/cli/. Release deepagents==0.7.9, published August 25, 2026, says the deprecated libs/cli package was removed. The current README instead separates the Python deepagents package from Deep Agents Code, a prebuilt terminal agent installed through its own command. Pinning the revision is essential when comparing our lab result with today's tree.

The same release fixed excluded-tool execution, rubric coverage, and timeout documentation, while raising dependency minimums. That is active maintenance and a reminder that interfaces are still moving in the 0.7 series. If you adopt the library, pin Deep Agents, LangChain, LangGraph, model integrations, and checkpoint schema together. Run migrations and stored-thread tests before upgrading a production agent.

Shell and file tools need boundaries the model cannot change

The README's security position is direct: the agent can do anything exposed by its tools, so enforcement belongs in the tool or sandbox layer. A system prompt is not an access-control list. Give the agent a narrow working directory, a disposable execution environment, scoped network access, short-lived credentials, resource limits, and approval for destructive or external actions. Log the requested call and the approved arguments.

Open issue 5589 shows why backend validation also matters. It reports that an empty search string passed to edit_file with replacement enabled can insert text at every character boundary and report success. Issue 4329 describes executed subprocesses opening /dev/tty and competing with the terminal UI for input. Both are specific failure paths around high-authority tools. Sandbox recovery and file snapshots should exist even when the model behaves exactly as asked.

MCP support is useful only with a collision and trust review

Deep Agents can accept tools from MCP servers, which makes external systems available without writing every adapter inside the application. The same convenience expands the naming and security surface. Issue 4666 reports that different server and tool-name pairs can normalize to the same final name, and that an MCP tool can also collide with a built-in filesystem tool. In the reproduction, a later tool silently replaces the earlier one.

Enumerate the final tool set before agent creation, reject duplicate names, and record each tool's server and permissions. Treat project-supplied MCP configuration as code. GitHub showed 28,521 stars, 188 combined issues and pull requests, and a last push on August 26, 2026; v0.7.9 shipped the previous day. Deep Agents is lively and capable. Its value comes with a large authority surface that needs engineering controls beyond the harness itself.

Alternatives

ProjectWhat it isPick it when
LangGraph gh↗A lower-level graph runtime for explicit state, control flow, persistence, and human intervention.pick this instead when your workflow needs a custom graph or tighter control than Deep Agents' bundled loop.
Pydantic AIA Python agent framework centered on typed dependencies, outputs, tools, and model portability.pick this instead when typed application integration matters more than bundled files, subagents, and skills.
Codex CLI gh↗A finished terminal coding agent with repository tools and an interactive approval model.pick this instead when you want to use a coding agent rather than build and host your own harness.

What people are saying

  1. [github-trending] langchain-ai/deepagents

Sources

  1. Deep Agents README
  2. Deep Agents 0.7.9 release
  3. Empty edit search string corruption report
  4. Execute subprocess terminal-input report
  5. MCP tool-name collision report

More llm tools reviews

rig · open-knowledge · graphiti · cve-mcp-server · minimind · SillyTavern · the whole board →