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_js
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