site_name: "LangGraph" site_description: Build reliable, stateful AI systems, without giving up control site_url: https://langchain-ai.github.io/langgraph/ repo_url: https://github.com/langchain-ai/langgraph edit_uri: edit/main/docs/docs/ theme: name: material custom_dir: overrides logo_dark_mode: static/wordmark_light.svg logo_light_mode: static/wordmark_dark.svg favicon: static/favicon.png icon: repo: fontawesome/brands/git-alt features: - announce.dismiss - content.code.annotate - content.code.copy - content.code.select - content.tabs.link - content.action.edit - content.tooltips - navigation.indexes - navigation.footer - navigation.instant - navigation.sections - navigation.instant.prefetch - navigation.instant.progress - navigation.path - navigation.tabs - navigation.top - navigation.prune - navigation.tracking - search.highlight - search.share - search.suggest palette: - scheme: default primary: white accent: gray toggle: icon: material/brightness-7 name: Switch to dark mode - scheme: slate primary: grey accent: white toggle: icon: material/brightness-4 name: Switch to light mode font: text: "Public Sans" code: "Roboto Mono" plugins: - search: separator: '[\s\u200b\-,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;' - autorefs - tags - mkdocstrings: custom_templates: templates handlers: python: import: - https://docs.python.org/3/objects.inv - https://python.langchain.com/api_reference/objects.inv options: preload_modules: - langchain - langchain_core enable_inventory: true members_order: source allow_inspection: true heading_level: 2 show_bases: true show_source: false summary: true inherited_members: true selection: docstring_style: google docstring_section_style: table show_root_toc_entry: false show_signature: true show_signature_annotations: true separate_signature: true line_length: 60 show_symbol_type_heading: true show_symbol_type_toc: true signature_crossrefs: true options: filters: - "!^_" nav: - Get started: - index.md - Quickstarts: - Start with a prebuilt agent: agents/agents.md - Build a custom workflow: - concepts/why-langgraph.md - 1. Build a basic chatbot: tutorials/get-started/1-build-basic-chatbot.md - 2. Add tools: tutorials/get-started/2-add-tools.md - 3. Add memory: tutorials/get-started/3-add-memory.md - 4. Add human-in-the-loop: tutorials/get-started/4-human-in-the-loop.md - 5. Customize state: tutorials/get-started/5-customize-state.md - 6. Time travel: tutorials/get-started/6-time-travel.md - Run a local server: tutorials/langgraph-platform/local-server.md - Agent development: - Workflows & agents: tutorials/workflows.md - Prebuilt components: agents/overview.md - Run an agent: agents/run_agents.md - Agent architectures: concepts/agentic_concepts.md - Guides: - LangGraph APIs: - Graph API: - Overview: concepts/low_level.md - Use the Graph API: how-tos/graph-api.ipynb - Functional API: - Overview: concepts/functional_api.md - Use the Functional API: how-tos/use-functional-api.md - Runtime: concepts/pregel.md - Core capabilities: - Streaming: - Overview: concepts/streaming.md - Stream outputs: how-tos/streaming.md - Use Server API: cloud/how-tos/streaming.md - Persistence: - Overview: concepts/persistence.md - Durable execution: - Overview: concepts/durable_execution.md - Memory: - Overview: concepts/memory.md - Add memory: how-tos/memory/add-memory.md - Context: - Add context: agents/context.md - Models: - Configure model: agents/models.md - Tools: - Overview: concepts/tools.md - Call tools: how-tos/tool-calling.md - Human-in-the-loop: - Overview: concepts/human_in_the_loop.md - Add human intervention: how-tos/human_in_the_loop/add-human-in-the-loop.md - Use Server API: cloud/how-tos/add-human-in-the-loop.md - Breakpoints: - Overview: concepts/breakpoints.md - Set breakpoints: how-tos/human_in_the_loop/breakpoints.md - Use Server API: cloud/how-tos/human_in_the_loop_breakpoint.md - Time travel: - Overview: concepts/time-travel.md - Use time travel: how-tos/human_in_the_loop/time-travel.md - Use Server API: cloud/how-tos/human_in_the_loop_time_travel.md - Subgraphs: - Overview: concepts/subgraphs.md - Use subgraphs: how-tos/subgraph.ipynb - Multi-agent: - Overview: concepts/multi_agent.md - Prebuilt implementation: agents/multi-agent.md - Custom implementation: how-tos/multi_agent.ipynb - MCP: - Use MCP: agents/mcp.md - Server API: concepts/server-mcp.md - Evaluation: - Basic implementation: agents/evals.md - Platform-only capabilities: - LangGraph Platform: - Overview: concepts/langgraph_platform.md - Components: - Overview: concepts/langgraph_components.md - LangGraph Server: - Overview: concepts/langgraph_server.md - Data plane: concepts/langgraph_data_plane.md - Control plane: concepts/langgraph_control_plane.md - LangGraph CLI: concepts/langgraph_cli.md - LangGraph Studio: - Overview: concepts/langgraph_studio.md - Quickstart: cloud/how-tos/studio/quick_start.md - cloud/how-tos/invoke_studio.md - cloud/how-tos/studio/manage_assistants.md - cloud/how-tos/threads_studio.md - cloud/how-tos/iterate_graph_studio.md - cloud/how-tos/studio/run_evals.md - cloud/how-tos/clone_traces_studio.md - cloud/how-tos/datasets_studio.md - LangGraph SDK: concepts/sdk.md - Plans & pricing: concepts/plans.md - Application structure: concepts/application_structure.md - Scalability & resilience: concepts/scalability_and_resilience.md - Authentication & access control: - Overview: concepts/auth.md - how-tos/auth/custom_auth.md - how-tos/auth/openapi_security.md - Assistants: - Overview: concepts/assistants.md - cloud/how-tos/configuration_cloud.md - Threads: cloud/how-tos/use_threads.md - Runs: - cloud/how-tos/background_run.md - cloud/how-tos/same-thread.md - cloud/how-tos/cron_jobs.md - cloud/how-tos/stateless_runs.md - cloud/how-tos/configurable_headers.md - Double-texting: - Overview: concepts/double_texting.md - cloud/how-tos/interrupt_concurrent.md - cloud/how-tos/rollback_concurrent.md - cloud/how-tos/reject_concurrent.md - cloud/how-tos/enqueue_concurrent.md - Webhooks: - Overview: cloud/how-tos/webhooks.md - cloud/how-tos/webhooks.md - Cron jobs: - Overview: cloud/how-tos/cron_jobs.md - cloud/how-tos/cron_jobs.md - Server customization: - how-tos/http/custom_lifespan.md - how-tos/http/custom_middleware.md - how-tos/http/custom_routes.md - Data management: - Add semantic search: cloud/deployment/semantic_search.md - Add TTLs: how-tos/ttl/configure_ttl.md - Deployment: - Overview: concepts/deployment_options.md - Quickstart: cloud/quick_start.md - Set up your application: - Use requirements.txt: cloud/deployment/setup.md - Use pyproject.toml: cloud/deployment/setup_pyproject.md - Use JavaScript: cloud/deployment/setup_javascript.md - Use custom Docker: cloud/deployment/custom_docker.md - Rebuild graph at runtime: cloud/deployment/graph_rebuild.md - Deployment options: - Cloud SaaS: concepts/langgraph_cloud.md - Self-Hosted Data Plane: concepts/langgraph_self_hosted_data_plane.md - Self-Hosted Control Plane: concepts/langgraph_self_hosted_control_plane.md - Standalone Container: concepts/langgraph_standalone_container.md - Deploy to production: - Cloud SaaS: cloud/deployment/cloud.md - Self-Hosted Data Plane: cloud/deployment/self_hosted_data_plane.md - Self-Hosted Control Plane: cloud/deployment/self_hosted_control_plane.md - Standalone Container: cloud/deployment/standalone_container.md - Reference: - reference/index.md - LangGraph: - Graphs: reference/graphs.md - Functional API: reference/func.md - Pregel: reference/pregel.md - Checkpointing: reference/checkpoints.md - Storage: reference/store.md - Caching: reference/cache.md - Types: reference/types.md - Config: reference/config.md - Errors: reference/errors.md - Constants: reference/constants.md - Channels: reference/channels.md - Prebuilt: - Agents: reference/agents.md - Supervisor: reference/supervisor.md - Swarm: reference/swarm.md - MCP Adapters: reference/mcp.md - LangGraph Platform: - Server API: cloud/reference/api/api_ref.md - CLI: cloud/reference/cli.md - SDK (Python): cloud/reference/sdk/python_sdk_ref.md - SDK (JS/TS): cloud/reference/sdk/js_ts_sdk_ref.md - RemoteGraph: reference/remote_graph.md - Environment variables: cloud/reference/env_var.md - Examples: - Template applications: concepts/template_applications.md # TODO: make tutorial - Agentic RAG: tutorials/rag/langgraph_agentic_rag.ipynb - Agent Supervisor: tutorials/multi_agent/agent_supervisor.ipynb - SQL agent: tutorials/sql-agent.ipynb - Prebuilt chat UI: agents/ui.md - Graph runs in LangSmith: how-tos/run-id-langsmith.ipynb - LangGraph Platform: - Authentication: - tutorials/auth/getting_started.md - tutorials/auth/resource_auth.md - tutorials/auth/add_auth_server.md - Use RemoteGraph: how-tos/use-remote-graph.md - Deploy CrewAI, AutoGen, and other frameworks: how-tos/autogen-langgraph-platform.ipynb # combine with how-tos/autogen-integration.ipynb - Front-end and generative UI: - Integrate LangGraph into a React app: cloud/how-tos/use_stream_react.md - Implement generative UI with LangGraph: cloud/how-tos/generative_ui_react.md - Additional resources: - agents/prebuilt.md # NOTE: prebuilt.md is auto-generated by `make build-prebuilt` - LangGraph Academy course: https://academy.langchain.com/courses/intro-to-langgraph - Case studies: adopters.md - concepts/faq.md - llms.txt: llms-txt-overview.md - Troubleshooting: - Errors: - troubleshooting/errors/index.md - troubleshooting/errors/GRAPH_RECURSION_LIMIT.md - troubleshooting/errors/INVALID_CONCURRENT_GRAPH_UPDATE.md - troubleshooting/errors/INVALID_GRAPH_NODE_RETURN_VALUE.md - troubleshooting/errors/MULTIPLE_SUBGRAPHS.md - troubleshooting/errors/INVALID_CHAT_HISTORY.md - troubleshooting/errors/INVALID_LICENSE.md - LangGraph Studio: troubleshooting/studio.md markdown_extensions: - abbr - admonition - pymdownx.details - attr_list - def_list - footnotes - md_in_html - pymdownx.superfences - pymdownx.tabbed: alternate_style: true - toc: permalink: true - pymdownx.arithmatex: generic: true - pymdownx.betterem: smart_enable: all - pymdownx.caret - pymdownx.details - pymdownx.emoji: emoji_generator: !!python/name:material.extensions.emoji.to_svg emoji_index: !!python/name:material.extensions.emoji.twemoji - pymdownx.highlight: anchor_linenums: true line_spans: __span use_pygments: true pygments_lang_class: true - pymdownx.inlinehilite - pymdownx.keys - pymdownx.magiclink: normalize_issue_symbols: true repo_url_shorthand: true user: langchain-ai repo: langgraph - pymdownx.mark - pymdownx.smartsymbols - pymdownx.snippets: auto_append: - includes/mkdocs.md - pymdownx.superfences: custom_fences: - name: mermaid class: mermaid format: !!python/name:pymdownx.superfences.fence_code_format - pymdownx.tabbed: alternate_style: true combine_header_slug: true - pymdownx.tasklist: custom_checkbox: true - markdown_include.include: base_path: ./ - github-callouts hooks: - _scripts/notebook_hooks.py extra: social: - icon: fontawesome/brands/js link: https://langchain-ai.github.io/langgraphjs/ - icon: fontawesome/brands/github link: https://github.com/langchain-ai/langgraph - icon: fontawesome/brands/twitter link: https://twitter.com/LangChainAI validation: # https://www.mkdocs.org/user-guide/configuration/ # We are still raising for omitted files because they determine the breadcrumbs for pages. omitted_files: info absolute_links: warn unrecognized_links: warn anchors: warn # this is needed to handle headers with anchors for nav not_found: info copyright: > Copyright © 2025 LangChain, Inc | Consent Preferences extra_css: - stylesheets/navigation_title_ovverides.css - stylesheets/version_admonitions.css - stylesheets/logos.css - stylesheets/sticky_navigation.css - stylesheets/agent_graph_widget.css