Where is the ComfyUI models folder? Native and extra paths
For a portable or manual ComfyUI installation, the native model library is ComfyUI/models/. Put each file in the subfolder for its model type—checkpoints in models/checkpoints, LoRAs in models/loras, VAEs in models/vae. If the files already live in a shared library, add that library as an extra model path instead of making another full copy.
The native ComfyUI models folder
ComfyUI does not treat models as one undifferentiated bucket. Its loaders look in registered folders for the matching model type. The native ComfyUI LoRA folder is ComfyUI/models/loras. A checkpoint placed there is still a checkpoint; changing its location does not change what the file contains.
ComfyUI/
└── models/
├── checkpoints/ # complete diffusion checkpoints
├── diffusion_models/ # diffusion or UNet weights
├── loras/ # LoRA and related adapter files
├── text_encoders/ # text-encoder weights
├── vae/ # VAE models
└── controlnet/ # ControlNet and T2I adapter models
The current official configuration example also recognises legacy names such as unet and clip. For a new, tidy library, prefer the current names shown above. Other node types can register more folders, so a custom-node package may add a model location that is not in this short map.
ComfyUI Desktop: open the folder, do not guess it
Desktop installations are easy to misread because the application manages more of the layout. In ComfyUI Desktop, use Help → Open Folder → Open Model Folder. That opens the active location and avoids copying a model into a similarly named folder belonging to an older installation.
This is also the quickest diagnosis when a file does not appear. Confirm that you are looking at the model folder used by the running application, not merely the first ComfyUI directory returned by a filesystem search.
When extra model paths are the cleaner answer
An extra path is useful when two ComfyUI installations should see the same library, when another UI already owns the files, or when large models live on a different disk. It tells ComfyUI where else to look. It does not copy, convert, merge or back up a model.
The awkward detail is that portable/manual ComfyUI and ComfyUI Desktop do not use the same configuration filename:
- Portable or manual installation: copy
ComfyUI/extra_model_paths.yaml.exampletoComfyUI/extra_model_paths.yaml, then edit the copy. - Desktop on Windows: edit
C:\Users\YourUsername\AppData\Roaming\ComfyUI\extra_models_config.yaml. - Desktop on macOS: edit
~/Library/Application Support/ComfyUI/extra_models_config.yaml.
Keep the Desktop-generated entry. The official Desktop guidance says to add your configuration to the existing file, not replace it. Make a backup of the YAML first; indentation is part of the syntax.
A small, readable extra-path configuration
Start with one named library and only the model types you actually share. base_path is the parent directory; the remaining values are paths relative to it.
shared_models:
base_path: /Volumes/AI-Library/models/
checkpoints: checkpoints
loras: loras
vae: vae
controlnet: controlnet
text_encoders: text_encoders
diffusion_models: diffusion_models
On Windows, use an absolute Windows path for base_path, such as D:\AI-Library\models\. Keep spaces in the path if they are real; do not invent quotes or escaping until the YAML parser requires them. The simplest configuration is usually the one you can compare directly with the folders on disk.
Restart, refresh and prove one known model
Save the configuration and restart ComfyUI. The official model guide also notes that r refreshes node definitions, but a restart is the clearer check after changing model paths. Then prove the setup with files you can identify:
- Choose one known checkpoint and one known LoRA from the external library.
- Check that each appears in the appropriate loader, not merely somewhere in the interface.
- Load a small existing workflow and confirm both files can actually be opened.
- Keep the original location untouched until that test succeeds after a fresh restart.
If a model is missing, check the active model folder, YAML indentation, base_path, the type-specific subfolder and the file extension—in that order. A successful YAML parse does not prove that a checkpoint was filed as a checkpoint.
An extra path is not a retention plan
A shared directory can prevent duplicate working copies, but it remains live runtime storage. Deleting from it can affect every ComfyUI installation that points there. Likewise, a SafeTensors file does not become backed up merely because two applications can see it.
Tensor Archive belongs after the runtime question is settled. Identify a completed related family—perhaps a base checkpoint and its adapters—then archive, verify and restore that family separately. Tensor Archive does not rewrite ComfyUI’s configuration or silently remove the source folder.
Choose the next guide by the problem you actually have
If you need to preserve a workflow across native and extra paths, use the ComfyUI model backup guide. If the SSD is already full of adapters, follow the practical guide to free disk space in a LoRA library. For the difference between training methods and the adapter artifact they produce, read LoRA vs. QLoRA.
Sources
- ComfyUI Docs: Models — native model folders, Desktop locations, extra-path configuration and troubleshooting.
- ComfyUI: extra_model_paths.yaml.example — current keys and portable/manual configuration structure.
- ComfyUI: folder_paths.py — current default folder registrations and legacy aliases.
- ComfyUI Docs: Load LoRA — the documented native location for LoRA files.