{
  "data": {
    "a": {
      "slug": "langgraph",
      "name": "LangGraph",
      "vendor": "LangChain",
      "vendorUrl": "https://www.langchain.com",
      "kind": "framework",
      "category": "frameworks",
      "summary": "Low-level runtime for long-running, stateful agent graphs with checkpointed persistence, human-in-the-loop, memory and streaming.",
      "url": "https://www.anchorterminal.com/tools/langgraph",
      "markdownUrl": "https://www.anchorterminal.com/tools/langgraph.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/langgraph.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/langgraph.json",
      "dns": "langgraph.grade.anchorterminal.com",
      "repo": "https://github.com/langchain-ai/langgraph",
      "license": "MIT",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "langgraph"
        },
        {
          "registry": "npm",
          "name": "@langchain/langgraph"
        }
      ],
      "auth": "none",
      "authNotes": "A library. Credentials are for whichever model and tools you wire in.",
      "pricing": "free",
      "pricingNotes": "Free and open source. You pay for the model calls it makes. LangSmith for tracing is free for one developer, then $39 a seat a month. Deployment is metered.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 42325,
        "npmWeekly": 2342174,
        "pypiWeekly": 10355083,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://docs.langchain.com/oss/python/langgraph/overview",
      "llmsTxt": "https://docs.langchain.com/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.multi-agent",
        "agent.durable",
        "agent.mcp-client"
      ],
      "tags": [
        "framework",
        "python",
        "typescript",
        "open-source",
        "durable"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.8,
        "grade": "B",
        "agentReady": false,
        "rank": 227,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 12,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 90,
          "payments": 60,
          "reliability": 75,
          "schema": 89,
          "security": 60,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2025-11-05 to 2025-12-10. Two high-severity advisories in checkpoint packages from the LangGraph repository, remote code execution in the json mode of `JsonPlusSerializer`, used for checkpoints (GHSA-wwqv-p2pp-99h5, fixed in langgraph-checkpoint 3.0.0) and SQL injection through a metadata filter key in the SQLite checkpointer (GHSA-9rwj-6rc7-p77c, fixed in 3.0.1). Both fixed and published, and between ten and twelve months old, so 1 point each. A third, GHSA-7p73-8jqx-23r8 (29 October 2025), left the 12-month window on 1 November 2026 and no longer counts. Eight moderate advisories in 2026 weren't deducted. https://api.osv.dev/v1/query",
          "2026-10-05. High-severity advisory GHSA-fvww-7h3r-vfhp (CVE-2026-104873, CVSS 4.0 7.6). In langgraph-sdk 0.1.45 to 0.4.3, the custom-auth decorators @auth.on.threads, @auth.on.assistants and @auth.on.crons ignored their actions argument, so an authenticated user could bypass fallback ownership or permission checks and read, update or delete another user's resource. Fixed in langgraph-sdk 0.4.4 and published, under two months old, so 2 points, as pydantic-ai's and microsoft-agent-framework's fixed Highs took. https://osv.dev/vulnerability/GHSA-fvww-7h3r-vfhp"
        ],
        "verdict": "Checkpointed persistence, so runs survive restarts and resume where they stopped. No MCP client of its own. LangChain's langchain.mcp is in beta.",
        "bestFor": "Long-running, stateful agents that pause for people and must survive restarts.",
        "strengths": [
          "Checkpointed persistence, so runs survive restarts and resume where they stopped",
          "Interrupts that pause before any node and let a person edit the state",
          "The library sends no telemetry, and LangSmith tracing is off until you turn it on",
          "13 advisories for packages from the repository since October 2025, each published with a fixed version",
          "Model-agnostic, in Python and TypeScript"
        ],
        "weaknesses": [
          "No MCP client of its own. LangChain's langchain.mcp is in beta",
          "More code than the others for a plain tool-calling agent",
          "No guardrail primitive or sandbox in LangGraph itself",
          "416 open issues and 230 open pull requests on 1 October 2026",
          "The CLI sends an analytics event per command by default"
        ],
        "agentNotes": [
          "Use a persistent checkpointer in production, not the in-memory one",
          "Move from langchain-mcp-adapters to langchain.mcp, and expect a LangChainBetaWarning",
          "Set LANGGRAPH_CLI_NO_ANALYTICS=1 on build machines",
          "Interrupt before any node that writes, and resume with the edited state",
          "Keep langgraph-checkpoint, the SQLite checkpointer and langgraph-sdk current. The SDK's custom-auth decorators ignored actions before 0.4.4 (October 2026)"
        ],
        "metrics": {
          "kind": "library",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.8
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 90,
          "payments": 60,
          "reliability": 75,
          "schema": 89,
          "security": 60,
          "transparency": 89
        },
        "provenanceScore": 73,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-01",
            "maintenance": "2026-11-01",
            "payments": "2026-11-01",
            "reliability": "2026-11-01",
            "schema": "2026-11-01",
            "security": "2026-11-01",
            "transparency": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install langgraph   # or: npm i @langchain/langgraph"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/langgraph"
      },
      "sameCompany": [
        "langmem",
        "langsmith"
      ],
      "area": "frameworks",
      "unitPrices": [
        {
          "item": "LangSmith Plus",
          "unit": "seat-month",
          "usd": 39,
          "note": "tracing and evaluation, one developer free"
        }
      ],
      "provenance": {
        "legalEntity": "LangChain, Inc.",
        "domain": "langchain.com",
        "domainRegistered": "2019-12-03",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://docs.langchain.com/oss/python/releases/changelog",
        "securityTxt": "none",
        "checked": "2026-11-01",
        "score": 73
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/langgraph.json",
      "live": {
        "slug": "langgraph",
        "versions": [
          {
            "registry": "github",
            "name": "langchain-ai/langgraph",
            "version": "sdk==0.4.14",
            "released": "2026-11-06",
            "seenAt": "2026-11-06T23:38:33.85634508Z"
          },
          {
            "registry": "npm",
            "name": "@langchain/langgraph",
            "version": "1.7.1",
            "seenAt": "2026-11-06T23:38:33.634742733Z"
          },
          {
            "registry": "pypi",
            "name": "langgraph",
            "version": "1.2.20",
            "released": "2026-11-05",
            "seenAt": "2026-11-06T23:38:33.484444092Z"
          }
        ],
        "githubStars": 44584,
        "npmWeekly": 4879123,
        "pypiWeekly": 13732776,
        "securityTxt": {
          "url": "https://langchain.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:25.158914764Z"
        },
        "llmsTxt": {
          "url": "https://docs.langchain.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:51.187508053Z"
        },
        "domain": {
          "domain": "langchain.com",
          "registered": "2019-12-03",
          "source": "https://rdap.verisign.com/com/v1/domain/langchain.com",
          "checkedAt": "2026-11-01T14:16:16.486101867Z"
        },
        "pages": [
          {
            "url": "https://docs.langchain.com/oss/python/releases/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:53.53014171Z",
            "changedAt": "2026-11-03T07:47:48.949575993Z",
            "fingerprint": "262146f3263b"
          }
        ],
        "github": {
          "repo": "langchain-ai/langgraph",
          "checkedAt": "2026-11-02T08:59:32.935950463Z",
          "stars": 44315,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T04:37:36Z",
          "openIssues": 316,
          "openPRs": 121,
          "issuesOpened90d": 291,
          "issuesClosed90d": 382,
          "prsMerged90d": 250,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 36,
            "failure": 3,
            "other": 11,
            "latest": "failure",
            "latestAt": "2026-11-02T04:40:22Z"
          },
          "advisories": [
            {
              "ghsa": "GHSA-6hmw-9432-67qq",
              "cve": "CVE-2026-115883",
              "severity": "medium",
              "published": "2026-10-21T13:34:00Z"
            },
            {
              "ghsa": "GHSA-8prr-f582-jqq3",
              "cve": "CVE-2026-115885",
              "severity": "medium",
              "published": "2026-10-19T14:08:41Z"
            },
            {
              "ghsa": "GHSA-3fx2-cqw9-xr3c",
              "cve": "CVE-2026-118667",
              "severity": "medium",
              "published": "2026-10-07T17:31:37Z"
            },
            {
              "ghsa": "GHSA-4hm6-w6qq-w73v",
              "cve": "CVE-2026-118668",
              "severity": "high",
              "published": "2026-09-28T14:44:55Z"
            },
            {
              "ghsa": "GHSA-fvww-7h3r-vfhp",
              "cve": "CVE-2026-104873",
              "severity": "high",
              "published": "2026-08-28T14:30:41Z"
            },
            {
              "ghsa": "GHSA-47pj-3jcm-6whg",
              "cve": "CVE-2026-71433",
              "severity": "medium",
              "published": "2026-07-30T19:46:53Z"
            },
            {
              "ghsa": "GHSA-fjqc-hq36-qh5p",
              "cve": "CVE-2026-48775",
              "severity": "medium",
              "published": "2026-05-22T17:18:27Z"
            },
            {
              "ghsa": "GHSA-w39p-vh2g-g8g5",
              "cve": "CVE-2026-48776",
              "severity": "medium",
              "published": "2026-05-22T17:18:22Z"
            },
            {
              "ghsa": "GHSA-g48c-2wqr-h844",
              "cve": "CVE-2026-28277",
              "severity": "medium",
              "published": "2026-03-05T16:52:38Z"
            },
            {
              "ghsa": "GHSA-mhr3-j7m5-c7c9",
              "cve": "CVE-2026-27794",
              "severity": "medium",
              "published": "2026-02-23T19:15:53Z"
            },
            {
              "ghsa": "GHSA-9rwj-6rc7-p77c",
              "cve": "CVE-2025-67644",
              "severity": "high",
              "published": "2025-12-09T22:07:45Z"
            },
            {
              "ghsa": "GHSA-wwqv-p2pp-99h5",
              "cve": "CVE-2025-64439",
              "severity": "high",
              "published": "2025-11-05T15:13:54Z"
            },
            {
              "ghsa": "GHSA-7p73-8jqx-23r8",
              "cve": "CVE-2025-64104",
              "severity": "high",
              "published": "2025-10-29T18:02:57Z"
            }
          ],
          "replies": {
            "sampled": 25,
            "unanswered": 24,
            "medianDays": 3.1
          }
        },
        "updatedAt": "2026-11-07T16:00:25.158914764Z"
      }
    },
    "answer": "LangGraph scores 69.8 (B) on agent readiness against smolagents's 58.7 (C), and leads in 5 of 7 scored categories. smolagents leads on security \u0026 auth.",
    "b": {
      "slug": "smolagents",
      "name": "smolagents",
      "vendor": "Hugging Face",
      "vendorUrl": "https://github.com/huggingface/smolagents",
      "kind": "framework",
      "category": "frameworks",
      "summary": "smolagents is Hugging Face's small Python library for agents that write and run Python code (CodeAgent) or call tools as JSON (ToolCallingAgent), with MCP tools, any model provider and sandboxed execution through E2B, Docker, Modal or Blaxel.",
      "url": "https://www.anchorterminal.com/tools/smolagents",
      "markdownUrl": "https://www.anchorterminal.com/tools/smolagents.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/smolagents.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/smolagents.json",
      "dns": "smolagents.grade.anchorterminal.com",
      "repo": "https://github.com/huggingface/smolagents",
      "license": "Apache-2.0",
      "transports": [],
      "packages": [
        {
          "registry": "pypi",
          "name": "smolagents"
        }
      ],
      "auth": "none",
      "authNotes": "A library with no credentials of its own. The default InferenceClientModel uses a Hugging Face token; other providers and remote sandboxes take their own keys.",
      "pricing": "free",
      "pricingNotes": "Free and open source under Apache-2.0. You pay for model calls and for any remote sandbox (E2B, Modal, Blaxel) you use.",
      "priceSummary": "Free · OSS",
      "where": "library",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs or the repository (checked 2026-11-06).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 30234,
        "npmWeekly": null,
        "pypiWeekly": 171063,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://huggingface.co/docs/smolagents/index",
      "llmsTxt": "https://huggingface.co/docs/smolagents/llms.txt",
      "capabilities": [
        "agent.framework",
        "agent.mcp-client",
        "agent.multi-agent"
      ],
      "tags": [
        "framework",
        "python",
        "open-source",
        "llms-txt",
        "mcp",
        "code-agent",
        "sandbox"
      ],
      "lastRelease": "2026-05-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.7,
        "grade": "C",
        "agentReady": false,
        "rank": 739,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 18,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 34,
          "payments": 60,
          "reliability": 64,
          "schema": 81,
          "security": 66,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": -6,
        "negativeNotes": [
          "2025-12-23 to 2026-03-27. GHSA-q9r5-6hrr-9ph7 (CVE-2025-14931, critical, from the Zero Day Initiative) reports remote code execution through pickle deserialisation in the remote Python executor; the fix for remote executors merged on 15 February 2026, about eight weeks after publication. CVE-2026-2654 (SSRF, 1.24.0) and CVE-2026-4963 (code injection in LocalPythonExecutor, an incomplete earlier fix) are rated low, and both records say the vendor did not respond. Fixed or low, under 12 months old, 6 points. https://osv.dev/vulnerability/GHSA-q9r5-6hrr-9ph7"
        ],
        "verdict": "A compact Python library for code-writing and tool-calling agents, with MCP tools, any model provider and remote sandboxes through E2B, Docker, Modal or Blaxel. The newest release is 1.26.0 of 29 May 2026, a critical remote-executor RCE took about eight weeks to fix, and the local executor isn't a security boundary.",
        "bestFor": "Small Python projects and research that want code-writing agents with minimal abstraction.",
        "strengths": [
          "CodeAgent and ToolCallingAgent in a small, readable codebase",
          "MCP tools from any server through MCPClient",
          "Remote execution through E2B, Docker, Modal or Blaxel, with a guide on when it's needed",
          "No telemetry found in the source",
          "llms.txt and Markdown docs on huggingface.co"
        ],
        "weaknesses": [
          "No release since 1.26.0 on 29 May 2026, and few commits to main since August",
          "The local Python executor isn't a security boundary, per its own guide",
          "A critical RCE in the remote executor (published December 2025) was fixed in February 2026",
          "No human approval hook, retry or resume built in",
          "Breaking removals such as WasmExecutor shipped in minor releases"
        ],
        "agentNotes": [
          "Run CodeAgent with `executor_type` set to e2b, docker, modal or blaxel whenever the model or its inputs aren't trusted",
          "Use smolagents 1.24.0 or later to get the remote-executor deserialisation fix",
          "Set max_steps and final_answer_checks so a run stops on its own",
          "Pass structured_output explicitly to MCPClient to avoid the default-change warning",
          "Pin the version, since minor releases have removed APIs"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.7
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 34,
          "payments": 60,
          "reliability": 64,
          "schema": 81,
          "security": 66,
          "transparency": 67
        },
        "provenanceScore": 62,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install smolagents   # MCP: pip install 'smolagents[mcp]'"
      },
      "letme": {
        "capability": "https://letme.dev/agent.framework",
        "tool": "https://letme.dev/smolagents"
      },
      "sameCompany": [
        "hugging-face-inference-providers",
        "hugging-face-inference-endpoints",
        "carbon-x",
        "smollm3-3b"
      ],
      "area": "frameworks",
      "provenance": {
        "legalEntity": "Hugging Face, Inc.",
        "domain": "huggingface.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://huggingface.co/terms-of-service",
        "privacy": "https://huggingface.co/privacy",
        "statusPage": "",
        "changelog": "https://github.com/huggingface/smolagents/releases",
        "securityTxt": "unknown",
        "checked": "2026-11-06",
        "notes": [
          "SECURITY.md takes reports through GitHub private vulnerability reporting or security@huggingface.co, with no bounty.",
          "huggingface.co/robots.txt allows all crawlers.",
          "The terms and privacy links are Hugging Face's site-wide documents; the library itself collects nothing."
        ],
        "score": 62
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/smolagents.json",
      "live": {
        "slug": "smolagents",
        "versions": [
          {
            "registry": "github",
            "name": "huggingface/smolagents",
            "version": "v1.26.0",
            "released": "2026-05-29",
            "seenAt": "2026-11-07T00:06:55.865567193Z"
          },
          {
            "registry": "pypi",
            "name": "smolagents",
            "version": "1.26.0",
            "released": "2026-05-29",
            "seenAt": "2026-11-07T00:06:55.546186347Z"
          }
        ],
        "githubStars": 30238,
        "pypiWeekly": 171063,
        "securityTxt": {
          "url": "https://huggingface.co/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-07-01T08:42:00.000Z",
          "checkedAt": "2026-11-07T16:00:00.493446773Z"
        },
        "llmsTxt": {
          "url": "https://huggingface.co/docs/smolagents/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:57.593545427Z"
        },
        "updatedAt": "2026-11-07T16:00:00.493446773Z"
      }
    },
    "edges": [
      {
        "by": 56,
        "category": "maintenance",
        "leads": "langgraph",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "1.2.19 tagged on 2026-10-30 (30). Nine releases of the core package in the 90 days from 3 August, 1.2.11 (11 August) to 1.2.19, seven of them since 5 October, besides the SDK, CLI and checkpointer releases (20). 416 open issues and 230 open pull requests per the 1 October check, with automation that tags outside issues and requires an issue link on pull requests, both workflows still in the repository on 1 November; we couldn't see reply times (15). langgraph 1.2.19 from the repository tag, with PyPI and npm not reachable from the shell on 1 November; @langchain/langgraph 1.4.18 per the 1 October check (15). CI and CodeQL workflows present, pass state per the 1 October check (10).",
          "b": "v1.26.0 on 29 May 2026, 161 days before this check (10). No release in the 90 days to 6 November (0). 416 open issues and 1,045 open issues and pull requests on 6 November, with 144 issues opened in the 90 days to 3 November. Of the 50 newest, 26 had a comment and 1 was closed. Two 2026 CVE records say the vendor didn't respond to the reporter, and seven commits reached main from 8 August to 6 November (6). Python only, and the package is the current one (10). CI with actions pinned to commit SHAs and Dependabot for actions (8). 10+0+6+10+8 = 34."
        },
        "scores": {
          "a": 90,
          "b": 34
        }
      },
      {
        "by": 16,
        "category": "transparency",
        "leads": "langgraph",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "MIT (30). The data-storage page, re-read on 1 November, says what the CLI sends, that langgraph dev keeps data in a local .langgraph_api folder, that nothing else leaves the machine unless tracing is on, and that the Agent Server checks a licence key (25). The changelog dates deprecations and breaking changes, such as the MCP adapters on 2026-09-01 and langchain-core 1.7.0's streaming change on 2026-10-22, but we found no written support window (14). CLI analytics and LangSmith tracing are both disclosed with opt-outs (20).",
          "b": "Apache-2.0 (30). The library stores nothing itself; the default model sends prompts to Hugging Face's inference providers, which the docs show (20). Breaking removals such as WasmExecutor shipped in minor releases, without a written deprecation policy (5). No telemetry, though no page states it (12). 30+20+5+12 = 67."
        },
        "scores": {
          "a": 81,
          "b": 65
        }
      },
      {
        "by": 11,
        "category": "reliability",
        "leads": "langgraph",
        "name": "Reliability",
        "reasons": {
          "a": "Official packages on PyPI (Requires-Python \u003e=3.10 in the pyproject at 1.2.19) and npm (node \u003e=18, per the 1 October check) (20). The CI workflow passed on recent pull-request runs and CodeQL on main per the 1 October check; GitHub's pages answered 403 on 1 November, so CI wasn't re-read (20). 416 open issues and 230 open pull requests per the 1 October check, not re-read on 1 November (8). Seven 1.2.x patch releases since 1.2.12 with conventional commit messages, but 1.2.18 (26 October) carries a commit marked breaking (`feat(langgraph)!`, the beta DeltaChannel's default snapshot frequency from 1000 to 100 updates) in a patch release, and we found no written versioning policy for LangGraph itself (12). 1.2.19, classed 5 - Production/Stable (15).",
          "b": "Local-package reading. Official PyPI package with Python 3.10 or newer (20). A public tests workflow runs pytest on Python 3.10 and 3.12 for pushes and pull requests; whether main passes wasn't read (15). 416 open issues and 1,045 open issues and pull requests on 6 November, with 144 issues opened in the 90 days to 3 November. Of the 50 newest, 26 had a comment and 1 was closed. Two 2026 CVE records say the vendor didn't respond to the reporter, and seven commits reached main from 8 August to 6 November (6). Release notes on GitHub tags but no changelog file, and the remote WasmExecutor was removed in a minor release (8). 1.0 since 31 December 2024 (15). 20+15+6+8+15 = 64."
        },
        "scores": {
          "a": 75,
          "b": 64
        }
      },
      {
        "by": 8,
        "category": "schema",
        "leads": "langgraph",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "A typed graph API with a reference site (25). llms.txt at docs.langchain.com, per the listing's earlier check (10). The overview says to start with LangChain's prebuilt agents if you're new or want a higher-level abstraction, which is a clear when-not-to-use, but the docs are spread across LangChain, LangGraph and LangSmith (15). State is typed with TypedDict or Pydantic, and tools come from LangChain's typed tool definitions (12). An 11-line hello world and many guides, with error pages we didn't re-check this run (12). Dated changelog (15).",
          "b": "Framework reading. A typed Python API with reference pages for agents, models, tools and executors (22). llms.txt and Markdown pages on huggingface.co (10). The docs say when to use CodeAgent or ToolCallingAgent and when a sandbox is needed (17). Tools declare typed inputs in a schema dictionary or from a decorated function (12). Many runnable examples; error classes exist but aren't catalogued (10). Versions tagged with release notes, no changelog file (10). 22+10+17+12+10+10 = 81."
        },
        "scores": {
          "a": 89,
          "b": 81
        }
      },
      {
        "by": 6,
        "category": "security",
        "leads": "smolagents",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "The library sends nothing according to the data-storage page, re-read on 1 November. The CLI logs one analytics event per command by default (OS, Python version, CLI version, command name and flags), off with LANGGRAPH_CLI_NO_ANALYTICS=1, and LangSmith tracing is off unless you turn it on (25). Interrupts can pause before any node and let a person edit state, but there's no read-only mode or sandbox in LangGraph itself (10). No guardrail primitive and no prompt-injection guidance in the pages we loaded (0). LangSmith tracing, opt-in (10). LangChain's organisation SECURITY.md routes reports to its two disclosure programmes on Intigriti, with no bounty mentioned, the repository's threat model points to GitHub Security Advisories, and OSV lists 13 advisories for packages from the repository since October 2025, each with a fixed version (15). Framework reading, so SOC 2 isn't scored.",
          "b": "Framework reading (telemetry defaults, approvals, guardrails, sandboxing). No telemetry found in the source (25). No human approval hook beyond step callbacks; the local executor restricts imports but the guide says it isn't a security tool, and isolation needs a remote executor (10). The secure execution guide covers LLM-generated code risks, without prompt-injection guidance for tool output (7). OpenTelemetry tracing through OpenInference and run inspection (12). SECURITY.md with private reporting and CVE credit, and the remote-executor RCE was fixed in public, but two 2026 CVE records say the vendor didn't respond (12). 25+10+7+12+12 = 66."
        },
        "scores": {
          "a": 60,
          "b": 66
        }
      }
    ],
    "facts": [
      {
        "a": "Agent framework",
        "b": "Agent framework",
        "name": "Kind"
      },
      {
        "a": "LangChain",
        "b": "Hugging Face",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-30",
        "b": "2026-05-29",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2022-09-15",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2023-03-28",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "42k stars, 2.3M npm/wk, 10.4M PyPI/wk",
        "b": "30k stars, 171k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "LangGraph scores 69.8 (B) on agent readiness against smolagents's 58.7 (C), and leads in 5 of 7 scored categories. smolagents leads on security \u0026 auth.",
        "question": "Which is better for AI agents, LangGraph or smolagents?"
      },
      {
        "answer": "Yes. LangGraph is open source (MIT). smolagents is open source (Apache-2.0).",
        "question": "Are LangGraph and smolagents open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 64",
          "Schema \u0026 documentation, 89 against 81",
          "Maintenance \u0026 community, 90 against 34",
          "Transparency \u0026 trust, 81 against 65"
        ],
        "also": null,
        "goodFor": "Long-running, stateful agents that pause for people and must survive restarts.",
        "slug": "langgraph",
        "watchFor": "No MCP client of its own. LangChain's langchain.mcp is in beta"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 66 against 60"
        ],
        "also": null,
        "goodFor": "Small Python projects and research that want code-writing agents with minimal abstraction.",
        "slug": "smolagents",
        "watchFor": "No release since 1.26.0 on 29 May 2026, and few commits to main since August"
      }
    ],
    "history": {
      "langgraph": [
        {
          "causes": [
            "event"
          ],
          "date": "2026-11-01",
          "delta": -1,
          "from": 70.8,
          "fromGrade": "BB",
          "to": 69.8,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 70.6,
          "fromGrade": "BB",
          "to": 70.8,
          "toGrade": "BB"
        }
      ],
      "smolagents": null
    },
    "job": {
      "capability": "agent.framework",
      "name": "Agent frameworks"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-langgraph.json",
        "title": "AgentOS vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agentos-vs-smolagents.json",
        "title": "AgentOS vs smolagents",
        "url": "https://www.anchorterminal.com/compare/agentos-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-langgraph.json",
        "title": "Agno vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/agno-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/agno-vs-smolagents.json",
        "title": "Agno vs smolagents",
        "url": "https://www.anchorterminal.com/compare/agno-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-langgraph.json",
        "title": "BoxLang AI vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/boxlang-ai-vs-smolagents.json",
        "title": "BoxLang AI vs smolagents",
        "url": "https://www.anchorterminal.com/compare/boxlang-ai-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-langgraph.json",
        "title": "Claude Agent SDK vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-smolagents.json",
        "title": "Claude Agent SDK vs smolagents",
        "url": "https://www.anchorterminal.com/compare/claude-agent-sdk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-langgraph.json",
        "title": "CrewAI vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/crewai-vs-smolagents.json",
        "title": "CrewAI vs smolagents",
        "url": "https://www.anchorterminal.com/compare/crewai-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph.json",
        "title": "Cursor Agent SDK vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-smolagents.json",
        "title": "Cursor Agent SDK vs smolagents",
        "url": "https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-langgraph.json",
        "title": "Docker Agent vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/docker-agent-vs-smolagents.json",
        "title": "Docker Agent vs smolagents",
        "url": "https://www.anchorterminal.com/compare/docker-agent-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-langgraph.json",
        "title": "Agent Development Kit (ADK) vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-adk-vs-smolagents.json",
        "title": "Agent Development Kit (ADK) vs smolagents",
        "url": "https://www.anchorterminal.com/compare/google-adk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-langgraph.json",
        "title": "guilds.run vs LangGraph",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-langgraph"
      },
      {
        "json": "https://www.anchorterminal.com/compare/guilds-run-vs-smolagents.json",
        "title": "guilds.run vs smolagents",
        "url": "https://www.anchorterminal.com/compare/guilds-run-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-llamaindex.json",
        "title": "LangGraph vs LlamaIndex Framework",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-llamaindex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-mastra.json",
        "title": "LangGraph vs Mastra",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-mastra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework.json",
        "title": "LangGraph vs Microsoft Agent Framework",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk.json",
        "title": "LangGraph vs OpenAI Agents SDK",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-pydantic-ai.json",
        "title": "LangGraph vs Pydantic AI",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-pydantic-ai"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-strands-agents.json",
        "title": "LangGraph vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-tradingagents.json",
        "title": "LangGraph vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langgraph-vs-vercel-ai-sdk.json",
        "title": "LangGraph vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/langgraph-vs-vercel-ai-sdk"
      },
      {
        "json": "https://www.anchorterminal.com/compare/llamaindex-vs-smolagents.json",
        "title": "LlamaIndex Framework vs smolagents",
        "url": "https://www.anchorterminal.com/compare/llamaindex-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mastra-vs-smolagents.json",
        "title": "Mastra vs smolagents",
        "url": "https://www.anchorterminal.com/compare/mastra-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents.json",
        "title": "Microsoft Agent Framework vs smolagents",
        "url": "https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents.json",
        "title": "OpenAI Agents SDK vs smolagents",
        "url": "https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pydantic-ai-vs-smolagents.json",
        "title": "Pydantic AI vs smolagents",
        "url": "https://www.anchorterminal.com/compare/pydantic-ai-vs-smolagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-strands-agents.json",
        "title": "smolagents vs Strands Agents",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-strands-agents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-tradingagents.json",
        "title": "smolagents vs TradingAgents",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-tradingagents"
      },
      {
        "json": "https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk.json",
        "title": "smolagents vs AI SDK",
        "url": "https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 11,
        "edge": "langgraph",
        "key": "reliability",
        "langgraph": 75,
        "name": "Reliability",
        "smolagents": 64,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "langgraph",
        "key": "schema",
        "langgraph": 89,
        "name": "Schema \u0026 documentation",
        "smolagents": 81,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "langgraph",
        "key": "ergonomics",
        "langgraph": 70,
        "name": "Agent ergonomics",
        "smolagents": 68,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "smolagents",
        "key": "security",
        "langgraph": 60,
        "name": "Security \u0026 auth",
        "smolagents": 66,
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "key": "payments",
        "langgraph": 60,
        "name": "Payments \u0026 pricing",
        "smolagents": 60,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 56,
        "edge": "langgraph",
        "key": "maintenance",
        "langgraph": 90,
        "name": "Maintenance \u0026 community",
        "smolagents": 34,
        "weight": 7
      },
      {
        "by": 16,
        "edge": "langgraph",
        "key": "transparency",
        "langgraph": 81,
        "name": "Transparency \u0026 trust",
        "smolagents": 65,
        "weight": 7
      }
    ],
    "summary": "LangGraph scores 69.8 (B) on agent readiness against smolagents's 58.7 (C), and leads in 5 of 7 scored categories. smolagents leads on security \u0026 auth. Both do agent frameworks.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "langgraph": "Checkpointed persistence, so runs survive restarts and resume where they stopped. No MCP client of its own. LangChain's langchain.mcp is in beta.",
      "smolagents": "A compact Python library for code-writing and tool-calling agents, with MCP tools, any model provider and remote sandboxes through E2B, Docker, Modal or Blaxel. The newest release is 1.26.0 of 29 May 2026, a critical remote-executor RCE took about eight weeks to fix, and the local executor isn't a security boundary."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/langgraph-vs-smolagents",
    "json": "https://www.anchorterminal.com/compare/langgraph-vs-smolagents.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/langgraph-vs-smolagents.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/langgraph-vs-smolagents.min.md"
  },
  "markdown": "LangGraph scores 69.8 (B) on agent readiness against smolagents's 58.7 (C), and leads in 5 of 7 scored categories. smolagents leads on security \u0026 auth. Both do agent frameworks.\n\n- LangGraph: grade B, 69.8/100, rank #227 of 1510. Markdown https://www.anchorterminal.com/tools/langgraph.md · JSON https://www.anchorterminal.com/api/v1/tools/langgraph.json\n- smolagents: grade C, 58.7/100, rank #739 of 1510. Markdown https://www.anchorterminal.com/tools/smolagents.md · JSON https://www.anchorterminal.com/api/v1/tools/smolagents.json\n- Best agent frameworks and SDKs: https://www.anchorterminal.com/best/frameworks/index.md\n- All 171 frameworks comparisons: https://www.anchorterminal.com/compare/frameworks/index.md\n\n## Which one, for what\n\n### LangGraph (B)\n\nGood for: Long-running, stateful agents that pause for people and must survive restarts.\n\nAhead on:\n- Reliability, 75 against 64\n- Schema \u0026 documentation, 89 against 81\n- Maintenance \u0026 community, 90 against 34\n- Transparency \u0026 trust, 81 against 65\n\nWatch for: No MCP client of its own. LangChain's langchain.mcp is in beta\n\n### smolagents (C)\n\nGood for: Small Python projects and research that want code-writing agents with minimal abstraction.\n\nAhead on:\n- Security \u0026 auth, 66 against 60\n\nWatch for: No release since 1.26.0 on 29 May 2026, and few commits to main since August\n\n\n## Why the edge\n\n### Maintenance \u0026 community: LangGraph +56\n\n- LangGraph (90): 1.2.19 tagged on 2026-10-30 (30). Nine releases of the core package in the 90 days from 3 August, 1.2.11 (11 August) to 1.2.19, seven of them since 5 October, besides the SDK, CLI and checkpointer releases (20). 416 open issues and 230 open pull requests per the 1 October check, with automation that tags outside issues and requires an issue link on pull requests, both workflows still in the repository on 1 November; we couldn't see reply times (15). langgraph 1.2.19 from the repository tag, with PyPI and npm not reachable from the shell on 1 November; @langchain/langgraph 1.4.18 per the 1 October check (15). CI and CodeQL workflows present, pass state per the 1 October check (10).\n- smolagents (34): v1.26.0 on 29 May 2026, 161 days before this check (10). No release in the 90 days to 6 November (0). 416 open issues and 1,045 open issues and pull requests on 6 November, with 144 issues opened in the 90 days to 3 November. Of the 50 newest, 26 had a comment and 1 was closed. Two 2026 CVE records say the vendor didn't respond to the reporter, and seven commits reached main from 8 August to 6 November (6). Python only, and the package is the current one (10). CI with actions pinned to commit SHAs and Dependabot for actions (8). 10+0+6+10+8 = 34.\n\n### Transparency \u0026 trust: LangGraph +16\n\n- LangGraph (81): MIT (30). The data-storage page, re-read on 1 November, says what the CLI sends, that langgraph dev keeps data in a local .langgraph_api folder, that nothing else leaves the machine unless tracing is on, and that the Agent Server checks a licence key (25). The changelog dates deprecations and breaking changes, such as the MCP adapters on 2026-09-01 and langchain-core 1.7.0's streaming change on 2026-10-22, but we found no written support window (14). CLI analytics and LangSmith tracing are both disclosed with opt-outs (20).\n- smolagents (65): Apache-2.0 (30). The library stores nothing itself; the default model sends prompts to Hugging Face's inference providers, which the docs show (20). Breaking removals such as WasmExecutor shipped in minor releases, without a written deprecation policy (5). No telemetry, though no page states it (12). 30+20+5+12 = 67.\n\n### Reliability: LangGraph +11\n\n- LangGraph (75): Official packages on PyPI (Requires-Python \u003e=3.10 in the pyproject at 1.2.19) and npm (node \u003e=18, per the 1 October check) (20). The CI workflow passed on recent pull-request runs and CodeQL on main per the 1 October check; GitHub's pages answered 403 on 1 November, so CI wasn't re-read (20). 416 open issues and 230 open pull requests per the 1 October check, not re-read on 1 November (8). Seven 1.2.x patch releases since 1.2.12 with conventional commit messages, but 1.2.18 (26 October) carries a commit marked breaking (`feat(langgraph)!`, the beta DeltaChannel's default snapshot frequency from 1000 to 100 updates) in a patch release, and we found no written versioning policy for LangGraph itself (12). 1.2.19, classed 5 - Production/Stable (15).\n- smolagents (64): Local-package reading. Official PyPI package with Python 3.10 or newer (20). A public tests workflow runs pytest on Python 3.10 and 3.12 for pushes and pull requests; whether main passes wasn't read (15). 416 open issues and 1,045 open issues and pull requests on 6 November, with 144 issues opened in the 90 days to 3 November. Of the 50 newest, 26 had a comment and 1 was closed. Two 2026 CVE records say the vendor didn't respond to the reporter, and seven commits reached main from 8 August to 6 November (6). Release notes on GitHub tags but no changelog file, and the remote WasmExecutor was removed in a minor release (8). 1.0 since 31 December 2024 (15). 20+15+6+8+15 = 64.\n\n### Schema \u0026 documentation: LangGraph +8\n\n- LangGraph (89): A typed graph API with a reference site (25). llms.txt at docs.langchain.com, per the listing's earlier check (10). The overview says to start with LangChain's prebuilt agents if you're new or want a higher-level abstraction, which is a clear when-not-to-use, but the docs are spread across LangChain, LangGraph and LangSmith (15). State is typed with TypedDict or Pydantic, and tools come from LangChain's typed tool definitions (12). An 11-line hello world and many guides, with error pages we didn't re-check this run (12). Dated changelog (15).\n- smolagents (81): Framework reading. A typed Python API with reference pages for agents, models, tools and executors (22). llms.txt and Markdown pages on huggingface.co (10). The docs say when to use CodeAgent or ToolCallingAgent and when a sandbox is needed (17). Tools declare typed inputs in a schema dictionary or from a decorated function (12). Many runnable examples; error classes exist but aren't catalogued (10). Versions tagged with release notes, no changelog file (10). 22+10+17+12+10+10 = 81.\n\n### Security \u0026 auth: smolagents +6\n\n- LangGraph (60): The library sends nothing according to the data-storage page, re-read on 1 November. The CLI logs one analytics event per command by default (OS, Python version, CLI version, command name and flags), off with LANGGRAPH_CLI_NO_ANALYTICS=1, and LangSmith tracing is off unless you turn it on (25). Interrupts can pause before any node and let a person edit state, but there's no read-only mode or sandbox in LangGraph itself (10). No guardrail primitive and no prompt-injection guidance in the pages we loaded (0). LangSmith tracing, opt-in (10). LangChain's organisation SECURITY.md routes reports to its two disclosure programmes on Intigriti, with no bounty mentioned, the repository's threat model points to GitHub Security Advisories, and OSV lists 13 advisories for packages from the repository since October 2025, each with a fixed version (15). Framework reading, so SOC 2 isn't scored.\n- smolagents (66): Framework reading (telemetry defaults, approvals, guardrails, sandboxing). No telemetry found in the source (25). No human approval hook beyond step callbacks; the local executor restricts imports but the guide says it isn't a security tool, and isolation needs a remote executor (10). The secure execution guide covers LLM-generated code risks, without prompt-injection guidance for tool output (7). OpenTelemetry tracing through OpenInference and run inspection (12). SECURITY.md with private reporting and CVE credit, and the remote-executor RCE was fixed in public, but two 2026 CVE records say the vendor didn't respond (12). 25+10+7+12+12 = 66.\n\n## Score by category\n\n| Category | Weight | LangGraph | smolagents | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 64 | LangGraph +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 81 | LangGraph +8 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 68 | LangGraph +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 66 | smolagents +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 60 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 90 | 34 | LangGraph +56 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 81 | 65 | LangGraph +16 |\n| Negative events | ≤15 | -4 | -6 | |\n| **Total** | | **69.8 · B** | **58.7 · C** | |\n\n## Facts side by side\n\n| Fact | LangGraph | smolagents |\n| --- | --- | --- |\n| Kind | Agent framework | Agent framework |\n| Vendor | LangChain | Hugging Face |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-30 | 2026-05-29 |\n| Terms last updated | no document linked | 2022-09-15 |\n| Privacy policy last updated | no document linked | 2023-03-28 |\n| Customer content may train models | not read yet | not found in the text |\n| Terms restrict automated access | not read yet | not found in the text |\n| Terms restrict benchmarking | not read yet | not found in the text |\n| Terms or service can change without notice | not read yet | yes |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | 42k stars, 2.3M npm/wk, 10.4M PyPI/wk | 30k stars, 171k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## How the scores have moved\n\n### LangGraph\n\n- -1.0 on 1 November 2026 (BB to B): negative event\n- +0.2 on 27 October 2026: checklist\n\n### smolagents\n\nNo score change since it was listed.\n\n## Verdicts\n\n**LangGraph.** Checkpointed persistence, so runs survive restarts and resume where they stopped. No MCP client of its own. LangChain's langchain.mcp is in beta.\n\n**smolagents.** A compact Python library for code-writing and tool-calling agents, with MCP tools, any model provider and remote sandboxes through E2B, Docker, Modal or Blaxel. The newest release is 1.26.0 of 29 May 2026, a critical remote-executor RCE took about eight weeks to fix, and the local executor isn't a security boundary.\n\n## Before you call either\n\n### LangGraph\n\n1. Use a persistent checkpointer in production, not the in-memory one\n2. Move from langchain-mcp-adapters to langchain.mcp, and expect a LangChainBetaWarning\n3. Set LANGGRAPH_CLI_NO_ANALYTICS=1 on build machines\n4. Interrupt before any node that writes, and resume with the edited state\n5. Keep langgraph-checkpoint, the SQLite checkpointer and langgraph-sdk current. The SDK's custom-auth decorators ignored actions before 0.4.4 (October 2026)\n\n### smolagents\n\n1. Run CodeAgent with `executor_type` set to e2b, docker, modal or blaxel whenever the model or its inputs aren't trusted\n2. Use smolagents 1.24.0 or later to get the remote-executor deserialisation fix\n3. Set max_steps and final_answer_checks so a run stops on its own\n4. Pass structured_output explicitly to MCPClient to avoid the default-change warning\n5. Pin the version, since minor releases have removed APIs\n\n## Questions\n\n### Which is better for AI agents, LangGraph or smolagents?\n\nLangGraph scores 69.8 (B) on agent readiness against smolagents's 58.7 (C), and leads in 5 of 7 scored categories. smolagents leads on security \u0026 auth.\n\n### Are LangGraph and smolagents open source?\n\nYes. LangGraph is open source (MIT). smolagents is open source (Apache-2.0).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/langgraph-vs-smolagents.json, and with the fewest tokens: https://www.anchorterminal.com/compare/langgraph-vs-smolagents.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"langgraph\", \"b\": \"smolagents\"}`. From a terminal: `anchor compare langgraph smolagents`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/langgraph.json and https://www.anchorterminal.com/api/v1/tools/smolagents.json\n\n## Other comparisons with LangGraph or smolagents\n\n- [AgentOS vs LangGraph](https://www.anchorterminal.com/compare/agentos-vs-langgraph.md)\n- [AgentOS vs smolagents](https://www.anchorterminal.com/compare/agentos-vs-smolagents.md)\n- [Agno vs LangGraph](https://www.anchorterminal.com/compare/agno-vs-langgraph.md)\n- [Agno vs smolagents](https://www.anchorterminal.com/compare/agno-vs-smolagents.md)\n- [BoxLang AI vs LangGraph](https://www.anchorterminal.com/compare/boxlang-ai-vs-langgraph.md)\n- [BoxLang AI vs smolagents](https://www.anchorterminal.com/compare/boxlang-ai-vs-smolagents.md)\n- [Claude Agent SDK vs LangGraph](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-langgraph.md)\n- [Claude Agent SDK vs smolagents](https://www.anchorterminal.com/compare/claude-agent-sdk-vs-smolagents.md)\n- [CrewAI vs LangGraph](https://www.anchorterminal.com/compare/crewai-vs-langgraph.md)\n- [CrewAI vs smolagents](https://www.anchorterminal.com/compare/crewai-vs-smolagents.md)\n- [Cursor Agent SDK vs LangGraph](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-langgraph.md)\n- [Cursor Agent SDK vs smolagents](https://www.anchorterminal.com/compare/cursor-agent-sdk-vs-smolagents.md)\n- [Docker Agent vs LangGraph](https://www.anchorterminal.com/compare/docker-agent-vs-langgraph.md)\n- [Docker Agent vs smolagents](https://www.anchorterminal.com/compare/docker-agent-vs-smolagents.md)\n- [Agent Development Kit (ADK) vs LangGraph](https://www.anchorterminal.com/compare/google-adk-vs-langgraph.md)\n- [Agent Development Kit (ADK) vs smolagents](https://www.anchorterminal.com/compare/google-adk-vs-smolagents.md)\n- [guilds.run vs LangGraph](https://www.anchorterminal.com/compare/guilds-run-vs-langgraph.md)\n- [guilds.run vs smolagents](https://www.anchorterminal.com/compare/guilds-run-vs-smolagents.md)\n- [LangGraph vs LlamaIndex Framework](https://www.anchorterminal.com/compare/langgraph-vs-llamaindex.md)\n- [LangGraph vs Mastra](https://www.anchorterminal.com/compare/langgraph-vs-mastra.md)\n- [LangGraph vs Microsoft Agent Framework](https://www.anchorterminal.com/compare/langgraph-vs-microsoft-agent-framework.md)\n- [LangGraph vs OpenAI Agents SDK](https://www.anchorterminal.com/compare/langgraph-vs-openai-agents-sdk.md)\n- [LangGraph vs Pydantic AI](https://www.anchorterminal.com/compare/langgraph-vs-pydantic-ai.md)\n- [LangGraph vs Strands Agents](https://www.anchorterminal.com/compare/langgraph-vs-strands-agents.md)\n- [LangGraph vs TradingAgents](https://www.anchorterminal.com/compare/langgraph-vs-tradingagents.md)\n- [LangGraph vs AI SDK](https://www.anchorterminal.com/compare/langgraph-vs-vercel-ai-sdk.md)\n- [LlamaIndex Framework vs smolagents](https://www.anchorterminal.com/compare/llamaindex-vs-smolagents.md)\n- [Mastra vs smolagents](https://www.anchorterminal.com/compare/mastra-vs-smolagents.md)\n- [Microsoft Agent Framework vs smolagents](https://www.anchorterminal.com/compare/microsoft-agent-framework-vs-smolagents.md)\n- [OpenAI Agents SDK vs smolagents](https://www.anchorterminal.com/compare/openai-agents-sdk-vs-smolagents.md)\n- [Pydantic AI vs smolagents](https://www.anchorterminal.com/compare/pydantic-ai-vs-smolagents.md)\n- [smolagents vs Strands Agents](https://www.anchorterminal.com/compare/smolagents-vs-strands-agents.md)\n- [smolagents vs TradingAgents](https://www.anchorterminal.com/compare/smolagents-vs-tradingagents.md)\n- [smolagents vs AI SDK](https://www.anchorterminal.com/compare/smolagents-vs-vercel-ai-sdk.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "LangGraph vs smolagents",
        "url": ""
      }
    ],
    "description": "LangGraph scores 69.8 (B) to smolagents's 58.7 (C) for agent frameworks. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "LangGraph B 69.8",
      "smolagents C 58.7",
      "scores"
    ],
    "h1": "LangGraph vs smolagents",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/langgraph-vs-smolagents",
    "published": "2026-10-01",
    "section": "tools",
    "title": "LangGraph vs smolagents for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/langgraph-vs-smolagents"
  },
  "tokens": {
    "markdown": 4100,
    "slim": 2230
  },
  "version": 1
}
