ComfyUI Dependency Conflicts: Fix Without Reinstalling
Fix ComfyUI dependency conflicts after custom node installs, Torch downgrades, pip clashes, or broken plugin imports without destroying a working environment.
Start with Wonderful Launcher if this issue touches your real ComfyUI environment. Use the docs to understand the fix, and use the app to inspect the machine you already have.
Download Wonderful LauncherTested Environment
- OS: Windows 10 / 11
- Launcher: Wonderful Launcher v1.x
- ComfyUI: Portable / Managed install
- Python: 3.11+
- CUDA / Torch: CUDA 12.x / Torch 2.x
- Last tested: 2026-05-19
If you searched comfyui dependency conflicts, custom node broke environment, pip install broke comfyui, or a Manager/plugin error that started after installing nodes, the short answer is this:
do not reinstall first. Identify which plugin import or package change broke the environment, then repair the smallest possible layer.
Dependency conflicts are the hidden killer of many ComfyUI environments. A plugin installs a package, that package changes PyTorch, NumPy, OpenCV, or another shared library, and suddenly a workflow that worked yesterday no longer runs.
The expensive part is not just the broken package. It is the recovery loop:
- read logs
- try random
pip installcommands - restart ComfyUI
- break something else
- wonder whether you now have to reinstall everything
This guide teaches you how to diagnose, fix, and prevent these issues without treating reinstall as the default answer.
Conflict patterns worth recognizing early
These signatures show up often enough that they are worth recognizing on sight:
| Exact clue | What it usually means | Best next move |
|---|---|---|
qwen-tts requires transformers==... | A workflow-specific package is pinning the Hugging Face stack | Do not change the whole stack until you know that workflow matters |
mediapipe requires numpy<2 | An older MediaPipe chain conflicts with newer NumPy | Avoid global NumPy downgrades unless MediaPipe is a real blocker |
opencv-python-headless vs opencv-python | Multiple OpenCV flavors are fighting over cv2 | Keep one OpenCV flavor only |
torchscale requires timm==... | An older vision package conflicts with newer timm | Decide which workflow you are protecting first |
pip install mmcv exited with code 1 | The wheel/build does not match Python/Torch/CUDA | Use the MMCV-specific repair path before broad upgrades |
Who this guide is for
This page is especially useful if you already have workflows, models, or client work attached to the machine and want the safest recovery path, not the fastest clean wipe.
Evidence Note
This guide combines official ComfyUI troubleshooting commands with operator guidance for minimizing damage in a shared Python environment. The exact conflict categories on this page are practical repair patterns, not an official ComfyUI error taxonomy.
Fast Answer
| What You See | What It Usually Means | First Step |
|---|---|---|
| ComfyUI starts failing right after a plugin install | A plugin requirement changed a shared package | Check IMPORT FAILED and run pip check in the same Python |
Torch not compiled with CUDA enabled | Core runtime was replaced or downgraded | Repair Torch first before touching plugin packages |
No module named 'triton' or sageattention | Optional acceleration or a specialized workflow dependency | Follow the dedicated Triton or SageAttention page, not a blind pip install |
cv2, ONNX, or DLL import failure | Native wheel conflict | Match the wheel to the active Python and runtime |
| One old plugin wants one version and a new plugin wants another | Real package conflict | Choose the workflow you actually need or split environments |
qwen-tts, mediapipe, sensevoice-onnx, or torchscale appears in pip check | A custom node stack is pinning shared packages | Decide whether that workflow is active before changing global packages |
Frequent Conflict Signatures
Recent support cases show that users often search the exact package name from pip check, not the abstract phrase "dependency conflict." These examples are useful because they point to the package family that changed the shared environment.
| Exact Signature to Search For | Why It Happens | Safer Next Move |
|---|---|---|
qwen-tts requires transformers==4.57.3 | A voice or Qwen-TTS workflow pins a narrow Transformers version | Do not upgrade or downgrade the whole Hugging Face stack until you know this workflow is the one you need |
mediapipe requires numpy<2 | MediaPipe-based pose or face helpers may not accept the NumPy version used by the rest of ComfyUI | Avoid a global NumPy downgrade unless the MediaPipe node is a hard blocker |
sensevoice-onnx requires setuptools<=65.0 | An older audio or speech package expects an old packaging stack | Treat it as a workflow-specific repair, not a reason to downgrade every environment |
torchscale requires timm==0.6.13 | An older vision stack conflicts with newer timm packages | Check which plugin needs TorchScale before pinning timm |
protobuf conflict or Descriptors cannot be created directly | ONNX, TensorFlow, or generated protocol files disagree on protobuf versions | Use the ONNX page for the narrow repair path |
opencv-python-headless, opencv-python, or opencv-contrib-python is missing | Image, face, segmentation, or video packages need the shared cv2 namespace | Use one OpenCV flavor only; see the OpenCV guide |
pip install mmcv exited with code 1 | MMCV fell back to a source build or the wheel does not match Torch/CUDA/Python | Use the dedicated MMCV repair path before trying broad package upgrades |
The important pattern is the same across all of these: a pip check line is a clue, not automatically a command. First confirm whether ComfyUI fails, which plugin failed to import, and whether the workflow you need actually uses that package.
Before You Install Anything Else
Do these four things first:
- Record the exact error from the startup terminal.
- Record which plugin or requirement you installed last.
- Confirm which Python actually launches ComfyUI.
- Check whether the failure is a core runtime break, a plugin import break, or only a harmless declaration warning.
That order saves a lot of wasted repair work.
A practical triage order
When the environment worked before and then broke after plugin work, this order is usually safest:
- Check
IMPORT FAILED - Run
pip checkin the real ComfyUI Python - Decide whether the issue is a hard blocker or soft drift
- Protect Torch/CUDA before touching plugin packages
- Fix the narrowest package set possible
Understanding the Problem
ComfyUI plugins are independent Git repos, each with their own requirements.txt. When you install many plugins, their dependency declarations can conflict:
- one plugin expects
numpy>=2 - another old plugin only works with
numpy<2 - a video node wants a newer
transformers - a face or pose node pulls OpenCV, ONNX Runtime, or native Windows wheels
- an acceleration package expects a specific Python, PyTorch, CUDA, or GPU architecture
The important part is the chain:
- A workflow asks for backend node classes.
- Custom node plugins register those classes during startup.
- Plugin imports depend on Python packages and native wheels.
- Native wheels may depend on Python, PyTorch, CUDA, cuDNN, GPU architecture, and Windows runtime libraries.
If you fix the wrong layer, the environment gets dirtier while the original problem stays.
Most failed repairs happen because users jump from the visible symptom straight to random package installs without deciding which layer is actually broken.
Step 1: Diagnose
Check for Import Failures
Look at the ComfyUI startup log for lines containing IMPORT FAILED:
IMPORT FAILED: ComfyUI-ExampleNode
ModuleNotFoundError: No module named 'somepackage'This tells you which plugin failed and why. See the Troubleshooting Decision Tree for a systematic way to classify these errors.
Check with pip
Run pip check in the same Python environment that starts ComfyUI:
| Install type | Safer command |
|---|---|
| Official GitHub Windows portable package | From the portable package root: .\python_embeded\python.exe -s -m pip check |
| Manual Git + venv install | Activate the venv, then run python -m pip check |
| ComfyUI Desktop or managed launcher | Use the app's environment/terminal tools. Do not assume a portable python_embeded folder exists. |
Example output:
some-plugin 1.0 requires numpy<2, but you have numpy 2.4.4
another-package 2.0 requires pillow<11, but you have pillow 12.2.0Check Manager's Failure Info
If ComfyUI is running, visit:
http://127.0.0.1:8188/v2/customnode/import_fail_info_bulkThis returns a JSON list of which plugins failed to import and why.
Step 2: Classify the Problem
Not every pip check warning is a real problem. Classify each issue before installing anything.
Hard Blockers
Fix these first:
torchmismatch or CPU-only Torch. If ComfyUI reportsTorch not compiled with CUDA enabled, use the Torch CUDA repair guide before changing plugin packages.- A missing package that a plugin directly imports and that plugin is needed by your workflow.
- A native wheel import failure such as
DLL load failed while importing cv2. - Two required plugins needing non-overlapping versions of the same package.
Soft Drift
Monitor these instead of rushing to change the environment:
pip checkreports a version declaration mismatch, but ComfyUI starts, the plugin imports, and the workflow runs.- A package is only needed by a feature your workflow never uses.
- An optional acceleration backend is missing, but the node has a normal PyTorch fallback.
Rule of thumb: if ComfyUI starts, the plugin registers, and your workflow runs, do not "fix" the warning just to make pip check look pretty.
Declaration Errors
Sometimes plugin authors make mistakes in dependency files:
- typos such as
librosinstead oflibrosa - broad pins that downgrade core packages
- optional packages listed as mandatory
- packages that are correct on Linux but wrong on Windows
Do not edit random plugin source files as the first response. Document the workaround and keep the fix as narrow as possible.
Step 3: Fix
Rule 1: Protect Your Core Runtime
These packages must not be accidentally changed by a plugin install:
| Package | Why it is critical |
|---|---|
torch / torchvision / torchaudio | Core GPU computation. Wrong build can break all CUDA workflows. |
numpy | Shared by almost every plugin. Both 1.x and 2.x can be valid depending on the stack. |
pillow | Image processing foundation. |
opencv-python / opencv-python-headless | Shared cv2 namespace; installing multiple flavors can break imports. |
transformers / diffusers / huggingface-hub | Model loading and inference stack. |
Before installing plugin requirements, preview what will change:
python -m pip install -r requirements.txt --dry-runIf the dry run wants to replace Torch, NumPy, Pillow, OpenCV, or the Hugging Face stack, stop and decide whether that plugin really needs those changes.
Rule 2: Use the Correct Python
Plain pip install is risky because it may target the wrong Python.
| Install type | Safer pattern |
|---|---|
| Official GitHub Windows portable package | .\python_embeded\python.exe -s -m pip install <package-or-wheel> from the portable package root |
| Manual Git + venv install | Activate the venv, then use python -m pip install <package-or-wheel> |
| ComfyUI Desktop or managed launcher | Use the app's environment/terminal tooling. Desktop is not the same layout as the GitHub portable package. |
Rule 3: Use Minimal Fixes
Do not do broad upgrades:
# Risky: upgrades a shared package stack without knowing the impact
python -m pip install -U transformers diffusers huggingface-hubPrefer the narrow fix tied to the exact failing import, or follow the plugin author's tested compatibility table.
One of the fastest ways to make ComfyUI worse is to run a broad upgrade command against the whole Hugging Face or image stack just because one plugin failed.
Rule 4: Use the Correct Package Name
Some errors look obvious but have package-name traps:
| Error | Practical note |
|---|---|
No module named 'nunchaku' | The ComfyUI/Nunchaku backend is installed from Nunchaku's documented wheels or package flow. Do not install the unrelated nunchaku PyPI package as a repair. See ComfyUI Nunchaku Missing. |
No module named 'triton' on Windows | Do not use the normal upstream triton repair path. Start with ComfyUI Triton Missing or Unavailable. |
No module named 'sageattention' | Decide whether it is optional acceleration or a fatal workflow requirement before installing CUDA packages. See ComfyUI SageAttention Missing. |
pip install mmcv exited with code 1 | MMCV must match the OpenMMLab, PyTorch, CUDA, and Python stack. See ComfyUI MMCV Install Failed. |
Rule 5: Use Pre-built Wheels for Native Packages
For packages that need compilation on Windows, use a wheel that matches your environment:
- Python version, such as
cp312 - PyTorch version, if the wheel is tied to Torch
- CUDA version, if the package includes CUDA kernels
- Windows architecture, usually
win_amd64
This applies to packages such as nunchaku, insightface, some attention kernels, and other native acceleration libraries.
What Usually Makes Dependency Conflicts Worse
Avoid these moves unless you have already classified the problem:
- reinstalling random packages from old Reddit or Discord messages
- using plain
pip installagainst the wrong Python - letting a plugin downgrade Torch without noticing
- upgrading
numpy,opencv,transformers, ordiffusersas a group without checking impact - trying to fix a Windows Triton error with the normal upstream
tritonpackage - treating every
pip checkwarning like a production outage
Common Conflict Recipes
Hugging Face Stack Drift
Problem: diffusers, transformers, huggingface-hub, and accelerate usually need to stay in a compatible set.
Safer fix: Do not blindly upgrade one package. Check the plugin README or error log, then install the smallest compatible set in ComfyUI's Python environment.
NumPy 2.x vs 1.x
Problem: Some old plugins still expect NumPy 1.x behavior, while newer packages and current portable environments can run with NumPy 2.x.
Safer fix: Do not globally downgrade NumPy just because an old guide recommends a NumPy 1.x pin. First confirm a real NumPy error from the plugin you need. If the plugin truly requires NumPy 1.x, isolate that workflow in a separate environment or downgrade only after you understand what other plugins will be affected.
OpenCV Package Conflicts
Problem: opencv-python, opencv-python-headless, opencv-contrib-python, and opencv-contrib-python-headless all provide the cv2 namespace. Installing multiple flavors can overwrite files and cause import failures.
Safer fix: Keep one flavor. For most ComfyUI background processing, opencv-python-headless is the safer default. See OpenCV (cv2) Missing or Conflicting.
Nunchaku Wheel Mismatch
Problem: Nunchaku is tied to hardware, Python, PyTorch, CUDA, and the ComfyUI-nunchaku plugin flow. A wheel for the wrong Python or Torch version will not fix the import.
Safer fix: Use Nunchaku's install workflow or a wheel that matches your exact environment. On ComfyUI portable, install with the Python executable that ComfyUI actually prints in its startup log. If the visible workflow symptom is NunchakuFluxLoraLoader, NunchakuFluxLoraStack, or NunchakuFluxDiTLoader, fix the ComfyUI-nunchaku import first instead of installing a package named after the node.
MMCV Build or Wheel Failure
Problem: MMCV can require OpenMMLab wheels that match your Python, PyTorch, CUDA, and platform. If the installer falls back to a source build on Windows, pip install mmcv can fail before the custom node ever imports.
Safer fix: Decide whether the plugin needs full MMCV CUDA ops or only mmcv-lite. See ComfyUI MMCV Install Failed.
ONNX Runtime GPU Mismatch
Problem: onnxruntime-gpu can fail when its CUDA/cuDNN major version does not match the PyTorch runtime stack.
Safer fix: CPU onnxruntime is enough for many pose/face helper workflows. Only install GPU ONNX Runtime when you need it and can match the CUDA/cuDNN family. See ONNX / ONNXRuntime Missing in ComfyUI.
Recovery: When Your Environment Is Broken
If a bad install has already corrupted your core packages, do not guess a universal version set.
- Record the current Python path, ComfyUI version, PyTorch version, CUDA version, and the last plugin installed.
- Restore Torch using the Torch CUDA repair guide for your GPU and install type.
- Repair ComfyUI's own requirements in the same environment.
- Restart ComfyUI and confirm
/system_statsworks. - Add plugin repairs one at a time, checking
IMPORT FAILEDafter each change.
For the official Windows portable package, this usually means running commands from the extracted portable package root, not from inside the ComfyUI subfolder.
If PyTorch and CUDA still work but ComfyUI core packages are missing, use Repair Broken ComfyUI Portable Dependencies Without Reinstalling Torch before running broad commands that may replace the GPU stack.
When to stop fixing and split environments
Sometimes the real answer is not "one more pip command."
Consider separate environments when:
- one old plugin and one new plugin require non-overlapping package versions
- one workflow needs legacy NumPy / OpenCV pins and another needs newer model stacks
- a video or acceleration plugin keeps forcing core runtime changes
That is usually cheaper than keeping one shared environment permanently unstable.
Start Fresh Only When Recovery Is Too Risky
If the environment is too damaged to recover:
- Keep a copy of workflows, models, and
custom_nodes. - Re-extract from the Portable Package or re-run the Desktop installer.
- Reinstall plugins one at a time, checking after each (see Custom Nodes).
FAQ
What is a dependency conflict in ComfyUI?
It is when one plugin, package, or wheel changes a shared dependency in a way that breaks another plugin, the ComfyUI runtime, or your workflows.
Should I reinstall ComfyUI right away?
Usually no. First identify whether the break is in Torch, a plugin import, a native wheel, or only a version declaration mismatch.
What command should I run first?
Run pip check in the same Python environment that launches ComfyUI, then compare that with the actual IMPORT FAILED lines in the startup log.
Why did one custom node break unrelated workflows?
Because many plugins share the same Python environment and package stack. A change meant for one node can replace core packages used by many others.
How Wonderful Launcher helps
Wonderful Launcher can detect and fix this issue automatically. It manages your ComfyUI environment safely — isolating dependencies, recovering broken installations, and preventing conflicts.
Download Wonderful Launcher — it's free.
A better option than repeating the same repair loop
If dependency conflicts are becoming a recurring maintenance problem, the bigger issue is usually not one package. The bigger issue is that your environment has no recovery-oriented workflow.
Wonderful Launcher is designed for users who need a more stable way to recover existing ComfyUI environments, especially after plugin installs and startup failures. If the environment is already too messy for self-repair, expert help becomes the faster fallback.
Related Guides
- Repair Broken ComfyUI Portable Dependencies Without Reinstalling Torch
- ModuleNotFoundError: No module named 'sqlalchemy' in ComfyUI
- ComfyUI No Module Named 'sageattention'
- ComfyUI Triton Missing or Unavailable
- ComfyUI Nunchaku Missing
- ComfyUI MMCV Install Failed
- ComfyUI Frontend Package
- ComfyUI Torch Not Compiled With CUDA Enabled
- Plugin Management
- Workflow Environment Setup
- Troubleshooting Decision Tree
- Common Issues
Need Help?
Dependency conflicts in multi-plugin ComfyUI environments are our specialty. If you're stuck in dependency hell, try Wonderful Launcher first to recover the environment without reinstalling.
Source References
Start with Wonderful Launcher if this issue touches your real ComfyUI environment. Use the docs to understand the fix, and use the app to inspect the machine you already have.
Download Wonderful LauncherStart with Wonderful Launcher if this issue touches your real ComfyUI environment. Use the docs to understand the fix, and use the app to inspect the machine you already have.
Download Wonderful LauncherDid this fix your issue?
Your answer helps prioritize verified ComfyUI repairs.
No Module Named
Diagnose ComfyUI ModuleNotFoundError and No module named errors by package name, Python environment, custom node dependency, and CUDA or PyTorch mismatch.
Torch Missing
Fix ComfyUI No module named torch errors in portable, venv, and managed installs, then verify that the repaired Torch build still has CUDA.