Load LoRA Tag
Name:weight> Tags in ComfyUI
- model
- clip
- MODEL
- CLIP
- STRING
If you've spent any time in Automatic1111 or Forge, or you've ever copy-pasted a snippet off a CivitAI model page, you already know this syntax: <lora:CroissantStyle:0.8>. Drop that into your prompt and A1111 quietly loads the LoRA for you. ComfyUI doesn't work that way by default - you wire up a LoRA Loader node, pick a file from a dropdown, set a strength slider, one node per LoRA, every time. badjeff's LoRA Tag Loader is the node that closes that gap: paste <lora:name:weight> tags straight into a text box and it parses them out, loads the matching LoRA files, patches your model and CLIP, and hands you back the prompt with the tags stripped so it's clean going into your text encoder.
It's a tiny, single-node pack - no companions, no model downloads, nothing to configure beyond dropping it in. It earns its keep in one specific spot: anywhere you want to select LoRAs programmatically instead of by hand. Pair it with Impact Pack's wildcard node (the one that owns ComfyUI's __wildcard__ / dynamic-prompt syntax) or the Unprompted node, and you can randomize which LoRA fires on each generation just by feeding different tag text through - something a dropdown-based loader can't do without a pile of switch nodes.
How it works
The node takes your text, pulls out every <lora:name:weight> (or <lora:name:weight:weight_clip>) occurrence with a regex, resolves name against your loras folder, and patches it in: the UNet gets weight, and CLIP gets weight_clip if you gave one - or the same weight if you didn't. That fourth optional number is the same knob as strength_clip on the standard LoRA Loader; the README even points at cloneofsimo's original writeup on why splitting UNet and text-encoder strength matters, if you want the theory. Everything in the text that isn't a lora tag passes through untouched, and multiple tags in one block all get applied and stripped in a single pass.
Inputs and outputs
Three required inputs, and a beginner really only touches one:
- model / clip - straight from your checkpoint loader, same as any LoRA node.
- text - the multiline field where you paste tags, e.g.
a woman in armor <lora:CroissantStyle:0.8:0.7>, cinematic lighting.
Outputs mirror that: patched MODEL goes to your sampler, patched CLIP goes to your CLIP Text Encode, and the stripped STRING - same text, tags removed - goes into that same CLIP Text Encode as the actual prompt. One node in, three wires out, no separate LoRA Loader chain per file.
Installing it
Search "LoRA Tag Loader" in ComfyUI Manager, or do it by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/badjeff/comfyui_lora_tag_loader
Restart ComfyUI. That's the whole install - the README lists no Python dependencies and no model downloads, because there aren't any. It's a thin patch layer on top of ComfyUI's own LoRA loading, not a new inference stack, so there's nothing heavy to go wrong on setup.
Where people get stuck
The failure mode that actually shows up: the name in your tag has to exactly match a filename in your loras folder, and if it doesn't, the LoRA just doesn't apply - no loud error, it silently skips. This is the same string-matching trap A1111 users hit constantly with the identical tag syntax ("my terminal almost always says it is skipping the unknown lora"). If a tagged LoRA doesn't seem to be doing anything, check the exact filename before you start second-guessing weights.
Past that, you're in ordinary LoRA territory and the usual checklist applies. Architecture has to match - a Flux LoRA tagged onto an SDXL model does nothing, and even within the SDXL family, Pony/Illustrious/vanilla LoRAs are often not cross-compatible despite all showing up as selectable. And if a LoRA needs a trigger word, this node won't tell you what it is - unlike rgthree's Power Lora Loader, which can pull trigger words from the file or fetch them from CivitAI, Tag Loader just executes exactly what you type. You still have to know the trigger word and put it in the text yourself. Stack more than one tag and treat it like any LoRA stack: if things go sideways, change one tag at a time with a fixed seed to isolate which one's causing it, and put your strongest LoRA first in the text - order affects how they compose.
One honest limitation worth knowing going in: this node is a parser, not a manager. It doesn't browse your LoRA folder, doesn't preview trigger words, doesn't let you toggle entries with a click. If you want that kind of workflow-building convenience, rgthree's Power Lora Loader is the more popular pick. LoRA Tag Loader's whole value is that it's driven by text - which makes it the right tool specifically when something else is generating that text for you.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| clip | CLIP | — | |
| text | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| CLIP | CLIP | — |
| STRING | STRING | — |