site_name: "" site_description: Build language agents as graphs site_url: https://langchain-ai.github.io/langgraphjs/ repo_url: https://github.com/langchain-ai/langgraphjs theme: name: material custom_dir: overrides logo_dark_mode: static/wordmark_light.svg logo_light_mode: static/wordmark_dark.svg favicon: static/favicon.png features: - announce.dismiss - content.code.annotate - content.code.copy - content.code.select - content.tabs.link - content.tooltips - header.autohide - navigation.expand - navigation.footer - navigation.indexes - navigation.instant - navigation.instant.prefetch - navigation.instant.progress - navigation.sections - 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 - open-in-new-tab - exclude-search: exclude: - tutorials/quickstart.ipynb - tutorials/deployment.md - tutorials/langgraph-platform/local-server.md - concepts/template_applications.md # TODO: make tutorial - cloud/quick_start.md - how-tos/index.md - how-tos#installation - how-tos/manage-ecosystem-dependencies.ipynb - how-tos/use-in-web-environments.ipynb - how-tos#langgraph - how-tos#controllability - how-tos/map-reduce.ipynb - how-tos/branching.ipynb - how-tos/command.ipynb - how-tos/recursion-limit.ipynb - how-tos/defer-node-execution.ipynb - how-tos#persistence - how-tos/persistence.ipynb - how-tos/persistence-functional.ipynb - how-tos/subgraph-persistence.ipynb - how-tos/cross-thread-persistence.ipynb - how-tos/cross-thread-persistence-functional.ipynb - how-tos/persistence-postgres.ipynb - how-tos#memory - how-tos/manage-conversation-history.ipynb - how-tos/delete-messages.ipynb - how-tos/add-summary-conversation-history.ipynb - how-tos/semantic-search.ipynb - how-tos#human-in-the-loop - how-tos/breakpoints.ipynb - how-tos/dynamic_breakpoints.ipynb - how-tos/edit-graph-state.ipynb - how-tos/wait-user-input.ipynb - how-tos/wait-user-input-functional.ipynb - how-tos/time-travel.ipynb - how-tos/review-tool-calls.ipynb - how-tos/review-tool-calls-functional.ipynb - how-tos#streaming - how-tos/stream-values.ipynb - how-tos/stream-updates.ipynb - how-tos/stream-tokens.ipynb - how-tos/streaming-tokens-without-langchain.ipynb - how-tos/streaming-content.ipynb - how-tos/stream-multiple.ipynb - how-tos/streaming-events-from-within-tools.ipynb - how-tos/streaming-from-final-node.ipynb - how-tos#tool-calling - how-tos/tool-calling.ipynb - how-tos/force-calling-a-tool-first.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#subgraphs - how-tos/subgraph.ipynb - how-tos/subgraphs-manage-state.ipynb - how-tos/subgraph-transform-state.ipynb - how-tos#multi-agent - how-tos/multi-agent-network.ipynb - how-tos/multi-agent-network-functional.ipynb - how-tos/multi-agent-multi-turn-convo.ipynb - how-tos/multi-agent-multi-turn-convo-functional.ipynb - how-tos#state-management - how-tos/define-state.ipynb - how-tos/input_output_schema.ipynb - how-tos/pass_private_state.ipynb - how-tos#other - how-tos/configuration.ipynb - how-tos/node-retry-policies.ipynb - how-tos/node-caching.ipynb - how-tos/dynamically-returning-directly.ipynb - how-tos/respond-in-format.ipynb - how-tos/managing-agent-steps.ipynb - how-tos#prebuilt-react-agent - how-tos/create-react-agent.ipynb - how-tos/react-memory.ipynb - how-tos/react-system-prompt.ipynb - how-tos/react-human-in-the-loop.ipynb - how-tos/react-return-structured-output.ipynb - how-tos/react-agent-from-scratch-functional.ipynb - how-tos#langgraph-platform - 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#deployment - cloud/deployment/cloud.md - how-tos/deploy-self-hosted.md - how-tos/use-remote-graph.md - how-tos#authentication-access-control - how-tos/auth/custom_auth.md - cloud/how-tos/auth/openapi_security_new.md - how-tos#assistants - cloud/how-tos/configuration_cloud.md - cloud/how-tos/assistant_versioning.md - how-tos#threads - cloud/how-tos/use_threads.md - cloud/how-tos/copy_threads.md - cloud/how-tos/check_thread_status.md - how-tos#runs - cloud/how-tos/background_run.md - cloud/how-tos/same-thread.md - cloud/how-tos/cron_jobs.md - how-tos#streaming - cloud/how-tos/stateless_runs.md - 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 - how-tos#frontend-generative-ui - cloud/how-tos/use_stream_react.md - cloud/how-tos/generative_ui_react.md - how-tos#human-in-the-loop - 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 - 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 - how-tos#webhooks - cloud/how-tos/webhooks.md - how-tos#cron-jobs - cloud/how-tos/cron_jobs.md - how-tos#modifying-the-api - cloud/how-tos/http/custom_middleware.md - cloud/how-tos/http/custom_routes.md - 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/index.md - concepts#langgraph - concepts/high_level.md - concepts/low_level.md - concepts/agentic_concepts.md - concepts/multi_agent.md - concepts/human_in_the_loop.md - concepts/persistence.md - concepts/memory.md - concepts/streaming.md - concepts/functional_api.md - concepts#langgraph-platform - concepts#high-level - concepts/langgraph_platform.md - concepts/deployment_options.md - concepts/plans.md - concepts#components - concepts/langgraph_server.md - concepts/langgraph_studio.md - concepts/langgraph_cli.md - concepts/sdk.md - concepts#langgraph-server - concepts/application_structure.md - concepts/assistants.md - concepts/double_texting.md - concepts/auth.md - concepts#deployment-options - concepts/self_hosted.md - concepts/langgraph_cloud.md - concepts/bring_your_own_cloud.md - tutorials/index.md - tutorials#quick-start - tutorials/workflows/index.md - tutorials/chatbots/customer_support_small_model.ipynb - tutorials#rag - tutorials/rag/langgraph_agentic_rag.ipynb - tutorials/rag/langgraph_crag.ipynb - tutorials/rag/langgraph_self_rag.ipynb - tutorials#agent-architectures - tutorials#multi-agent-systems - tutorials/multi_agent/multi_agent_collaboration.ipynb - tutorials/multi_agent/agent_supervisor.ipynb - tutorials/multi_agent/hierarchical_agent_teams.ipynb - tutorials#planning-agents - tutorials/plan-and-execute/plan-and-execute.ipynb - tutorials#reflection-critique - tutorials/reflection/reflection.ipynb - tutorials/rewoo/rewoo.ipynb - tutorials#evaluation - tutorials/chatbot-simulation-evaluation/agent-simulation-evaluation.ipynb - adopters.md - llms-txt-overview.md - concepts/faq.md - troubleshooting/errors/ - troubleshooting/errors/index.md - troubleshooting/errors/GRAPH_RECURSION_LIMIT.ipynb - troubleshooting/errors/INVALID_CONCURRENT_GRAPH_UPDATE.ipynb - troubleshooting/errors/INVALID_GRAPH_NODE_RETURN_VALUE.ipynb - troubleshooting/errors/MULTIPLE_SUBGRAPHS.ipynb - troubleshooting/errors/UNREACHABLE_NODE.ipynb - agents/overview.md - agents/agents.md - agents/run_agents.md - agents/streaming.md - agents/models.md - agents/tools.md - agents/mcp.md - agents/context.md - agents/memory.md - agents/human-in-the-loop.md - agents/multi-agent.md - agents/evals.md - agents/deployment.md - agents/ui.md # NOTE: prebuilt.md is auto-generated by `make generate-prebuilt-page` - agents/prebuilt.md nav: - LangGraph: - Introduction: index.md - "API reference": - "reference/index.html" - 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" - "Versions": - "versions/index.md" markdown_extensions: - abbr - admonition - pymdownx.details - attr_list - def_list - footnotes - md_in_html - 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: langgraphjs - 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 extra_css: - css/mkdocstrings.css - css/agent_graph_widget.css hooks: - _scripts/notebook_hooks.py extra: scope: /langgraphjs/ 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/python link: https://langchain-ai.github.io/langgraph/ - icon: fontawesome/brands/github link: https://github.com/langchain-ai/langgraphjs - icon: fontawesome/brands/twitter link: https://x.com/langchain 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 anchors: info # this is needed to handle headers with anchors for nav not_found: info copyright: > Copyright © 2025 LangChain, Inc | Consent Preferences