| name | langgraph-cli |
| description | INVOKE THIS SKILL when using the langgraph CLI to scaffold, develop, build, or deploy LangGraph applications. Covers langgraph new, dev, build, up, deploy, and langgraph.json configuration. |
The `langgraph` CLI manages the full lifecycle of LangGraph applications — from scaffolding a new project to deploying it to LangGraph Platform (LangSmith Deployments).
Key commands:
langgraph new — Scaffold a project from a template
langgraph dev — Run locally with hot reload (no Docker)
langgraph build — Build a Docker image
langgraph up — Launch locally via Docker Compose
langgraph deploy — Ship to LangGraph Platform
langgraph dockerfile — Generate a Dockerfile
All commands (except new) read from a langgraph.json config file in the project root.
When to use
Use this skill when the user wants to:
- Scaffold a new LangGraph project
- Run a local development or production-like server
- Build or deploy a LangGraph application
- Understand or edit
langgraph.json configuration
- Manage LangSmith Deployments (list, delete, view logs)
Installation
pip install 'langgraph-cli[inmem]'
pip install langgraph-cli
uv add "langgraph-cli[inmem]"
uv add langgraph-cli
npx @langchain/langgraph-cli
npm install -g @langchain/langgraph-cli
Commands
langgraph new [PATH]
Scaffold a new project from a template.
langgraph new
langgraph new ./my-agent
langgraph new --template agent-python
Available templates: deep-agent-python, deep-agent-js, agent-python, new-langgraph-project-python, new-langgraph-project-js
langgraph dev
Run a local development server with hot reloading. No Docker required.
langgraph dev
langgraph dev --port 8000
langgraph dev --config ./langgraph.json
langgraph dev --no-reload
langgraph dev --no-browser
langgraph dev --host 0.0.0.0
langgraph dev --tunnel
langgraph dev --debug-port 5678
langgraph dev --n-jobs-per-worker 20
langgraph build
Build a Docker image for the LangGraph API server.
langgraph build -t my-image
langgraph build -t my-image --no-pull
langgraph build -t my-image -c langgraph.json
langgraph build -t my-image --base-image langchain/langgraph-server:0.2.18
langgraph up
Launch the LangGraph API server via Docker Compose (includes Postgres).
langgraph up
langgraph up --port 8000
langgraph up --watch
langgraph up --recreate
langgraph up --postgres-uri postgresql://...
langgraph up --no-pull
langgraph up --image my-image
langgraph up -d docker-compose.yml
langgraph up --debugger-port 8124
langgraph up --wait
langgraph deploy
Build and deploy to LangGraph Platform (LangSmith Deployments). Requires Docker. On Apple Silicon (M1/M2/M3), Docker Buildx is also required for cross-compiling to linux/amd64.
langgraph deploy
langgraph deploy --name my-agent
langgraph deploy --deployment-type prod
langgraph deploy --tag v1.2.0
langgraph deploy --deployment-id <id>
langgraph deploy --config ./langgraph.json
langgraph deploy --no-wait
langgraph deploy --verbose
Prereq: LANGSMITH_API_KEY in environment or .env.
langgraph deploy also accepts build flags: --base-image, --pull/--no-pull.
langgraph deploy list
langgraph deploy list
langgraph deploy list --name-contains bot
langgraph deploy delete
langgraph deploy delete <deployment-id>
langgraph deploy delete <deployment-id> --force
langgraph deploy logs
langgraph deploy logs
langgraph deploy logs --name my-agent
langgraph deploy logs --deployment-id <id>
langgraph deploy logs --type build
langgraph deploy logs -f
langgraph deploy logs --level error
langgraph deploy logs -q "timeout"
langgraph deploy logs --limit 500
langgraph deploy logs --start-time 2026-03-08T00:00:00Z
langgraph dockerfile <SAVE_PATH>
Generate a Dockerfile (and optionally Docker Compose files) without building.
langgraph dockerfile ./Dockerfile
langgraph dockerfile ./Dockerfile --add-docker-compose
langgraph.json reference
The configuration file used by all CLI commands (dev, build, up, deploy). Defaults to langgraph.json in the current directory.
Minimal config (Python)
{
"dependencies": ["."],
"graphs": {
"agent": "./my_agent/agent.py:graph"
},
"env": "./.env"
}
Minimal config (JavaScript)
{
"dependencies": ["."],
"graphs": {
"agent": "./src/agent.js:graph"
},
"env": "./.env"
}
Full config with all keys
{
"dependencies": [".", "langchain_openai", "./local_package"],
"graphs": {
"agent": "./my_agent/agent.py:graph",
"retriever": "./my_agent/rag.py:rag_graph"
},
"env": "./.env",
"python_version": "3.12",
"pip_config_file": "./pip.conf",
"dockerfile_lines": [
"RUN apt-get update && apt-get install -y ffmpeg"
]
}
Key reference
| Key | Required | Description |
|---|
dependencies | Yes | Array of dependencies. "." looks for local packages via pyproject.toml, setup.py, requirements.txt, or package.json. Can also be paths to subdirectories ("./my_pkg") or package names ("langchain_openai"). |
graphs | Yes | Mapping of graph ID to path. Format: ./path/to/file.py:variable (Python) or ./path/to/file.js:function (JS). The variable must be a CompiledGraph or a function returning one. Multiple graphs supported. |
env | No | Path to a .env file (string) OR an inline mapping of env var names to values (object). Used by langgraph dev and langgraph up locally. langgraph deploy reads from this file and adds the variables as deployment secrets. |
python_version | No | "3.11", "3.12", or "3.13". Defaults to "3.11". |
node_version | No | Node.js version for JS projects. |
pip_config_file | No | Path to a pip config file for custom package indexes. |
dockerfile_lines | No | Array of additional Dockerfile lines appended after the base image import. Use for system packages, binaries, or custom setup. |
Typical workflow
- Scaffold —
langgraph new to create a project from a template.
- Configure — Edit
langgraph.json: set dependencies, point graphs at your compiled graph(s), add .env.
- Develop —
langgraph dev for rapid local iteration with hot reload (no Docker, port 2024).
- Validate —
langgraph up --recreate to test in a production-like Docker stack (port 8123, includes Postgres).
- Deploy —
langgraph deploy to ship to LangGraph Platform (LangSmith Deployments).
- Monitor —
langgraph deploy logs -f to tail runtime logs; --type build for build logs.
langgraph dev vs langgraph up
| Feature | langgraph dev | langgraph up |
|---|
| Docker required | No | Yes |
| Install | pip install 'langgraph-cli[inmem]' | pip install langgraph-cli |
| Primary use | Rapid development & testing | Production-like validation |
| State persistence | In-memory / pickled to local dir | PostgreSQL |
| Hot reloading | Yes (default) | Optional (--watch) |
| Default port | 2024 | 8123 |
| Resource usage | Lightweight | Heavier (Docker containers for server, Postgres, Redis) |
| IDE debugging | Built-in DAP support (--debug-port) | Container debugging |
Gotchas
langgraph deploy requires Docker — On Apple Silicon (M1/M2/M3), Docker Buildx is also required for cross-compiling to linux/amd64.
langgraph deploy can only update its own deployments — Deployments created through the LangSmith UI or GitHub integration cannot be updated with langgraph deploy. Use the UI for those.
dependencies must include all packages — The dependencies array in langgraph.json must point to where your package config lives (e.g., "." for root). The actual packages are resolved from pyproject.toml, requirements.txt, or package.json at that location.
langgraph dev runs without Docker — It runs directly in your environment. If your code depends on system packages (e.g., ffmpeg), they must be installed locally. Use langgraph up to validate Docker builds.
- JavaScript CLI — Use
npx @langchain/langgraph-cli <command> (or langgraphjs if installed globally via npm install -g @langchain/langgraph-cli).
- API key —
LANGSMITH_API_KEY is required for langgraph deploy. For langgraph dev, it is optional — the server runs without it, but you won't get traces in LangSmith. Can also be set via LANGGRAPH_HOST_API_KEY or LANGCHAIN_API_KEY.