Raised when the host backend returns an error response.
Minimal JSON HTTP client for the host backend deployment service.
Click group that shows one level of nested subcommands in top-level help.
Configuration for TTL (time-to-live) behavior in the store.
Configuration for indexing documents for semantic search in the store.
This governs how text is converted into embeddings and stored for vector-based lookups.
Configuration for the built-in long-term memory store.
This store can optionally perform semantic search. If you omit index,
the store will just handle traditional (non-embedded) data without vecto
Configure a default TTL for checkpointed data within threads.
Configuration for the built-in serde, which handles checkpointing of state.
If omitted, no serde is set up (the object store will still be present, however).
Configuration for the built-in checkpointer, which handles checkpointing of state.
If omitted, no checkpointer is set up (the object store will still be present, however).
Configuration for OpenAPI security definitions and requirements.
Useful for specifying global or path-level authentication and authorization flows (e.g., OAuth2, API key headers, etc.).
Configuration for custom authentication logic and how it integrates into the OpenAPI spec.
Configuration for custom at-rest encryption logic.
Allows you to implement custom encryption for sensitive data stored in the database, including metadata fields and checkpoint blobs.
Specifies Cross-Origin Resource Sharing (CORS) rules for your server.
If omitted, defaults are typically very restrictive (often no cross-origin requests). Configure carefully if you want to allow us
Customize which headers to include as configurable values in your runs.
By default, omits x-api-key, x-tenant-id, and x-service-key.
Exclusions (if provided) take precedence.
Each value can be a ra
Configuration for the built-in HTTP server that powers your deployment's routes and endpoints.
Definition of a graph with additional metadata.
Deployment source rooted at a uv project or workspace.
Top-level config for langgraph-cli or similar deployment tooling.
Captures the outcome of a build stage so the shared wait tail can be parameterized identically for both local and remote builds.
Click group that shows one level of nested subcommands in top-level help.
Group that treats leading '-' args as passthrough docker flags.
A container for referencing and managing local Python dependencies.
A "local dependency" is any entry in the config's dependencies list
that starts with "." (dot), denoting a relative path
to a loc
Context manager that creates a .tar.gz archive of the project source.
Uses _assemble_local_deps to discover local dependencies referenced in langgraph.json, including those outside config.parent (mon
CLI entrypoint for running the LangGraph API server.
Create a new LangGraph project from a template.
Prepare the arguments and stdin for running the LangGraph API server.
Create a new LangGraph project at the specified PATH using the chosen TEMPLATE.
Return every tracked package found in deps as <name>:<version> entries.
config is the absolute path to langgraph.json; dep paths in
config_json["dependencies"] are resolved relative to its pa
Validate optional deploy commands for disallowed content.
Sanitize a deployment/directory name into a valid deployment name.
LangSmith Deployment names only allow lowercase alphanumeric characters and hyphens ([a-z0-9-]). Invalid characters are replaced wit
Validate and return a Docker image tag.
Tags may only contain [A-Za-z0-9_.-]. Defaults to "latest" when empty.
Convert a timestamp (epoch ms or string) to a readable string.
Format a single log entry for display.
Return click color for a log level.
Check if a command string contains disallowed characters or patterns.
Validate a configuration dictionary.
Return warnings for unrecognized top-level keys (typos, etc.).
Load and validate a configuration file.
Generate a Dockerfile from the configuration.
Return whether local deployment builds can run on this machine.
Checks:
Convert a dictionary to a YAML string.
Create a docker compose file as a dictionary in YML style.
Create a docker compose file as a string.
Build a Docker image from a LangGraph config.
Show warning if image_distro is not set to 'wolfi'.
When emit is provided, each warning line is sent through it (used by
callers that need JSON-aware output). Otherwise falls back to colored
``cl
To help you ship LangGraph apps to production faster, check out LangSmith. LangSmith is a unified developer platform for building, testing, and monitoring LLM applications.
uv add langgraph-cli
The LangGraph CLI is the official command-line interface for LangGraph. It provides tools to create, develop, build, and run LangGraph applications locally or in Docker.
For full documentation, see the LangGraph CLI reference. For conceptual guides and tutorials, see the LangGraph Docs.
For development mode with hot reloading:
uv add "langgraph-cli[inmem]"
langgraph new 🌱Create a new LangGraph project from a template.
langgraph new [PATH] --template TEMPLATE_NAME
langgraph dev 🏃♀️Run LangGraph API server in development mode with hot reloading.
langgraph dev [OPTIONS]
--host TEXT Host to bind to (default: 127.0.0.1)
--port INTEGER Port to bind to (default: 2024)
--no-reload Disable auto-reload
--debug-port INTEGER Enable remote debugging
--no-browser Skip opening browser window
-c, --config FILE Config file path (default: langgraph.json)
langgraph up 🚀Launch LangGraph API server in Docker.
langgraph up [OPTIONS]
-p, --port INTEGER Port to expose (default: 8123)
--wait Wait for services to start
--watch Restart on file changes
--verbose Show detailed logs
-c, --config FILE Config file path
-d, --docker-compose Additional services file
langgraph buildBuild a Docker image for your LangGraph application.
langgraph build -t IMAGE_TAG [OPTIONS]
--platform TEXT Target platforms (e.g., linux/amd64,linux/arm64)
--pull / --no-pull Use latest/local base image
-c, --config FILE Config file path
langgraph dockerfileGenerate a Dockerfile for custom deployments.
langgraph dockerfile SAVE_PATH [OPTIONS]
-c, --config FILE Config file path
The CLI uses a langgraph.json configuration file with these key settings:
{
"dependencies": ["langchain_openai", "./your_package"],
"graphs": {
"my_graph": "./your_package/file.py:graph"
},
"env": "./.env",
"python_version": "3.11",
"pip_config_file": "./pip.conf",
"dockerfile_lines": []
}
See the full documentation for detailed configuration options.
To develop the CLI itself:
cd libs/cliuv sync# Run CLI commands directly
uv run langgraph --help
# Or use the examples
cd examples
uv sync
uv run langgraph dev # or other commands
See our Releases and Versioning policies.
As an open-source project in a rapidly developing field, we are extremely open to contributions, whether it be in the form of a new feature, improved infrastructure, or better documentation.
For detailed information on how to contribute, see the Contributing Guide.