- Add local_only endpoint mode: returns basic file info (filename, size, path,
location, sha256) without querying CivitAI or computing file hashes
- Validate provided sha256/hash inputs (must be 64-char hex) and fall back to
empty string when invalid
- Refactor monolithic info response builder into build_info_response() helper
used across all result paths (local, CivitAI success, CivitAI fallback,
not-found), reducing duplication
- Add get_model_info_for_file(local_only=True) early return in CivitAI source
that builds a minimal local-only result without hash lookup
- Split frontend fetchModelInfoForDialog into:
- fetchLocalModelInfoForDialog: opens dialog with local data immediately,
marks civitai_checked=false
- fetchCivitaiModelInfoForDialog: async CivitAI lookup triggered by user
- Add 'Fetch with CivitAI' button in info dialog when local file exists but
CivitAI has not been checked yet
- Infer model_type from category in both backend and frontend to reduce
reliance on upstream data shape
- Fix sidecar metadata condition (was skipping save when path already existed)
- Add cursor/disabled styles for info dialog CivitAI link button
ModelResolver – Relink missing models and download from HuggingFace/CivitAI
ModelResolver is a powerful ComfyUI extension for automatically resolving missing models in loaded workflows. It features intelligent local fuzzy matching, direct cloud downloads, background download tracking, and automated in-place workflow updating.
Warning
WIP (Work in Progress) — Download and use at your own risk! This project is still under active development and some features may be unfinished or contain bugs.
🔹 Quick Start | ⚙️ Configuration
🚀 Key Features
- 🔍 Intelligent Fuzzy Matching: Scans local ComfyUI model directories and looks for similar files (ignoring case, extensions, or minor naming differences) with similarity confidence scores.
- ☁️ Multi-Source Cloud Downloader: Searches for and downloads missing files from CivitAI, HuggingFace, CivArchive, Lora Manager Archive, and the ComfyUI-Manager model database.
- 🔄 In-Place Workflow Updater: Safely replaces model names and paths in your current workflow (supporting nested subgraphs and custom nodes like rgthree's Power Lora Loader or LoraManager).
- 📥 Background Download Manager: Downloads models asynchronously directly to the correct directories (
checkpoints,loras,vae, etc.) with speed tracking, file size display, progress bars, and cancel support. - 🕵️ Loaded Models Inspector: A dedicated tab displaying all models used in the active workflow, including their strength, physical paths, and disk availability status.
- 📂 Open Containing Folder: Quickly opens Windows Explorer and selects/highlights the model file directly from the interface.
🛠️ How It Works (Step-by-Step)
- Load Workflow: Load any workflow JSON or image into ComfyUI.
- Detection: If the workflow references model files that are missing from your directories, the extension alerts you immediately.
- Resolve:
- Local Search: Click the local search button to find similar filenames you already have on disk (e.g., if they were moved to a different subfolder).
- Online Search: If the file isn't on disk, search for it online (e.g., on CivitAI via its SHA256 file hash or text search).
- Download or Link:
- Click Download to asynchronously download the model in the background directly into the correct ComfyUI folder.
- Or select a local alternative suggested by the Fuzzy Matching algorithm.
- Apply: Click the apply button to update the ComfyUI workflow with the new, correct model paths. You're ready to click Queue Prompt!
📂 Supported Nodes & Model Types
Model Resolver supports standard ComfyUI mechanisms as well as custom implementations of popular loader nodes:
- Standard loaders: CheckpointLoader, LoraLoader, VAELoader, ControlNetLoader, UpscaleModelLoader, etc.
- Advanced loaders: Nodes from the
LoraManagersuite (LoraLoaderV2,Lora Loader,Lora Stacker),rgthree(Power Lora Loader), and LTX-Video nodes. - Subgraphs: Full support for scanning and updating nodes inside nested group subgraphs.
⚙️ Configuration & Credentials (Settings)
In the extension settings panel, you can configure API keys and authorization tokens, which are required for downloading private models or files requiring authentication:
- CivitAI API Key & Session Token: Allows downloading models from CivitAI (including those marked as NSFW or requiring accepted terms of service).
- HuggingFace Token: Required for downloading gated or private models from HuggingFace.
- Brave Search API Key: An optional key used as a fallback search mechanism to discover HuggingFace download links via Brave search.
Tip
The extension includes a built-in connection tester that allows you to instantly verify the validity of your tokens directly in the settings panel.
⚡ Installation
Install via ComfyUI-Manager
- Search
ComfyUI Model Resolverin ComfyUI-Manager and click theInstallbutton. - Restart ComfyUI.
Manual Install
- Navigate to the
custom_nodesfolder in your ComfyUI installation:cd ComfyUI/custom_nodes/ - Clone this repository:
git clone https://github.com/Azornes/comfyui-model-resolver.git - Start or restart ComfyUI. The extension will automatically install any missing dependencies (
requests,aiohttp) and load the web interface.
📝 Requirements
- Python 3.10 or newer
- Libraries:
requests,aiohttp(installed automatically if missing) - Modern web browser with JS support (Chrome, Edge, Firefox, Brave)
📜 License
This project is licensed under the MIT License. Feel free to use, modify, and distribute.
💖 Support / Sponsorship
- ⭐ Give a star — it means a lot to me!
- 🐛 Report a bug or suggest a feature.
- 💖 Support my work: 👉 GitHub Sponsors