Combine Lora Stacks
Merge LoRA stacks like it's a join operation
- lora_stack
- lora_stack
The LoRA stack pattern in Sage Utils has a wrinkle: stacks are built up by chaining nodes, but sometimes your LoRAs come from different places - one stack from a template you downloaded, another from your own "always on" list, a third built dynamically. This node is the merge step. It takes multiple LORA_STACK inputs and combines them into a single stack, in order, so you can stitch together stacks built in separate branches of your graph.
How it works
The single input, lora_stack, is an autogrow input - it starts with one connection slot and grows as you plug more stacks in (up to 100, not that you'll hit it). Each slot accepts a LORA_STACK object. The output is one combined lora_stack, with entries appended in the order you connected them: first stack's entries first, then the next, and so on. It's a concatenation, not a merge - there's no de-duplication, no reweighting. If the same LoRA appears in two input stacks, it appears twice in the output, which is usually exactly what you asked for by wiring them both.
When it earns its place
Any time a workflow builds LoRA configs from more than one source. Say you have a "character basics" stack chained out of a Six Lora Stack, and separately a "style" stack from another branch - combine them here and feed the result to a single Lora Stack Loader, rather than trying to thread both through the loader. It's also the natural tool if you're generating stacks programmatically (from a config, from another pack's stack output) and need to fold them into one pipeline.
One small nicety: it handles missing inputs gracefully. A slot that's connected but produces nothing, or an input you didn't connect, just gets skipped - so partial graphs don't explode.
Installing it
Part of the Sage Utils pack - ComfyUI Manager (search Sage Utils) or:
cd ComfyUI/custom_nodes
git clone https://github.com/arcum42/ComfyUI_SageUtils
cd ComfyUI_SageUtils
pip install -r requirements.txt
Restart ComfyUI. Only pip dependency is dynamicprompts; no model downloads.
The thing to keep straight
Order is preserved and order matters - the stack order is the application order when the loader runs, and LoRA application order can genuinely change the result when two LoRAs affect the same layers. If you combine stacks and the output looks different than you expected, check which stack you connected first. And since there's no de-duplication, the same LoRA appearing twice will get applied twice - at double effective weight, roughly. Sometimes that's the point; usually it isn't.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_stack | COMFY_AUTOGROW_V3 | Input value for lora_stack. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| lora_stack | LORA_STACK | Combined LoRA stack from all provided stack inputs. |