RuYi multi-Lora-loader
The RuYi multi-Lora loader
- model
- clip
- stack_config
- MODEL
- CLIP
- trigger_words
If you stack LoRAs the boring way - a chain of stock LoraLoader nodes, one per file - you already know the pain. It works, but it eats canvas, and the moment you want to know what trigger words each LoRA expects you're tabbing out to Civitai and squinting. The RuYi multi-Lora-loader collapses that whole chain into one box and bolts a LoRA picker on top. It's from RuYi-Nodes, a small utility pack by RuYi-Xiao that shipped its first public release in August 2026 - brand new, MIT-licensed, and refreshingly free of Python dependencies.
What it actually does
One node takes your MODEL and CLIP, applies any number of LoRAs to them, and hands back the patched MODEL, CLIP, plus an optional trigger_words string. Each LoRA gets its own enable toggle and independent MODEL / CLIP strength, you can reorder entries, delete them, or flip them all at once, and a "Show N LoRAs" viewport keeps the node from turning into a skyscraper (default 3, set to 0 for unlimited).
Under the hood it's refreshingly honest: it chains ComfyUI's own core LoraLoader nodes, one per active LoRA, applied in the order you list them. No reimplemented LoRA math, no magic - which is also why it behaves exactly like your old chain. The state lives in a stack_config input (a JSON list the node's own UI builds for you), and the only inputs you ever touch are model, clip, and that stack. Zero-strength entries are skipped rather than silently applied, and a LoRA that isn't in your models/loras folder raises a clear error instead of failing downstream.
The picker, and where the trigger words come from
This is the part that separates it from a plain chain. The LoRA picker is searchable, with separate Folder and Base model filters and in-node preview thumbnails. That metadata doesn't come from nowhere - the node reads the .metadata.json sidecar files that ComfyUI-Lora-Manager writes next to each LoRA:
my_lora.safetensors
my_lora.metadata.json
my_lora.jpeg
No sidecars? Normal LoRA loading still works fine; you just lose the previews, usage notes, and trigger words. And the trigger_words output is worth calling out separately because it's the nicest feature here: for every enabled LoRA with its per-LoRA Output trigger toggle on, it collects that LoRA's trained words from the sidecar, de-duplicates them case-insensitively, and joins them with commas. Wire that into a prompt-concatenation step and you never type a trigger word again. Leave it unconnected and nothing breaks - it's purely additive.
Install
ComfyUI Manager: search RuYi-Nodes and install. Or, the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/RuYi-Xiao/RuYi-Nodes.git
Restart ComfyUI. That's the whole install - the pack's pyproject.toml declares zero dependencies, and the README is explicit that it only uses libraries a normal ComfyUI install already ships. Update with git pull in the RuYi-Nodes folder.
Where it fits, honestly
If you already run rgthree's Power Lora Loader, you may not need this - Power Lora Loader is the battle-tested all-in-one and can show trained words too. RuYi's angle is the LoRA-Manager sidecar integration and the slick picker. This pack is too new to have community reputation behind it, so judge it on the one thing it does well: if you're on Lora Manager and you're sick of chained loaders, this is a tidy single-node replacement with trigger-word auto-collection as a bonus.
The gotchas: trigger words only exist if Lora Manager wrote sidecars, so expect an empty string before you install it. Order matters - the stack applies top to bottom, and a heavy style LoRA listed after your character LoRA can wash it out. And remember the stack_config is what a workflow saves: share a workflow using this node and anyone loading it needs the pack installed, same as any other custom node.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| stack_config | RUYI_LORA_STACK | [] | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| trigger_words | STRING | — |