ComfyUI stuck loading — debug the silent hang
ComfyUI hanging on first launch is usually a custom-node conflict, model file corruption, or python env collision with A1111. Bisect via --disable-all-custom-nodes and you'll catch 80% of cases in 30 seconds.
Diagnostic order — most likely first
Custom node conflict (most common in 2026)
Launch with `python main.py --disable-all-custom-nodes`. If ComfyUI loads cleanly, you've confirmed it. ComfyUI Manager + ImpactPack + custom IPAdapter / ControlNet nodes are common offenders after a Python or torch upgrade.
Bisect: rename `custom_nodes/` to `custom_nodes_disabled/`, copy back nodes one folder at a time, restart, find the broken one. Update or remove. The ComfyUI-Manager built-in 'Try fix' button resolves about half of these without manual bisect.
Model file corruption (incomplete download)
Loads partially then hangs at 'loading model'. Model file size is wrong (check expected size on civitai/HuggingFace). SHA256 mismatch if the source publishes one.
Delete the corrupted file. Re-download from the source — civitai.com for SD/SDXL/Flux checkpoints, HuggingFace for safetensors. Resume-friendly downloaders (aria2c, wget --continue) prevent this on slow connections.
Python environment conflict (Comfy + A1111 sharing python)
`pip list` inside Comfy's env shows packages from A1111 (transformers version mismatch, accelerate, diffusers). xformers ABI mismatch is a common signature.
Use ComfyUI's portable build (Windows) or create a fresh venv (Linux/Mac): `python -m venv venv && source venv/bin/activate && pip install -r requirements.txt`. Don't install ComfyUI in your A1111 venv.
CUDA version too old for ComfyUI build
`nvidia-smi` shows driver supports max CUDA 12.0; ComfyUI's installed PyTorch needs 12.4. Hangs during model load (CUDA kernel registration fails silently).
Update NVIDIA driver (driver 550+ for CUDA 12.4). OR pin to an older ComfyUI release that targets your CUDA: `git checkout <older-tag>`. Driver update is usually the cleaner path.
Insufficient VRAM at startup (model load)
`nvidia-smi` during launch shows VRAM hitting 95%+ before ComfyUI finishes load. Process either hangs or kills with OOM. Common with Flux Dev on 12 GB cards.
Use FP8 quant (Flux Dev FP8 instead of FP16). Lower base resolution. Enable `--lowvram` flag (Comfy's automatic CPU offload). Or upgrade to 16+ GB.
Custom node depends on a pip package pinned to a conflicting version
ComfyUI loads, then hangs when it hits a custom node whose `requirements.txt` pins e.g. `torch==2.3.0` while the rest of ComfyUI runs on torch 2.5+. The node imports trigger a version conflict that doesn't error cleanly — it deadlocks the loader.
Check the custom node's `requirements.txt` or `install.py`. If it pins a conflicting version, fork the node and edit the pin (broaden to `>=`). Or use ComfyUI Manager's 'Install Custom Node' which resolves dependencies more carefully than manual git clones. For truly conflicting nodes, run them in a separate ComfyUI instance with a dedicated venv.
Custom node contains a syntax error or broken import in its __init__.py
ComfyUI hangs during the 'Loading custom nodes' phase, specifically on the node that comes right before the hang. The last line in the console log names the node being imported, and the next line never appears.
Rename the offending node's folder (e.g., `custom_nodes/ComfyUI-Impact-Pack` → `custom_nodes/_ComfyUI-Impact-Pack`) and restart. If ComfyUI loads normally, the node is the culprit. Check its GitHub issues for others reporting the same problem after a ComfyUI update. Reinstall clean: `git pull` inside the node's folder, or delete and re-clone.
Two custom nodes define the same node class name (collision)
ComfyUI's node registry uses class names as keys. Two different custom nodes registering under the same name (e.g., two different 'KSampler (Advanced)' implementations) causes a silent collision. The loader hangs or the duplicate silently overrides the original.
Look for nodes that provide similar functionality. Disable one of them. Check the terminal output for lines matching 'already registered' — ComfyUI sometimes prints a warning. If you need both, you'll need to edit one node's source to change its `NODE_CLASS_MAPPINGS` key, then update any workflows that reference the old key.
Frequently asked questions
How long should ComfyUI take to first-run?
30-90 seconds on a typical setup. First run downloads + verifies + compiles custom node dependencies, which adds 1-3 minutes. After that, restarts should be 10-30 seconds. Anything over 5 minutes on second run = a real hang.
Is my GPU actually detected by ComfyUI?
Check the launch log — it prints 'Set vram state to: NORMAL_VRAM' and lists detected device. If you see 'Forcing CPU' or 'Falling back to CPU,' GPU detection failed. Run `python -c 'import torch; print(torch.cuda.is_available())'` to confirm PyTorch sees the GPU.
Should I use ComfyUI's portable build or a custom env?
Portable on Windows (avoids the python-on-Windows mess). Custom venv on Linux + Mac (cleaner, easier to upgrade). Don't share the env with A1111 or other diffusion tools.
How do I bisect which custom node is causing the hang?
The fastest method: (1) Move ALL custom node folders out of `custom_nodes/` into a temp directory. (2) Launch ComfyUI — it should load cleanly. (3) Move nodes back in batches of 5. (4) Restart ComfyUI after each batch. (5) When the hang returns, bisect that batch individually. This narrows a 50-node collection to the culprit in 3-4 restarts.
Is ComfyUI Manager itself ever the cause of loading hangs?
Rarely, but yes. ComfyUI Manager maintains a database of installed nodes and can stall on startup if its internal node cache is corrupted or if it's pinned to an outdated version. The nuclear fix: rename `custom_nodes/ComfyUI-Manager` to disable it, restart, then reinstall from a fresh clone: `git clone https://github.com/ltdrdata/ComfyUI-Manager.git`.
Why does ComfyUI load fine the first time but hang on subsequent launches?
This usually means a custom node wrote corrupted state to disk during the first run. Check for stale `.cache` directories, pyc bytecode conflicts, or a node that downloads a model on first run and the download partially failed. Clear the node's cache dir and restart. Also try `python main.py --clear-cache` if your ComfyUI version supports it.
Related troubleshooting
Mid-inference crashes (segfault, illegal memory access, kernel panic) usually mean VRAM ECC, thermal throttling, PSU instability, or a bad model file. Here's the diagnostic order.
Why CUDA OOM happens during local LLM inference and image gen, how to confirm the real cause, and the four real fixes (smaller quant, shorter context, gradient checkpointing, or more VRAM).
PyTorch falsely reporting no CUDA is the most common Python ML setup failure. The cause is almost always: wrong PyTorch wheel for your CUDA version, or a CPU-only build accidentally installed.
When the fix is hardware
A surprising fraction of troubleshooting tickets resolve to: this card doesn't have enough VRAM for what you're asking it to do. If you're hitting OOM after every reasonable fix, or your GPU genuinely can't fit the model you need, it's upgrade time: