Skip to main content

comfy-vault

PyPI CI Python

Find unused models and broken LoRAs in your ComfyUI install.

comfy-vault is a standalone CLI that indexes your models/ tree (including nested subfolders), reads your workflow files to see which models you actually use, and reports the ones nothing references — so you can reclaim disk space without guessing. It does not need to run inside ComfyUI.

comfy-vault orphans demo

Install

pip install comfy-model-vault

The PyPI distribution is comfy-model-vault (the shorter name was already taken); it installs the comfy-vault command and the comfy_vault package.

Python 3.10+. The only runtime dependencies are click, pydantic and pyyaml.

Quickstart

# Index every model under a directory, recursively
comfy-vault scan /path/to/ComfyUI/models

# List models that no workflow references
comfy-vault orphans /path/to/ComfyUI/models \
  --workflows /path/to/ComfyUI/user/default/workflows

orphans is read-only. To actually remove the files, add --delete (it shows what it will do and asks for confirmation first; --yes skips the prompt):

comfy-vault orphans ./models --workflows ./workflows --delete

If your models live in several places, point comfy-vault at your extra_model_paths.yaml and it scans every declared root:

comfy-vault scan --extra-paths /path/to/extra_model_paths.yaml

Find byte-identical duplicates, hash files the way Civitai does, back-fill Civitai metadata by hash, or pre-flight free space before a download:

comfy-vault duplicates ./models                 # same-SHA256 copies
comfy-vault hash ./models --cache .vault.json   # SHA256 + Civitai AutoV2
comfy-vault civitai ./models --fixtures ./recorded   # offline metadata back-fill
comfy-vault space /mnt/nas/models --need 6GB    # will the next download fit?

Why

These are real, currently-open behaviours in ComfyUI and its ecosystem that make manual model cleanup error-prone. comfy-vault works around them from the outside:

  • Models in subfolders are easy to lose track of (ComfyUI #10711). The scanner walks every level, not just the category root.
  • extra_model_paths.yaml parsing is fragile and can throw on non-string values (ComfyUI #11404, PR #6441 closed unmerged). comfy-vault's parser skips reserved keys and bad values instead of crashing.
  • Symlinks and junctions break on update, especially on Windows (ComfyUI #7662, #4412). comfy-vault reads canonical paths and never relies on ComfyUI-managed links.

There is no widely-used standalone orphan detector for ComfyUI today, which is the gap this fills.

Comparison

comfy-vault is not a replacement for the model managers — it does one thing they don't, and skips the things they do well.

comfy-vault ComfyUI-Manager ComfyUI-Lora-Manager
Runs without ComfyUI yes no (extension) no (extension)
Recursive subfolder scan yes partial yes
Orphan detection from workflows yes no no
Duplicate detection (content hash) yes no metadata-based
Civitai metadata back-fill (by hash) yes no yes
Download / install models no yes yes
In-ComfyUI UI no yes yes

If you want to download models or manage them inside the ComfyUI web UI, use the managers above. Use comfy-vault when you want to find and remove what you no longer need, or to audit a large library from a script or a backup host.

How orphan detection decides

A model is an orphan when no scanned workflow references its filename. Reference extraction is intentionally greedy: any string in a workflow JSON that ends in a known model extension counts as "in use", across both the UI and API workflow formats and any custom node. Because --delete removes files, comfy-vault errs toward keeping a model rather than risk flagging one that is actually used. Deletion is also confined to files inside the directories you scanned.

How duplicate detection avoids false positives

comfy-vault duplicates groups files only by their full SHA256, so two files are duplicates iff their bytes are identical. Four distinct LoRAs that share a name or a Civitai model are never grouped, because their content differs — which is exactly the false positive reported in Lora-Manager #841, where weaker matching flagged four different Qwen LoRAs as duplicates.

Web UI

For a read-only browser view, install the web extra and run the server:

pip install "comfy-model-vault[web]"
comfy-vault serve --models-dir /path/to/ComfyUI/models \
  --workflows /path/to/ComfyUI/user/default/workflows

It serves on http://127.0.0.1:8200 (FastAPI + HTMX, no JS framework) with an overview, the orphan and duplicate lists, base-model mismatch warnings, and a Civitai version browser. The base-model warnings flag LoRAs whose Civitai base model is not covered by any installed checkpoint; the version browser lists every Civitai version of a model and marks which are installed (Lora-Manager #778).

License

MIT.

Metadata

Release files for comfy-model-vault 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for comfy-model-vault 0.3.1
File Size Uploaded
comfy_model_vault-0.3.1.tar.gz 268.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for comfy-model-vault 0.3.1
File Interpreter ABI Platform
comfy_model_vault-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 302.0 kB

Release files / comfy_model_vault-0.3.1.tar.gz

Download URL comfy_model_vault-0.3.1.tar.gz
Size 268.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7b7774062207ff9baa4371edd470dbfb6e593145f512f6b7164ac02960e6a368
BLAKE2b-256 checksum
How to use checksums
7f662c9a74d0a361cea86afb204e2c9d81581c0ca4a92f5407c27f6fdb498e0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / comfy_model_vault-0.3.1-py3-none-any.whl

Download URL comfy_model_vault-0.3.1-py3-none-any.whl
Size 33.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e3319d58fe9b8cb48b79832129ff88016238b4aa95ad6d7aa15129caf7046a8a
BLAKE2b-256 checksum
How to use checksums
d4d954ee336146a72187ec96b4eae01fd8eb0233b78d9871605c5e41ddcb0074
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page