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.
Configuration for TTL (time-to-live) behavior in the store.
Configuration for indexing documents for semantic search in the store.
Configuration for the built-in long-term memory store.
Configure a default TTL for checkpointed data within threads.
Configuration for the built-in serde, which handles checkpointing of state.
Configuration for the built-in checkpointer, which handles checkpointing of state.
Configuration for OpenAPI security definitions and requirements.
Configuration for custom authentication logic and how it integrates into the OpenAPI spec.
Configuration for custom at-rest encryption logic.
Specifies Cross-Origin Resource Sharing (CORS) rules for your server.
Customize which headers to include as configurable values in your runs.
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.
Raised when the host backend returns an error response.
Minimal JSON HTTP client for the host backend deployment service.
A container for referencing and managing local Python dependencies.
Click group that shows one level of nested subcommands in top-level help.
Captures the outcome of a build stage so the shared wait tail can be
Click group that shows one level of nested subcommands in top-level help.
Group that treats leading '-' args as passthrough docker flags.
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 every tracked package found in deps as <name>:<version> entries.
Create a new LangGraph project at the specified PATH using the chosen TEMPLATE.
Return whether local deployment builds can run on this machine.
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.
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.
Ensure either deployment_id or name is provided.
Validate optional deploy commands for disallowed content.
Return deployment ID for an exact name match, or None if not found.
Sanitize a deployment/directory name into a valid deployment name.
Validate and return a Docker image tag.
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.
Context manager that creates a .tar.gz archive of the project source.
Show warning if image_distro is not set to 'wolfi'.
HTTP client for LangGraph host backend deployments.
Main entrypoint into package.
Detection of tracked Python packages in a local LangGraph project.
CLI entrypoint for LangGraph API server.
Deploy command and subcommands for the LangGraph CLI.
Create a tarball of project source for remote builds.
General-purpose utilities shared across the LangGraph CLI.