LangGraph
A low-level framework for resilient, long-running stateful agent and workflow orchestration.
- Source repo
- langchain-ai/langgraph
- Stars
- ★ 45k
- Last updated
- 1d ago
- License
- MIT
- Primary language
- Python
- FA score
- 44/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- An application developer whose workflow must continue after a failure can use it to orchestrate long-running stateful execution.
- Not a fit if
- Teams wanting fast high-level agent building should use Deep Agents instead
- JavaScript/TypeScript projects, since this repo ships only the Python package
- Source review
- 44/100 · Major gaps 8 safety controls not found
What does this agent do, and when should you use it?
LangGraph is a low-level orchestration framework from LangChain Inc for building, managing, and deploying long-running, stateful agents. It provides infrastructure for durable execution, human oversight, and both short-term and long-term memory. A workflow can resume after a failure from where it left off, while people can inspect and modify its state during execution. It can be used independently or alongside LangChain, Deep Agents, LangSmith, and LangSmith Deployment; the README positions LangSmith as a companion for debugging, evaluation, observability, and deployment-related work. The repository distributes the Python package langgraph, while JavaScript and TypeScript users are directed to the separate LangGraph.js repository.
After installing langgraph, developers use it to orchestrate long-running, stateful workflows or agents. It can persist execution state and resume after a failure from where execution stopped; people can inspect or modify state at any point in execution. It supports short-term working memory and long-term persistent memory across sessions. The README also states that LangSmith can trace execution paths, capture state transitions, and provide runtime metrics, while LangSmith Deployment can deploy and scale these workflows. The supplied material does not provide specific Python classes, functions, or a runnable first graph example.
- An application developer whose workflow must continue after a failure can use it to orchestrate long-running stateful execution.
- A team that needs an approver to inspect and alter a running automation's state can use its human-in-the-loop support.
- An agent developer needing both current working context and information retained across sessions can build a system with short-term and long-term memory.
- An engineering team investigating complex agent paths, state transitions, and runtime metrics can pair workflows with LangSmith.
- A developer already using LangChain components who needs lower-level stateful orchestration for more complex agent flows can add LangGraph to that ecosystem.
How do you install or deploy this agent?
In a Python environment with pip, run:
pip install -U langgraphThe supplied README does not state required credentials or a specific Python version.
How do you use this agent?
The README says LangGraph is used to build stateful workflows or agents and identifies durable execution, human oversight, and memory as core capabilities, but it does not provide a copyable Python import, graph definition, run command, or first working invocation. A verified minimal runnable call therefore cannot be derived from the supplied material. For debugging, evaluation, or deployment, the README points to LangSmith and LangSmith Deployment, but it does not specify their configuration, credentials, or deployment procedure.
What are this agent's strengths and limitations?
- Durable execution is designed to resume long-running work from where it stopped after a failure.
- Human-in-the-loop support lets operators inspect and modify agent state during execution.
- It explicitly supports both short-term working memory and long-term persistent memory across sessions.
- It can be used standalone or together with LangChain, Deep Agents, LangSmith, and LangSmith Deployment.
- It is positioned as a low-level framework; the README directs users seeking faster high-level agent construction to Deep Agents.
- The supplied material contains no minimal API example, concrete graph-definition pattern, or first invocation, leaving initial implementation details outside the evidence provided.
- Visualization, evaluation, production observability, and deployment are associated with LangSmith and LangSmith Deployment, whose integration requirements are not detailed here.
- JavaScript and TypeScript support is delivered through the separate LangGraph.js repository rather than through this Python package's documented interface.
How does this agent compare with similar options?
Deep Agents is a higher-level package built on LangGraph for complex tasks involving planning, subagents, and file systems; LangGraph supplies the lower-level stateful orchestration layer. For JavaScript and TypeScript, the README identifies the separate LangGraph.js repository as the equivalent library.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| LangGraph This agent | 44 · Major gaps | Library / SDKFree + model costs | ★ 45k | 1d ago | Python | — |
| LangGraph JS | 55 · Major gaps | Library / SDKFree + model costs | ★ 3.4k | today | TypeScript | — |
| Deuz SDK | 69 · Some gaps | Library / SDKFree + model costs | ★ 508 | 20d ago | TypeScript | OpenAI API · Claude API |
| LlamaAgents | 66 · Some gaps | Library / SDKFree + model costs | ★ 464 | 6d ago | Python | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows no documentation of permission model, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. All trust criteria are unmet, hence score 0.
Self-consistency: README describes low-level orchestration framework, consistent with codebase structure, but not deeply verified. Dependency availability: pip install and dependency management provided, but no lock file or availability guarantee. Failure messages: No documentation of error handling or failure messages.
Audience and scenarios: Clearly targets developers, provides multiple use cases. Capability boundaries: Describes functional scope but no explicit limitations. Trigger precision: No trigger mechanism or precise conditions. Environment fit: Supports Python and JS, but no detailed environment requirements.
Information architecture: Clear documentation structure with navigation. Install notes: Provides pip install command. Naming stability: No naming conventions or stability guarantees. Examples and FAQ: Provides examples and links, but no FAQ. Known limitations: Not explicitly listed. License: MIT license, clear. Versioning and changelog: Version badge present, but no changelog. Maintenance responsibility: Maintained by LangChain Inc, but unverified.
Output usability: API reference and docs provided, but actual output not verified. Marginal value: As a framework, provides unique features, but not quantified. Cost-benefit: No performance or cost data.
Claim traceability: Claims in README have doc links, but not verified. Cross-source corroboration: Multiple doc sources, but not independently verified. Fact-inference separation: No clear separation of facts and inferences.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- No security-related documentation such as permission model, data flow transparency, sensitive data handling.
- Dependency security not mentioned, no lock file or vulnerability scanning.
- No rollback mechanism or source attribution.
- No known limitations or failure message documentation.
- Publisher identity unverified, but not penalized for that.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
cli==0.4.41 langgraph-cli==0.4.41
Release notes excerpt
Changes since cli==0.4.40 * release(cli): 0.4.41 (#9596) * chore(deps): bump langgraph from 1.2.3 to 1.2.14 in /libs/cli (#9512) * chore(deps): bump the minor-and-patch group in /libs/cli/js-examples with 9 updates (#9528) * chore(deps): bump the minor-and-patch group in /libs/cli/js-monorepo-example with 8 updates (#9526) * chore(deps): bump the uv group across 2 directories with 1 update (#9513) * chore(deps): bump langgraph-sdk from 0.4.5 to 0.4.6 in /libs/cli (#9514) * fix(cli): remove outdated deploy private-beta notice (#9506) …View on GitHub ↗ -
1.2.20 langgraph==1.2.20
Release notes excerpt
Changes since 1.2.19 * release(langgraph): 1.2.20 (#9595) * feat(langgraph): give each interrupt() in a task its own id (#9589) * fix(langgraph): point the multiple-interrupts error at the current docs (#9590) * feat(langgraph): add a strict resume mode that refuses stale interrupt answers (#9574) * chore(deps-dev): bump types-requests from 2.33.0.20260906 to 2.33.0.20261006 in /libs/langgraph (#9535) * chore(deps-dev): bump pycryptodome from 3.23.0 to 4.2.0 in /libs/langgraph in the major group (#9534)View on GitHub ↗ -
sdk==0.4.13 langgraph-sdk==0.4.13
Release notes excerpt
Changes since sdk==0.4.12 * release(langgraph): 1.2.20 (#9595) * release(sdk-py): 0.4.13 (#9594) * feat(sdk-py): add cancel_reason to Run (#9571) * docs(sdk-py): show the run's status in the stream example's end event (#9588) * feat(sdk-py): add select to threads.get_state and get_history (#9568)View on GitHub ↗