Complete rewrite of the ComfyUI skill to use: - comfy-cli (official, Comfy-Org/comfy-cli) for lifecycle management: install, launch, stop, node management, model downloads - Direct REST API + helper scripts for workflow execution: parameter injection, submission, monitoring, output download - No dependency on comfyui-skill-cli or any unofficial tool New files: - SKILL.md: full rewrite with two-layer architecture, decision tree, pitfalls - references/official-cli.md: complete comfy-cli command reference - references/rest-api.md: all REST endpoints (local + cloud) - references/workflow-format.md: API format spec, common nodes, param mapping - scripts/extract_schema.py: analyze workflow → extract controllable params - scripts/run_workflow.py: inject args, submit, poll, download outputs - scripts/check_deps.py: check missing nodes/models against running server - scripts/comfyui_setup.sh: full setup automation with official CLI Removed: - references/cli-reference.md (was for unofficial comfyui-skill-cli) - references/api-notes.md (replaced by rest-api.md) Addresses feedback from PR #17316 comment: - Correct author attribution - Remove references to unofficial OpenClaw project - License field reflects hermes-agent repo (MIT)
8.2 KiB
comfy-cli Command Reference
Official CLI from Comfy-Org/comfy-cli. Docs: https://docs.comfy.org/comfy-cli/getting-started
Installation
pip install comfy-cli
# or
uvx --from comfy-cli comfy --help
First run may prompt for analytics. Disable non-interactively:
comfy --skip-prompt tracking disable
Global Options
| Option | Description |
|---|---|
--workspace <path> |
Target a specific ComfyUI workspace |
--recent |
Use most recently used workspace |
--here |
Use current directory as workspace |
--skip-prompt |
No interactive prompts (use defaults) |
-v / --version |
Print version |
Workspace resolution priority:
--workspace(explicit path)--recent(from config)--here(cwd)comfy set-defaultpath- Most recently used
~/comfy/ComfyUI(Linux) or~/Documents/comfy/ComfyUI(macOS)
Commands
comfy install
Download and install ComfyUI + ComfyUI-Manager.
comfy install # interactive GPU selection
comfy install --nvidia # NVIDIA (CUDA)
comfy install --amd # AMD (ROCm)
comfy install --m-series # Apple Silicon (MPS)
comfy install --cpu # CPU only
comfy install --fast-deps # use uv for faster deps
comfy install --skip-manager # skip ComfyUI-Manager
| Option | Description |
|---|---|
--nvidia |
NVIDIA GPU |
--amd |
AMD GPU (ROCm) |
--m-series |
Apple Silicon |
--cpu |
CPU only |
--cuda-version |
11.8, 12.1, 12.4, 12.6, 12.8, 12.9, 13.0 |
--rocm-version |
6.1, 6.2, 6.3, 7.0, 7.1 |
--fast-deps |
Use uv for dependency resolution |
--skip-manager |
Don't install ComfyUI-Manager |
--skip-torch-or-directml |
Skip PyTorch install |
--version <ver> |
Specific ComfyUI version (e.g. 0.2.0, latest, nightly) |
--commit <hash> |
Install specific commit |
--pr "#1234" |
Install from a PR |
--restore |
Restore deps for existing install |
Default location: ~/comfy/ComfyUI (Linux), ~/Documents/comfy/ComfyUI (macOS/Win).
comfy launch
Start ComfyUI server.
comfy launch # foreground on :8188
comfy launch --background # background daemon
comfy launch -- --listen 0.0.0.0 # listen on all interfaces
comfy launch -- --port 8190 # custom port
comfy launch -- --cpu # force CPU mode
comfy launch --background -- --listen 0.0.0.0 --port 8190
| Option | Description |
|---|---|
--background |
Run as background daemon |
--frontend-pr "#456" |
Test a frontend PR |
Extra args after -- |
Passed directly to ComfyUI's main.py |
Common extra args: --listen, --port, --cpu, --lowvram, --novram,
--fp16-vae, --force-fp32.
comfy stop
Stop background ComfyUI instance.
comfy stop
comfy run
Execute a raw workflow JSON file against a running server.
comfy run --workflow workflow_api.json
comfy run --workflow workflow_api.json --host 10.0.0.5 --port 8188
comfy run --workflow workflow_api.json --timeout 300 --wait
| Option | Description |
|---|---|
--workflow |
Path to API-format workflow JSON (required) |
--host |
Server hostname (default: 127.0.0.1) |
--port |
Server port (default: 8188) |
--timeout |
Seconds to wait (default: 30) |
--wait/--no-wait |
Wait for completion (default: wait) |
--verbose |
Show per-node execution details |
Limitations: No parameter injection, no structured output, no image download.
For agent use, prefer scripts/run_workflow.py which adds those capabilities.
comfy which
Show which ComfyUI workspace is currently targeted.
comfy which
comfy --recent which
comfy set-default
Set the default workspace path.
comfy set-default /path/to/ComfyUI
comfy set-default /path/to/ComfyUI --launch-extras="--listen 0.0.0.0"
comfy update
Update ComfyUI or custom nodes.
comfy update # update ComfyUI core
comfy node update all # update all custom nodes
comfy node — Custom Node Management
All node operations use ComfyUI-Manager (cm-cli) under the hood.
comfy node show installed # list installed nodes
comfy node show enabled # list enabled nodes
comfy node show all # all available nodes
comfy node simple-show installed # compact list
comfy node install comfyui-impact-pack # install by name
comfy node install <name> --uv-compile # with unified dep resolution (Manager v4.1+)
comfy node uninstall <name> # remove
comfy node update <name> # update one
comfy node update all # update all
comfy node enable <name> # enable disabled node
comfy node disable <name> # disable without uninstalling
comfy node fix <name> # fix broken dependencies
comfy node install-deps --workflow=workflow.json # install all deps a workflow needs
comfy node deps-in-workflow --workflow=w.json --output=deps.json # extract dep list
comfy node save-snapshot # save current state
comfy node restore-snapshot <file> # restore from snapshot
comfy node bisect start # find culprit node (binary search)
comfy node bisect good # current set is fine
comfy node bisect bad # problem is in current set
comfy node bisect reset # abort bisect
Dependency Resolution Options
| Flag | Description |
|---|---|
--fast-deps |
comfy-cli built-in uv resolver |
--uv-compile |
ComfyUI-Manager v4.1+ unified resolver (recommended) |
--no-deps |
Skip dep installation |
Set uv-compile as default: comfy manager uv-compile-default true
comfy model — Model Management
comfy model list # list all downloaded models
comfy model list --relative-path models/checkpoints # specific folder
comfy model download --url <URL> # download model
comfy model download --url <URL> --relative-path models/loras
comfy model download --url <URL> --filename custom_name.safetensors
comfy model remove # interactive removal
comfy model remove --relative-path models/checkpoints --model-names "model.safetensors"
| Option | Description |
|---|---|
--url |
Download URL (CivitAI, HuggingFace, direct) |
--relative-path |
Subdirectory under workspace (e.g. models/checkpoints) |
--filename |
Custom filename to save as |
--set-civitai-api-token |
Set CivitAI API token |
--set-hf-api-token |
Set HuggingFace API token |
--downloader |
httpx (default) or aria2 |
Model directory structure:
ComfyUI/models/
├── checkpoints/ # Full model files (.safetensors, .ckpt)
├── loras/ # LoRA adapters
├── vae/ # VAE models
├── controlnet/ # ControlNet models
├── clip/ # CLIP text encoders
├── clip_vision/ # CLIP vision encoders
├── upscale_models/ # Upscaler models (ESRGAN, etc.)
├── embeddings/ # Textual inversion embeddings
├── unet/ # UNet models
└── diffusion_models/ # Diffusion model files
comfy manager — ComfyUI-Manager Settings
comfy manager disable # disable Manager completely
comfy manager enable-gui # enable new GUI
comfy manager disable-gui # disable GUI (API-only)
comfy manager enable-legacy-gui # legacy GUI
comfy manager uv-compile-default true # make --uv-compile the default
comfy manager clear # clear startup action
comfy pr-cache — Frontend PR Cache
comfy pr-cache list # list cached PR builds
comfy pr-cache clean # clean all
comfy pr-cache clean 456 # clean specific PR
Cache expires after 7 days; max 10 builds kept.
Configuration
Config file location:
- Linux:
~/.config/comfy-cli/config.ini - macOS:
~/Library/Application Support/comfy-cli/config.ini - Windows:
~/AppData/Local/comfy-cli/config.ini
Stores: default workspace, recent workspace, background server info, API tokens, manager GUI mode, launch extras.