site_name: "" site_description: Build language agents as graphs 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 - header.autohide - navigation.indexes - navigation.expand - navigation.footer - navigation.instant - navigation.sections - navigation.instant.prefetch - navigation.instant.progress - navigation.path - navigation.prune - navigation.tabs - navigation.top - navigation.tracking - search.highlight - search.share - search.suggest - toc.follow 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;|(?!\b)(?=[A-Z][a-z])' - autorefs - mkdocstrings: handlers: python: import: - https://docs.python.org/3/objects.inv - https://python.langchain.com/api_reference/objects.inv options: 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: list show_root_toc_entry: false show_signature_annotations: true show_symbol_type_heading: true show_symbol_type_toc: true signature_crossrefs: true options: filters: - "!^_" nav: - Home: - Introduction: index.md - Get started: - Learn the basics: tutorials/introduction.ipynb - Deployment: - tutorials/deployment.md - Local Deploy: tutorials/langgraph-platform/local-server.md - Template Applications: concepts/template_applications.md # TODO: make tutorial - Cloud Deploy: cloud/quick_start.md - Guides: - How-to Guides: - how-tos/index.md - LangGraph: - LangGraph: how-tos#langgraph - Graph API Basics: - Graph API Basics: how-tos#graph-api-basics - how-tos/state-reducers.ipynb - how-tos/sequence.ipynb - how-tos/branching.ipynb - how-tos/recursion-limit.ipynb - how-tos/visualization.ipynb - Controllability: - Controllability: how-tos#controllability - how-tos/map-reduce.ipynb - how-tos/command.ipynb - how-tos/configuration.ipynb - how-tos/node-retries.ipynb - how-tos/return-when-recursion-limit-hits.ipynb - Persistence: - Persistence: how-tos#persistence - how-tos/persistence.ipynb - how-tos/subgraph-persistence.ipynb - how-tos/cross-thread-persistence.ipynb - how-tos/persistence_postgres.ipynb - how-tos/persistence_mongodb.ipynb - how-tos/persistence_redis.ipynb - how-tos/persistence-functional.ipynb - how-tos/cross-thread-persistence-functional.ipynb - Memory: - Memory: how-tos#memory - how-tos/memory/manage-conversation-history.ipynb - how-tos/memory/delete-messages.ipynb - how-tos/memory/add-summary-conversation-history.ipynb - how-tos/memory/semantic-search.ipynb - Human-in-the-loop: - Human-in-the-loop: how-tos#human-in-the-loop - how-tos/human_in_the_loop/breakpoints.ipynb - how-tos/human_in_the_loop/dynamic_breakpoints.ipynb - how-tos/human_in_the_loop/edit-graph-state.ipynb - how-tos/human_in_the_loop/wait-user-input.ipynb - how-tos/human_in_the_loop/time-travel.ipynb - how-tos/human_in_the_loop/review-tool-calls.ipynb - how-tos/wait-user-input-functional.ipynb - how-tos/review-tool-calls-functional.ipynb - Streaming: - Streaming: how-tos#streaming - how-tos/streaming.ipynb - how-tos/streaming-tokens.ipynb - how-tos/streaming-specific-nodes.ipynb - how-tos/streaming-events-from-within-tools.ipynb - how-tos/streaming-subgraphs.ipynb - how-tos/disable-streaming.ipynb - Tool calling: - Tool calling: how-tos#tool-calling - how-tos/tool-calling.ipynb - how-tos/tool-calling-errors.ipynb - how-tos/pass-run-time-values-to-tools.ipynb - how-tos/update-state-from-tools.ipynb - how-tos/pass-config-to-tools.ipynb - how-tos/many-tools.ipynb - Subgraphs: - Subgraphs: how-tos#subgraphs - how-tos/subgraph.ipynb - how-tos/subgraphs-manage-state.ipynb - how-tos/subgraph-transform-state.ipynb - Multi-agent: - Multi-agent: how-tos#multi-agent - how-tos/agent-handoffs.ipynb - how-tos/multi-agent-network.ipynb - how-tos/multi-agent-multi-turn-convo.ipynb - how-tos/multi-agent-network-functional.ipynb - how-tos/multi-agent-multi-turn-convo-functional.ipynb - State Management: - State Management: how-tos#state-management - how-tos/state-model.ipynb - how-tos/input_output_schema.ipynb - how-tos/pass_private_state.ipynb - Other: - Other: how-tos#other - how-tos/async.ipynb - how-tos/react-agent-structured-output.ipynb - how-tos/run-id-langsmith.ipynb - how-tos/autogen-integration.ipynb - how-tos/autogen-integration-functional.ipynb - Prebuilt ReAct Agent: - Prebuilt ReAct Agent: how-tos#prebuilt-react-agent - how-tos/create-react-agent.ipynb - how-tos/create-react-agent-memory.ipynb - how-tos/create-react-agent-system-prompt.ipynb - how-tos/create-react-agent-hitl.ipynb - how-tos/create-react-agent-structured-output.ipynb - how-tos/react-agent-from-scratch.ipynb - how-tos/react-agent-from-scratch-functional.ipynb - LangGraph Platform: - LangGraph Platform: how-tos#langgraph-platform - Application Structure: - Application Structure: how-tos#application-structure - cloud/deployment/setup.md - cloud/deployment/setup_pyproject.md - cloud/deployment/setup_javascript.md - cloud/deployment/semantic_search.md - cloud/deployment/custom_docker.md - cloud/deployment/test_locally.md - cloud/deployment/graph_rebuild.md - how-tos/autogen-langgraph-platform.ipynb - Deployment: - Deployment: how-tos#deployment - cloud/deployment/cloud.md - how-tos/deploy-self-hosted.md - how-tos/use-remote-graph.md - Authentication & Access Control: - Authentication & Access Control: how-tos#authentication-access-control - cloud/how-tos/auth/custom_auth_new.md - cloud/how-tos/auth/openapi_security_new.md - Assistants: - Assistants: how-tos#assistants - cloud/how-tos/configuration_cloud.md - cloud/how-tos/assistant_versioning.md - Threads: - Threads: how-tos#threads - cloud/how-tos/copy_threads.md - cloud/how-tos/check_thread_status.md - Runs: - Runs: how-tos#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 - Streaming: - Streaming: how-tos#streaming_1 - cloud/how-tos/stream_values.md - cloud/how-tos/stream_updates.md - cloud/how-tos/stream_messages.md - cloud/how-tos/stream_events.md - cloud/how-tos/stream_debug.md - cloud/how-tos/stream_multiple.md - cloud/how-tos/use_stream_react.md - Human-in-the-loop: - Human-in-the-loop: how-tos#human-in-the-loop_1 - cloud/how-tos/human_in_the_loop_breakpoint.md - cloud/how-tos/human_in_the_loop_user_input.md - cloud/how-tos/human_in_the_loop_edit_state.md - cloud/how-tos/human_in_the_loop_time_travel.md - cloud/how-tos/human_in_the_loop_review_tool_calls.md - Double-texting: - Double-texting: how-tos#double-texting - 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: - cloud/how-tos/webhooks.md - Cron Jobs: - cloud/how-tos/cron_jobs.md - LangGraph Studio: - LangGraph Studio: how-tos#langgraph-studio - cloud/how-tos/test_deployment.md - cloud/how-tos/test_local_deployment.md - cloud/how-tos/invoke_studio.md - cloud/how-tos/threads_studio.md - cloud/how-tos/datasets_studio.md - Concepts: - concepts/index.md - LangGraph: - LangGraph: concepts#langgraph - concepts/high_level.md - concepts/low_level.md - concepts/agentic_concepts.md - concepts/multi_agent.md - concepts/breakpoints - concepts/human_in_the_loop.md - concepts/time-travel.md - concepts/persistence.md - concepts/memory.md - concepts/streaming.md - concepts/functional_api.md - concepts/durable_execution.md - concepts/pregel.md - LangGraph Platform: - LangGraph Platform: concepts#langgraph-platform - High Level: - High Level: concepts#high-level - concepts/langgraph_platform.md - concepts/deployment_options.md - concepts/plans.md - concepts/template_applications.md - Components: - Components: concepts#components - concepts/langgraph_server.md - concepts/langgraph_studio.md - concepts/langgraph_cli.md - concepts/sdk.md - how-tos/use-remote-graph.md - LangGraph Server: - LangGraph Server: concepts#langgraph-server - concepts/application_structure.md - concepts/assistants.md - concepts/double_texting.md - concepts/auth.md - Deployment Options: - Deployment Options: concepts#deployment-options - concepts/self_hosted.md - concepts/langgraph_cloud.md - concepts/bring_your_own_cloud.md - Tutorials: - tutorials/index.md - Quick Start: - Quick Start: tutorials#quick-start - tutorials/introduction.ipynb - tutorials/workflows/index.md - tutorials/langgraph-platform/local-server.md - cloud/quick_start.md - Chatbots: - Chatbots: tutorials#chatbots - tutorials/customer-support/customer-support.ipynb - tutorials/chatbots/information-gather-prompting.ipynb - tutorials/code_assistant/langgraph_code_assistant.ipynb - RAG: - RAG: tutorials#rag - tutorials/rag/langgraph_adaptive_rag.ipynb - tutorials/rag/langgraph_adaptive_rag_local.ipynb - tutorials/rag/langgraph_agentic_rag.ipynb - tutorials/rag/langgraph_crag.ipynb - tutorials/rag/langgraph_crag_local.ipynb - tutorials/rag/langgraph_self_rag.ipynb - tutorials/rag/langgraph_self_rag_local.ipynb - tutorials/sql-agent.ipynb - Agent Architectures: - Agent Architectures: tutorials#agent-architectures - Multi-Agent Systems: - Multi-Agent Systems: tutorials#multi-agent-systems - tutorials/multi_agent/multi-agent-collaboration.ipynb - tutorials/multi_agent/agent_supervisor.ipynb - tutorials/multi_agent/hierarchical_agent_teams.ipynb - Planning Agents: - Planning Agents: tutorials#planning-agents - tutorials/plan-and-execute/plan-and-execute.ipynb - tutorials/rewoo/rewoo.ipynb - tutorials/llm-compiler/LLMCompiler.ipynb - Reflection & Critique: - Reflection & Critique: tutorials#reflection-critique - tutorials/reflection/reflection.ipynb - tutorials/reflexion/reflexion.ipynb - tutorials/tot/tot.ipynb - tutorials/lats/lats.ipynb - tutorials/self-discover/self-discover.ipynb - Evaluation & Analysis: - Evaluation & Analysis: tutorials#evaluation - tutorials/chatbot-simulation-evaluation/agent-simulation-evaluation.ipynb - tutorials/chatbot-simulation-evaluation/langsmith-agent-simulation-evaluation.ipynb - Experimental: - Experimental: tutorials#experimental - tutorials/storm/storm.ipynb - tutorials/tnt-llm/tnt-llm.ipynb - tutorials/web-navigation/web_voyager.ipynb - tutorials/usaco/usaco.ipynb - tutorials/extraction/retries.ipynb - LangGraph Platform: - LangGraph Platform: concepts#langgraph-platform - tutorials/auth/getting_started.md - tutorials/auth/resource_auth.md - tutorials/auth/add_auth_server.md - Resources: # NOTE: prebuilt.md is auto-generated by `make build-prebuilt` - Prebuilt Agents: prebuilt.md - Adopters: adopters.md - FAQ: concepts/faq.md - Troubleshooting: - Troubleshooting: troubleshooting/errors/index.md - 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 Academy Course: https://academy.langchain.com/courses/intro-to-langgraph - API reference: - Library: - Graphs: reference/graphs.md - Checkpointing: reference/checkpoints.md - Storage: reference/store.md - Prebuilt components: reference/prebuilt.md - Channels: reference/channels.md - Errors: reference/errors.md - Types: reference/types.md - Constants: reference/constants.md - Pregel: reference/pregel.md - Config: reference/config.md - Functional API: reference/func.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" 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: consent: title: Cookie consent actions: - accept - reject description: >- We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. Clicking "Accept" makes our documentation better. Thank you! ❤️ 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 analytics: provider: google property: G-G8X6ELZYE0 feedback: title: Was this page helpful? ratings: - icon: material/emoticon-happy-outline name: This page was helpful data: 1 note: >- Thanks for your feedback! - icon: material/emoticon-sad-outline name: This page could be improved data: 0 note: >- Thanks for your feedback! Please help us improve this page by adding to the discussion below. validation: # https://www.mkdocs.org/user-guide/configuration/ # We're `ignoring` nav.omitted_files because we are going to rely # on files being properly links to from the index pages of: # - tutorials # - concepts # - how-tos # - reference omitted_files: ignore absolute_links: warn unrecognized_links: warn # TODO: figure out how to enable 'warn' for this # it's only an issue for tutorials/storm/storm.ipynb # because it creates anchors in the generated report # and those anchors are not available in the actual doc anchors: info # this is needed to handle headers with anchors for nav not_found: info copyright: > Copyright © 2025 LangChain, Inc | Consent Preferences