ComfyUI runs on macOS and works better than many people expect — particularly on Apple Silicon. The MPS (Metal Performance Shaders) backend gives M-series chips genuine GPU acceleration for image generation, making them a viable alternative to a mid-range NVIDIA card. Intel Macs can run ComfyUI too, though they fall back to CPU-only and generation will be slow.
Apple Silicon vs Intel: What to Expect
Before you start, it’s worth understanding what you’re actually working with:
- Apple Silicon (M1, M2, M3, M4 series): ComfyUI uses the MPS backend for GPU acceleration. Generation speed is roughly comparable to a mid-range NVIDIA card for SD 1.5 and SDXL — not as fast as an RTX 4080, but genuinely usable. The unified memory architecture means you can run larger models than a dedicated GPU with equivalent RAM would suggest.
- Intel Mac: No MPS support. ComfyUI runs in CPU-only mode, which means image generation takes several minutes per image rather than seconds. It works, but it’s not a pleasant experience for anything beyond occasional use.
If you’re on an M1 with 8GB unified memory, you can run SD 1.5 and SDXL comfortably. An M2 or M3 with 16GB+ handles quantised Flux models well. Full-precision Flux.1-dev wants 24GB+ of unified memory.
Prerequisites
You need two things before starting:
- Python 3.10, 3.11, or 3.12 — macOS ships with Python 3 but it may be an older version. The cleanest approach is to use pyenv or Homebrew to install a known-good version.
- Git — Available via Xcode Command Line Tools. If you haven’t installed them, run
xcode-select --installin Terminal.
To install Python via Homebrew:
brew install [email protected]Then check your Python version:
python3 --versionCloning ComfyUI
Open Terminal and navigate to where you want ComfyUI installed. Your home directory or a dedicated AI folder works well:
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUICreating a Virtual Environment
It’s good practice to use a virtual environment so ComfyUI’s dependencies don’t conflict with anything else on your system:
python3 -m venv venv
source venv/bin/activateYour terminal prompt should now show (venv) at the start. All pip commands from here install into this environment only.
Installing PyTorch for Apple Silicon
Apple Silicon uses the MPS backend, which is built into modern PyTorch. Install with:
pip install torch torchvision torchaudioThe standard PyTorch package includes MPS support from version 2.0 onwards. You don’t need a special build or additional flags — it detects Apple Silicon automatically.
For Intel Mac, the same command applies, but PyTorch will use CPU only. There is no MPS support on Intel.
Installing ComfyUI Dependencies
pip install -r requirements.txtThis may take a few minutes. Some packages compile from source on macOS, which is normal.
Downloading a Model
Models live in ComfyUI/models/checkpoints/. For a first test on Apple Silicon, SD 1.5 is a sensible starting point:
- Download
v1-5-pruned-emaonly.safetensorsfrom Hugging Face (runwayml/stable-diffusion-v1-5) - Place it in
models/checkpoints/
If you have an M2 or later with 16GB+ unified memory, SDXL is worth trying. The base model (sd_xl_base_1.0.safetensors) is available from stabilityai on Hugging Face.
Launching ComfyUI
Make sure your virtual environment is active (source venv/bin/activate if not), then:
python main.pyComfyUI prints a URL — usually http://127.0.0.1:8188 — open it in Safari or Chrome. The default workflow loads automatically.
On Apple Silicon, ComfyUI should detect MPS automatically. You’ll see something like Using device: mps in the terminal output. If it falls back to CPU, check your PyTorch version with python -c "import torch; print(torch.backends.mps.is_available())". It should print True.
Useful Launch Flags for Mac
--force-fp16— Recommended for Apple Silicon. Reduces memory usage with minimal quality loss.--lowvram— Use on Macs with 8GB unified memory if you’re hitting memory pressure.--cpu— Forces CPU only. Useful for Intel Macs or debugging.
A typical launch command for an M2 Mac with 16GB:
python main.py --force-fp16Installing ComfyUI Manager
Stop ComfyUI, then clone ComfyUI Manager into the custom nodes folder:
cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
cd ..
python main.pyThe Manager button will appear in the top-right of the interface. Use it to browse and install custom nodes without leaving the browser.
Performance on Apple Silicon
As a rough guide for M-series Macs with --force-fp16:
- SD 1.5 at 512×512, 20 steps: ~15–25 seconds on M1, ~8–15 seconds on M2/M3
- SDXL at 1024×1024, 20 steps: ~60–90 seconds on M2 with 16GB
- Flux.1-schnell (quantised) on M2 Pro 32GB: ~60–90 seconds per image
These are rough estimates — actual times depend on step count, resolution, and memory pressure from other apps. Closing other applications before a generation session makes a noticeable difference.
Keeping ComfyUI Updated
Activate your virtual environment, then from the ComfyUI root:
git pull
pip install -r requirements.txtComfyUI Manager handles updates for installed custom nodes from within the browser interface.
Next Steps
With ComfyUI running on your Mac, the next step is getting familiar with the node interface. See the ComfyUI Beginner’s Guide for a walkthrough of the default workflow. If your Mac has enough unified memory for Flux, see How to Install Flux in ComfyUI.
Fixing Common Mac Installation Errors
The most common issue on Mac is a PyTorch version mismatch. If you see errors mentioning MPS backend not available or CUDA errors (which should not appear on Mac at all), check your PyTorch version with python -m torch utils or python -c "import torch; print(torch.__version__)". ComfyUI works best with PyTorch 2.1 or later on Apple Silicon. If your version is older, reinstall it via pip: pip install torch torchvision torchaudio.
Another frequent error is ModuleNotFoundError: No module named cv2. Some custom nodes depend on OpenCV, which is not installed by default. Fix it with pip install opencv-python inside your virtual environment.
Where to Store Models on Mac
On Mac, keep your checkpoint files in ComfyUI/models/checkpoints/. If you also have Automatic1111 installed and want to share models between them, edit the extra_model_paths.yaml file in the ComfyUI root to point at your A1111 models directory. This avoids duplicating large files and is particularly useful on Mac where storage is typically more limited than on a dedicated PC.
For a full index of every ComfyUI guide on Serverman, see the ComfyUI complete guide and hub.