Nodes/ComfyUI-INT-Crush/LoRA Loader (INT-Crush)
ComfyUI Node

LoRA Loader (INT-Crush)

The LoRA loader that actually works on 4-bit models

By ThunderFun·Created 3 months ago·Updated 10 days ago· 1
LoRA Loader (INT-Crush)
  • model
  • MODEL
lora_name
strength1.00

Here's the thing nobody tells you about quantized models with rotation: your normal LoRA loader just doesn't work on them. Standard ComfyUI LoRA patching adds its low-rank delta directly to the weight matrix - but INT-Crush weights have been Hadamard-rotated, so that delta lands in the wrong space and quietly corrupts the LoRA's contribution. The INT-Crush LoRA Loader exists to fix exactly that. It applies the LoRA as a residual buffer in unrotated activation space, before any rotation or smoothing kicks in, which keeps the quantized weight and its fast kernels intact.

The good news: it's not a special LoRA format. You use ordinary .safetensors LoRA files from models/loras/ - the same ones you'd use on the unquantized model. The node parses them with ComfyUI's own lora/weight_adapter machinery, so it also handles LoKr, LoHa, OFT, and BOFT adapters out of the box. Don't go hunting for "INT-Crush LoRAs"; they don't exist. One caveat worth knowing from the wider ecosystem: LoRAs are architecture-bound, so an SDXL LoRA on a quantized Flux model still won't match any modules - same rule as always, just quantized.

The inputs that matter

  • model - the MODEL output from an INT4 or INT8 INT-Crush loader. (The loader was built for those; you're in unsupported territory wiring in something else.)
  • lora_name - the LoRA file from models/loras/. The author's tooltip just says "The name of the LoRA."
  • strength - FLOAT, default 1.0, range −10 to 10 in 0.01 steps. Standard semantics: crank up for more effect, go negative to invert. Start at 1.0.

Output: MODEL, straight into KSampler.

How it works (briefly)

It parses the LoRA without touching your loaded model, clones the patcher so each node output is tracked independently, and stashes the adapter stack as an attachment. Then it bumps the patch UUID and registers an ON_LOAD callback, so the LoRA survives ComfyUI's model cache reloads - a stale patcher will get cleared and reapplied rather than serving you a mutated model. The A/B low-rank matrices sit on CPU and move to GPU on first forward, which keeps VRAM overhead low.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/ThunderFun/ComfyUI-INT-Crush

Restart ComfyUI, or use ComfyUI Manager (search "ComfyUI-INT-Crush"). The whole pack installs together - you get the loaders and the LoRA nodes in one shot.

Where people get burned

  • Using the normal LoRA node. LoraLoaderModelOnly on an INT-Crush model won't error out; it'll just do nothing useful (or worse). Reach for this node instead.
  • "No modules matched" in the log - usually an architecture mismatch, not a bug. Check the LoRA is for the same model family as the quantized file.
  • Stacking order. Multiple LoRA loaders chain their stacks, and when two target the same module, the last one wins. If a stacked LoRA seems to vanish, that's why.
  • The usual pack warning applies: README says "not thoroughly tested," so verify the LoRA actually changed the output before you trust a long workflow to it.
Categoryloaders/INT-Crush

Inputs (3)

NameTypeDefaultDescription
modelMODEL
lora_nameCOMBOThe name of the LoRA.
strengthFLOAT1.00-10–10

Outputs (1)

NameTypeDescription
MODELMODEL