Nodes/Craftgear Nodes/Load LoRAs With Tags
ComfyUI Node

Load LoRAs With Tags

The loader that finally surfaces your trigger words

By craftgear·Created 8 months ago·Updated 6 months ago· 1
Load LoRAs With Tags
  • model
  • clip
  • model
  • clip
  • tags
lora_name_1
lora_strength_11.0
lora_on_1true
tag_selection_1
lora_name_2
lora_strength_21.0
lora_on_2true
tag_selection_2
lora_name_3
lora_strength_31.0
lora_on_3true
tag_selection_3
lora_name_4
lora_strength_41.0
lora_on_4true
tag_selection_4
lora_name_5
lora_strength_51.0
lora_on_5true
tag_selection_5
lora_name_6
lora_strength_61.0
lora_on_6true
tag_selection_6
lora_name_7
lora_strength_71.0
lora_on_7true
tag_selection_7
lora_name_8
lora_strength_81.0
lora_on_8true
tag_selection_8
lora_name_9
lora_strength_91.0
lora_on_9true
tag_selection_9
lora_name_10
lora_strength_101.0
lora_on_10true
tag_selection_10
lora_name_11
lora_strength_111.0
lora_on_11true
tag_selection_11
lora_name_12
lora_strength_121.0
lora_on_12true
tag_selection_12
lora_name_13
lora_strength_131.0
lora_on_13true
tag_selection_13
lora_name_14
lora_strength_141.0
lora_on_14true
tag_selection_14
lora_name_15
lora_strength_151.0
lora_on_15true
tag_selection_15
lora_name_16
lora_strength_161.0
lora_on_16true
tag_selection_16
lora_name_17
lora_strength_171.0
lora_on_17true
tag_selection_17
lora_name_18
lora_strength_181.0
lora_on_18true
tag_selection_18
lora_name_19
lora_strength_191.0
lora_on_19true
tag_selection_19
lora_name_20
lora_strength_201.0
lora_on_20true
tag_selection_20
tags
loras_json[]

Here's a scenario every LoRA user knows: you download a character LoRA, load it, type your prompt, and get nothing. No character. Because buried in that .safetensors file is a trigger word - a rare token like ch4r4ct3r name the model was trained on - and the loader never showed it to you. Load LoRAs With Tags is the LoRA loader that stops hiding that information. It reads trigger/trained words straight out of the LoRA's metadata (and any sidecar JSON files), shows them in a fuzzy-search tag picker, and outputs the tags you select alongside the patched model and clip. Up to 20 LoRAs at once.

This is the pack's flagship - the node the author announced on r/comfyui as "yet another LoRA loader with twists," built specifically because selecting LoRAs from a giant dropdown was driving them up the wall. It's a small but genuinely thoughtful fix for a real, recurring pain.

How it works

When you pick a LoRA, the node scans for its trigger words in a specific priority order:

  1. Sidecar JSON files next to the LoRA - any JSON with trainedWords/trained_words, plus model_info.json (Civitai-style modelVersions, matched to your file by name) and .rgthree-info.json. Tags found here get infinite frequency and are pinned to the top of the tag list.
  2. The safetensors header itself - ss_tag_frequency (preferred, since it gives real occurrence counts), then trained_words, then trigger_words.

That's the good stuff. The tag dialog then shows every tag with fuzzy filtering, sorted by how often the tag appeared in the training data - so the actual trigger word floats to the top instead of being buried. You click the tags you want; each slot's selection is stored in its tag_selection_N input; and the tags output is the merged, deduplicated, parenthesis-escaped string of all selected tags (plus whatever you feed into the optional tags input). Wire that straight into CLIP Text Encode.

It's also a proper stack: each of the 20 slots has its own LoRA name, strength slider, on/off toggle, and tag selection. Header Copy/Append actions import slots from other LoRA loader nodes, and there's a hover-zoom preview image next to each LoRA in the picker.

Inputs and outputs that matter

  • model, clip - required; from a Load Checkpoint node. The patched versions come back out.
  • Per slot: lora_name_N, lora_strength_N (default 1.0, range -2.0 to 2.0, configurable under Settings > craftgear > Load Loras With Tags), lora_on_N, tag_selection_N.
  • tags (optional) - input tag text merged with the selected LoRA tags in the output.
  • loras_json (optional) - a JSON list of LoRA names. Wire the loras json output from this pack's A1111 Metadata Reader here and it loads those LoRAs at strength 1.0, taking priority over the slots.

Outputs: model, clip, and tags.

Install

Search craftgear in ComfyUI Manager and install a numbered version (the README notes nightly fails on security restrictions), or:

cd ComfyUI/custom_nodes
git clone https://github.com/craftgear/comfyui-craftgear-nodes

Restart ComfyUI. No model downloads, no extra pip dependencies.

Where people get burned

  • No tags shown? The LoRA has no tags to show. Not every LoRA is trained with ss_tag_frequency, trained_words, or a sidecar JSON. If the picker comes up empty, the file genuinely carries no readable trigger data - nothing is broken, you just have to find the trigger the old way.
  • Trigger words aren't prompt sentences. The tags it extracts are often awkward tokens or heavy with frequency noise. Select a few, don't dump all 200.
  • loras_json overrides the slots. If you've wired in a reader's JSON and slots aren't being applied, that's expected behavior - the JSON path wins. Unplug it to use the click-and-edit workflow.
Categorycraftgear/loras

Inputs (84)

NameTypeDefaultDescription
modelMODEL
clipCLIP
lora_name_1COMBO1 options: None
lora_strength_1FLOAT1.0-2–2
lora_on_1BOOLEANtrue
tag_selection_1STRING
lora_name_2COMBO1 options: None
lora_strength_2FLOAT1.0-2–2
lora_on_2BOOLEANtrue
tag_selection_2STRING
lora_name_3COMBO1 options: None
lora_strength_3FLOAT1.0-2–2
lora_on_3BOOLEANtrue
tag_selection_3STRING
lora_name_4COMBO1 options: None
lora_strength_4FLOAT1.0-2–2
lora_on_4BOOLEANtrue
tag_selection_4STRING
lora_name_5COMBO1 options: None
lora_strength_5FLOAT1.0-2–2
lora_on_5BOOLEANtrue
tag_selection_5STRING
lora_name_6COMBO1 options: None
lora_strength_6FLOAT1.0-2–2
lora_on_6BOOLEANtrue
tag_selection_6STRING
lora_name_7COMBO1 options: None
lora_strength_7FLOAT1.0-2–2
lora_on_7BOOLEANtrue
tag_selection_7STRING
lora_name_8COMBO1 options: None
lora_strength_8FLOAT1.0-2–2
lora_on_8BOOLEANtrue
tag_selection_8STRING
lora_name_9COMBO1 options: None
lora_strength_9FLOAT1.0-2–2
lora_on_9BOOLEANtrue
tag_selection_9STRING
lora_name_10COMBO1 options: None
lora_strength_10FLOAT1.0-2–2
lora_on_10BOOLEANtrue
tag_selection_10STRING
lora_name_11COMBO1 options: None
lora_strength_11FLOAT1.0-2–2
lora_on_11BOOLEANtrue
tag_selection_11STRING
lora_name_12COMBO1 options: None
lora_strength_12FLOAT1.0-2–2
lora_on_12BOOLEANtrue
tag_selection_12STRING
lora_name_13COMBO1 options: None
lora_strength_13FLOAT1.0-2–2
lora_on_13BOOLEANtrue
tag_selection_13STRING
lora_name_14COMBO1 options: None
lora_strength_14FLOAT1.0-2–2
lora_on_14BOOLEANtrue
tag_selection_14STRING
lora_name_15COMBO1 options: None
lora_strength_15FLOAT1.0-2–2
lora_on_15BOOLEANtrue
tag_selection_15STRING
lora_name_16COMBO1 options: None
lora_strength_16FLOAT1.0-2–2
lora_on_16BOOLEANtrue
tag_selection_16STRING
lora_name_17COMBO1 options: None
lora_strength_17FLOAT1.0-2–2
lora_on_17BOOLEANtrue
tag_selection_17STRING
lora_name_18COMBO1 options: None
lora_strength_18FLOAT1.0-2–2
lora_on_18BOOLEANtrue
tag_selection_18STRING
lora_name_19COMBO1 options: None
lora_strength_19FLOAT1.0-2–2
lora_on_19BOOLEANtrue
tag_selection_19STRING
lora_name_20COMBO1 options: None
lora_strength_20FLOAT1.0-2–2
lora_on_20BOOLEANtrue
tag_selection_20STRING
tagsoptSTRING
loras_jsonoptSTRING[]

Outputs (3)

NameTypeDescription
modelMODEL
clipCLIP
tagsSTRING