π Bawk LoRA Stack
Six LoRAs in one node β with trigger words that follow the set
- lora_stack
- lora_stack
- lora_triggers
- lora_info
If you've ever stacked three LoRAs for a character and then had to hand-edit the prompt every time you swapped characters, this is the node that ends that. BawkLoraStack gives you six LoRA slots in one box, each with its own strength and its own trigger words, and it remembers which words belong to which LoRA so you don't have to. It's one node in juddisjudd's Bawk Nodes pack, which is built around a complete FLUX workflow - model loader, LoRA stacks, a switch, an encoder, a sampler, a saver. No negative prompt anywhere, because FLUX doesn't use one.
How it works
Each BawkLoraStack builds a little data structure called a LORA_STACK - internally just a list of (LoRA name, strength) pairs plus a list of trigger words. It doesn't load anything itself. The actual loading happens later, in the pack's Bawk Wildcard Encoder, which takes that stack, applies each LoRA to the MODEL and CLIP, and splices the trigger words into your prompt. This node's whole job is to describe a set cleanly and let you chain sets together.
The detail that makes it clever: a slot only "counts" when its strength isn't exactly 0.0. Set a LoRA to None or drag strength to zero and it's skipped entirely - and its trigger words go with it. Since trigger words are only added to the prompt while that LoRA is active, switching sets also switches the words automatically. Chain another stack into the lora_stack input to combine sets (the two merge, and the words dedupe), or flip enabled off to mute a whole set while still passing any chained input through unchanged.
The inputs and outputs that matter
There are only three things you'll actually touch per slot, and you have six of them:
lora_1β¦lora_6- dropdown of everything in yourmodels/lorasfolder.strength_1β¦strength_6- the LoRA weight,-10to10, default1. Zero disables that slot. Negative values are allowed, which is how you'd try subtracting a style.trigger_1β¦trigger_6- the rare-token word (or words) the LoRA was trained on, likech9racternameorstyl3name. This is what most multi-LoRA graphs leave you to remember yourself.
Three outputs come out:
lora_stack- wire this into the Wildcard Encoder'slora_stackinput (or into a Bawk LoRA Switch).lora_triggers- the active trigger words as one comma-joined string, handy for previewing or logging.lora_info- aname@strength, name@strengthsummary meant for the pack's image saver, which writes it into the prompt.txtand PNG metadata so you can see exactly which LoRAs and weights made an image.
Installing it
The whole pack installs at once, and it's a light one:
cd ComfyUI/custom_nodes
git clone https://github.com/juddisjudd/ComfyUI-BawkNodes.git
Then restart ComfyUI. Easier still, use ComfyUI Manager and search "Bawk Nodes". Its only Python dependency is requests. Two real requirements: a ComfyUI build from late 2025 or newer (it needs FLUX.2 support), and - if you want GGUF LoRAs or models in the dropdowns - ComfyUI-GGUF installed alongside. Example workflow flux1_dev_lora_sets.json in the repo shows the stack-plus-switch pattern wired end to end.
Gotchas
- LoRAs are architecture-bound, so this is a FLUX-only tool. An SDXL LoRA will appear in the dropdown and do nothing useful on a FLUX model. The pack won't warn you.
- Trigger words are plain text added to the front of your prompt - they only work if the LoRA was actually trained with them. No trigger word on the Civitai page, no magic from this node.
- v3.0 of the pack reworked all the Bawk widget layouts. If you load a workflow saved with the 2.x era and the Bawk nodes come back empty or broken, delete and re-add them - that's a documented breaking change, not your fault.
lora_triggersonly reflects the active set. If you're staring at an empty string, check that strength isn't sitting at zero.
Inputs (20)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | Master switch for this set. Off passes the incoming stack through unchanged |
| lora_stackopt | LORA_STACK | Chain another Bawk LoRA Stack to combine sets | |
| lora_1opt | COMBO | None | 1 options: None |
| strength_1opt | FLOAT | 1.00-10β10 | β |
| trigger_1opt | STRING | Trigger words for this LoRA. Added to the prompt only while this slot is active | |
| lora_2opt | COMBO | None | 1 options: None |
| strength_2opt | FLOAT | 1.00-10β10 | β |
| trigger_2opt | STRING | Trigger words for this LoRA. Added to the prompt only while this slot is active | |
| lora_3opt | COMBO | None | 1 options: None |
| strength_3opt | FLOAT | 1.00-10β10 | β |
| trigger_3opt | STRING | Trigger words for this LoRA. Added to the prompt only while this slot is active | |
| lora_4opt | COMBO | None | 1 options: None |
| strength_4opt | FLOAT | 1.00-10β10 | β |
| trigger_4opt | STRING | Trigger words for this LoRA. Added to the prompt only while this slot is active | |
| lora_5opt | COMBO | None | 1 options: None |
| strength_5opt | FLOAT | 1.00-10β10 | β |
| trigger_5opt | STRING | Trigger words for this LoRA. Added to the prompt only while this slot is active | |
| lora_6opt | COMBO | None | 1 options: None |
| strength_6opt | FLOAT | 1.00-10β10 | β |
| trigger_6opt | STRING | Trigger words for this LoRA. Added to the prompt only while this slot is active |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| lora_stack | LORA_STACK | β |
| lora_triggers | STRING | β |
| lora_info | STRING | β |