Load LoRA (GGUF)
GGUF LoRAs without the llama.cpp detour
- model
- clip
- MODEL
- CLIP
LoRAs in GGUF format exist because the llama.cpp crowd wanted them, but they show up in ComfyUI workflows too - and the built-in LoRA loader won't touch them. Load LoRA (GGUF) is the adapter that bridges the gap: it reads a standard GGUF LoRA (adapter.type=lora, paired .lora_a/.lora_b tensors) and feeds it through ComfyUI's normal LoRA patch mechanism, so it behaves like any LoRA you already use.
The interface will look familiar because it's a clone of the stock LoRA loader. model in, lora_name from models/loras, strength_model to set how hard it hits; optionally a clip input with its own strength_clip. Outputs are the patched MODEL and CLIP, so it drops into an existing LoRA slot without rewiring anything. Drop your .gguf LoRA in models/loras and it shows up in the dropdown next to your safetensors ones.
How it works
The node loads the GGUF, extracts the LoRA target factors, and remaps the tensor names onto the connected model's normal ComfyUI key map - it tries a handful of naming variants (with and without diffusion_model. / text_encoders. prefixes) and matches them against the model and CLIP you've wired in. Any target it can't match is a hard error naming the missing tensors, which is deliberate: silent partial LoRAs are how you get broken output that's hard to diagnose. It also rejects convolutional factors and non-LoRA adapter types outright.
The fine print worth knowing: this is a compatibility feature, not an acceleration. An active GGUF LoRA makes Q8_CR layers drop off their native INT8 fast path - GGUF LoRA patching requires the dequantize-patch-requantize cycle. The community's rule of thumb when VRAM-capped is to drop a quant level to make room for the LoRA rather than fighting it.
The inputs that matter
- model - the MODEL you loaded (e.g. from Unet Loader (Dynamic VRAM)).
- lora_name - the GGUF LoRA from
models/loras. - strength_model - 1.0 default, and yes, negative values work if you want to subtract.
- Optional clip and strength_clip - only needed if the LoRA touches the text encoder.
Installing
The standard pack install - ComfyUI-GGUF in the ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/molbal/ComfyUI-GGUF
Restart ComfyUI and pip install --upgrade gguf. ComfyUI v0.27.0+ for the native INT8 path underneath.
Where people get burned
- Name mismatches. A GGUF LoRA trained for a different model architecture than the one you connected will fail the key-map check - that error listing missing targets is the node doing its job, not a bug.
- LoRA quality control. GGUF LoRAs are often converted from safetensors originals and the quality is the same, but some are Q8_0-quantized versions that save space at a small quality cost. If you have the safetensors, that's usually the safer file.
- Speed. Expect the patch cycle to cost time on GGUF models - it's the documented trade-off of quantized weights plus adapters.
- Pack-wide:
_Kquants on diffusion models are unsupported on this fork, and the dynamic-VRAM nodes need a ComfyUI build that supports them.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| lora_name | COMBO | 0 options: | |
| strength_model | FLOAT | 1.00-100–100 | — |
| clipopt | CLIP | — | |
| strength_clipopt | FLOAT | 1.00-100–100 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |