Simple Lora Loader π
Load Forge-style <lora:name:weight> tags by name, not filename
- model
- clip
- model
- clip
- civitai_lora
- civitai_lora_hash
Here's a mismatch that trips people up more than it should: Forge doesn't refer to a LoRA by its filename. It reads the internal name baked into the LoRA's training metadata (the ss_output_name field, if you've ever poked around a .safetensors with a metadata viewer), and that's what shows up in <lora:name:1.0> tags and in the metadata of images it saves. If the filename and that internal name don't match - which happens constantly, because people rename files or download the same LoRA from two sources with different filenames - every ComfyUI LoRA loader that keys off the filename just fails to find it. Simple Lora Loader is built specifically to close that gap: it resolves both, filename or internal name, against a text tag.
How it works
Feed it a string of one or more <lora:name:1.0> or <lora:name:unet=1.0:te=0.75> tags - typically the lora_text output from Simple Extract Lora From Text, though you can type it directly - and it matches each name against your LoRA folder two ways: as a literal filename, and against the internal name read out of each file's metadata. The first time it runs, it builds a lora_name.json dictionary mapping names to paths and hashes, and computes a .sha256 hash file next to every LoRA it touches, so subsequent runs are fast. If you add or move LoRAs later, there's an "Update LoRA dictionary" button on the node - click it and run the workflow once to refresh.
Once resolved, it applies each LoRA to your model and clip at the per-tag weight, then gives you two multipliers and two caps as safety valves: if a prompt is stacking five or six LoRAs and the combined weight is wrecking the output, multiple_strength_unet / multiple_strength_clip scale everything down proportionally, and limit_strength_unet / limit_strength_clip hard-cap any single LoRA's weight regardless of what the tag asked for.
The inputs and outputs that matter
model, clip, and lora_text are required - the model and clip to modify, and the tag string describing what to apply. The four strength controls are optional and default to sane values (multiplier 1.0, cap 2.0); leave them alone until you actually have a LoRA-stacking problem.
Outputs are model and clip (wired onward exactly like any LoRA loader), plus two extras this pack cares about specifically: civitai_lora is a human-readable list of what got applied and at what weight, and civitai_lora_hash is the first 10 characters of each LoRA's sha256 - the format CivitAI's own metadata convention expects for crediting a LoRA in an image's generation info. Both are meant to feed straight into Simple Image Saver (as Forge) downstream.
Installing it
ComfyUI Manager β search ComfyUI_SimpleButcher β install β restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/KLL535/ComfyUI_SimpleButcher.git
cd ComfyUI_SimpleButcher
pip install -r requirements.txt
Common issues
First run is slow, sometimes very slow. Hashing every LoRA in your folder is a one-time cost, but if you've got a large collection and none of it has been hashed before, expect it to take a while. Let it finish rather than killing ComfyUI mid-run.
It writes files into your LoRA folder - know this going in. The README flags this explicitly: it creates a .sha256 file next to every LoRA and model it touches, plus one lora_name.json dictionary in your default LoRA folder. This is by design (it's what makes re-runs fast and what generates the CivitAI-compatible hash), but if you're precious about a clean models directory, be aware it's not read-only.
LoRA still not found after adding new files. Click "Update LoRA dictionary" and run the workflow once - the dictionary doesn't watch your filesystem for changes automatically.
Only Forge-style tags parse. If lora_text doesn't contain <lora:...> syntax, nothing gets applied. Pair this with Simple Extract Lora From Text if your input is a mixed prompt-plus-lora string rather than pure tags. If you'd rather manage LoRA stacking visually with a UI instead of text tags, rgthree-comfy's Power Lora Loader is the more common alternative - different philosophy (manual per-entry toggles vs. text-parsed), same job.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The diffusion model the LoRA will be applied to | |
| clip | CLIP | The CLIP model the LoRA will be applied to | |
| lora_text | STRING | Multiple LoRAs discriptions in Forge style: <lora:name:1.0> or <lora:name:unet=1.0:te=0.75> | |
| multiple_strength_unetopt | FLOAT | 1.000β10 | Multiple of unet strength |
| multiple_strength_clipopt | FLOAT | 1.000β10 | Multiple of clip strength |
| limit_strength_unetopt | FLOAT | 2.00-10β10 | Max of unet strength |
| limit_strength_clipopt | FLOAT | 2.00-10β10 | Max of clip strength |
| countopt | INT | 1 | β |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | β |
| clip | CLIP | β |
| civitai_lora | STRING | β |
| civitai_lora_hash | STRING | β |