mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-08-24 00:22:25 +02:00
## Summary `langgraph deploy` now pins images by digest when handing the URI to the LangGraph host backend. After `docker push`, the CLI reads the manifest digest from the local Docker daemon's `RepoDigests` and sends `registry/repo@sha256:<hex>` to the host backend instead of the tag-based reference. Mutable tags cause downstream inconsistency — the same revision can refer to different images over time. The image is still pushed under the user-supplied `--tag` (default `:latest`) so it stays discoverable by tag in the registry — only the URI persisted with the revision changes. ## Behavior on failure If the digest can't be resolved (empty `RepoDigests`, or no entry matching the just-pushed repo), the CLI warns and falls back to the tag-based reference. Deploys never fail on a digest-resolution issue. ## Test plan - [x] `make test` passes (new `TestResolvePushedImageDigest` cases included) - [x] `--verbose` deploy shows the `docker image inspect` call resolving the digest - [x] Deploy with a clean Docker daemon (no matching `RepoDigests`) emits the fallback warning and still completes successfully --------- Co-authored-by: Josh Rogers <josh@langchain.dev>
LangGraph CLI
The official command-line interface for LangGraph, providing tools to create, develop, and deploy LangGraph applications.
Installation
Install via pip:
pip install langgraph-cli
For development mode with hot reloading:
pip install "langgraph-cli[inmem]"
Commands
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 build
Build 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 dockerfile
Generate a Dockerfile for custom deployments
langgraph dockerfile SAVE_PATH [OPTIONS]
-c, --config FILE Config file path
Configuration
The CLI uses a langgraph.json configuration file with these key settings:
{
"dependencies": ["langchain_openai", "./your_package"], // Required: Package dependencies
"graphs": {
"my_graph": "./your_package/file.py:graph" // Required: Graph definitions
},
"env": "./.env", // Optional: Environment variables
"python_version": "3.11", // Optional: Python version (3.11/3.12)
"pip_config_file": "./pip.conf", // Optional: pip configuration
"dockerfile_lines": [] // Optional: Additional Dockerfile commands
}
See the full documentation for detailed configuration options.
Development
To develop the CLI itself:
- Clone the repository
- Navigate to the CLI directory:
cd libs/cli - Install development dependencies:
uv pip install - Make your changes to the CLI code
- Test your changes:
# Run CLI commands directly uv run langgraph --help # Or use the examples cd examples uv pip install uv run langgraph dev # or other commands
License
This project is licensed under the terms specified in the repository's LICENSE file.