Comparisons / Eve vs LangGraph
Eve vs LangGraph: Which Agent Framework to Use?
Eve vs LangGraph, head to head
Eve and LangGraph both target the same problem — durable, stateful, multi-step agent workflows — and both are the answer their respective ecosystems arrived at. Everything past that is language and mental model.
LangGraph is Python-first and models the workflow as a graph of nodes with typed state channels. StateGraph holds nodes (functions), edges (conditional or unconditional), and a shared State object with reducers like add_messages that append instead of overwriting. It shipped 1.0 GA in October 2025 alongside LangChain 1.0 — API stability is now the point. Persistence comes from MemorySaver / PostgresSaver checkpointers; human-in-the-loop from interrupt_before / interrupt_after; parallel fanout from multiple edges + reducers.
Eve is TypeScript-first and models the agent as a directory of files. agent.ts + instructions.md at the root; tools/, skills/, subagents/, channels/, schedules/ as subfolders. Durability comes from the Vercel Workflow SDK — the runtime checkpoints every step, so an agent crashed mid-execution resumes on next invocation. Sub-agent hand-off is a call into a file under subagents/. Sandboxed code exec is a Vercel Sandbox API call.
The abstraction shapes are legitimately different: LangGraph asks you to think in state machines and typed reducers; Eve asks you to think in filesystems and conventions. Neither is "better" — they're built for different populations. Python teams already reasoning about Annotated[list, add_messages] will pick LangGraph; TypeScript teams already reasoning about app/ directories will pick Eve.
Pick Eve if
Pick Eve when the team is TypeScript-native and durable execution + sandboxed exec are the actual constraints.
- Vercel is the deploy target; Workflow SDK + Sandbox + AI Gateway ship together and you'd otherwise glue three services.
- You want filesystem-shaped conventions — a new engineer knows where tools go without reading a wiki.
- The agent runs LLM-generated code and Sandbox is the real leverage.
- Persistence + retry + sub-agent hand-off is what you need; you don't need typed state reducers or a graph DSL.
Pick LangGraph if
Pick LangGraph when Python is the stack and the workflow is genuinely graph-shaped.
- Your workflow has real branching, parallel fanout with merge, or human approval gates — the graph DSL earns its cost.
- LangSmith tracing pays for itself; you want node-by-node execution traces with state diffs in production.
- You're already in the LangChain ecosystem and graduating from
AgentExecutorwithout rewriting your tool + memory layer. - Typed state channels with reducers match how your team already thinks about state — the graph reads like a state machine to you.
By the numbers
By the numbers
Eve
3.5k
180
TypeScript
Apache-2.0
2026-06-17
Vercel
Vercel (public)
Runs on Vercel Sandbox + AI Gateway; deploys anywhere Node runs
Yes
LangGraph
18.9k
3.4k
Python
MIT
2024-01-17
LangChain Inc (Harrison Chase)
Sequoia Capital, Benchmark
Part of LangChain Inc — $50M raised across A and B
8.2M
LangGraph Platform (hosted), LangSmith (observability)
Yes
Used by: Replit, Klarna, Elastic
github.com/langchain-ai/langgraph→GitHub stats as of April 2026. Stars indicate community interest, not necessarily quality or fit for your use case.
| Concept | Eve | LangGraph |
|---|---|---|
| Agent | A directory with `agent.ts` + `instructions.md` + subfolders — the framework wires them together | A `StateGraph` with nodes, edges, and a typed `State` channel |
| Tools | Each file in `tools/` exports one tool; schema comes from a Zod export | `ToolNode(tools)` paired with a conditional edge for routing |
| Durability | Vercel Workflow SDK checkpoints every step so a crashed agent resumes where it left off | — |
| Sub-agents | Each `subagents/*.ts` becomes a callable sub-agent the parent can hand off to | — |
| Sandboxed exec | Vercel Sandbox runs untrusted code in isolated micro-VMs, one API call away | — |
| Schedules | `schedules/*.ts` exports a cron expression + handler; Vercel runs it | — |
| Loop | — | `add_conditional_edges` from a node back to itself until a `END` condition |
| State | — | Typed `State` channels with reducers (`Annotated[list, add_messages]`) |
| Checkpointing | — | `MemorySaver` / `PostgresSaver` persists state per `thread_id` |
| Human-in-loop | — | `interrupt_before` / `interrupt_after` pauses execution for review |
| Parallel fanout | — | Multiple edges from one node + reducers merge results |
Or build your own in 60 lines
Both Eve and LangGraph implement the same 8 patterns. An agent is a function. Tools are a dict. The loop is a while loop. The whole thing composes in ~60 lines of Python.
No framework. No dependencies. No opinions. Just the code.
Build it from scratch →