Nodes/ComfyUI-Multi-Lora/Multi LoRA Loader
ComfyUI Node

Multi LoRA Loader

Pick Your LoRA by Number Instead of Name

By Danchi93·Created 2 months ago·Updated about a month ago· 8
Multi LoRA Loader
  • model
  • model
  • triggers
lora_stack[]

You've got forty LoRAs sitting in your loras folder and you keep opening the dropdown, scrolling, clicking the wrong one, generating, and swearing. This node numbers your entire LoRA library alphabetically, then hands you a single integer to pick one. Index 0 is the first LoRA by filename, index 1 the next, and so on. Type a number, get a LoRA. That's the whole pitch.

It sounds trivial until you need it. The honest version: if you swap LoRAs by hand in a dropdown, this solves a problem you don't have, and the community's go-to for stacking LoRAs with per-entry toggles is still rgthree's Power Lora Loader. Where "by index" genuinely earns its keep is A/B testing - dialing through a dozen character LoRAs on a fixed seed by bumping one number instead of rebuilding the graph - and any workflow where you want the LoRA choice driven by another node or a saved integer. Once you've wired a batch or a comparison around it, you stop noticing it's there. That's the sign of a good utility.

How it works

At startup it scans every folder ComfyUI knows about for LoRAs, keeps files ending in .safetensors, .ckpt, or .pt, sorts them alphabetically, and dedupes. The index then selects from that sorted list. That lora_list dropdown you see in the node? Purely cosmetic - the README says it flat out: the selection is visual only, the index decides. Don't reach for the dropdown and expect it to change anything.

Under the hood it doesn't reinvent loading. It imports ComfyUI's own LoraLoader from comfy_extras and calls it with the resolved file path, so the actual apply logic is identical to the stock node. No extra dependencies, no new Python packages - the pack leans entirely on what ComfyUI already ships.

The inputs that matter

  • model - your base checkpoint's MODEL output. Required.
  • index - the number that picks the LoRA. 0 is your first file alphabetically.
  • strength_model / strength_clip - default 1.0, range −10 to 10. The usual advice still applies: SDXL-lineage LoRAs often want 0.5–0.8. Negative strengths are the "undo a style" trick - that's why the range goes negative, not because you'll need it often.
  • clip (optional) - wire your CLIP in if the LoRA has a text side; leave it empty and the CLIP output just passes through.

Outputs: MODEL into your sampler, CLIP into your text encoder (or straight past the LoRA).

Installing it

Easiest via ComfyUI Manager: search for "loras-loader" or "Multiple LoRA Loader" and hit install. Or, by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/hubentu/ComfyUI-loras-loader

Restart ComfyUI. There's no requirements.txt and nothing to download - no models, no pip install. It's the rare custom node that's genuinely dependency-free.

Where people get burned

  • The index max is stale. It's computed when the node's inputs load, so adding a new LoRA to your folder doesn't extend the range until you reload the node or restart. If your new LoRA "isn't there," that's why.
  • Out-of-range index silently snaps to 0. Wrong LoRA loading with no error? Check the console - it logs the fallback and moves on.
  • Alphabetical is filename order, not common-sense order. 10_style.safetensors sorts before 2_style.safetensors. If you want a deliberate order, zero-pad your filenames.
  • A missing file passes your model through unchanged. Console message only.

One more reality check: this pack has essentially no community footprint - you won't find r/comfyui threads debating it, and its README is stale relative to the code. Treat it as a small, quiet utility: it does one indexed-loading job, does it fine, and you'll forget you installed it.

Categoryloaders

Inputs (2)

NameTypeDefaultDescription
modelMODEL
lora_stackSTRING[]

Outputs (2)

NameTypeDescription
modelMODEL
triggersSTRING