Lora Name (obvpm)
Put a LoRA on a wire without loading anything
- lora_name
The lora_name widget on a LoraLoader is a normal combo box, which means it's baked into that node and that node only. Want the same LoRA in two loaders? Type it twice. Want to switch LoRAs from a preset? You can't - the name isn't a value yet, it's a setting.
Lora Name (obvpm) turns it into a value. Pick a file, get its name on a wire. Nothing is loaded, nothing is applied; it's a string, and that's the whole node. The point is what a string can do that a widget can't: travel, be bundled, be switched between presets, and be shared by several loaders at once.
Inputs and outputs
lora_name- a combo of files undermodels/loras, read live from the folder. Subfolders included.lora_name- the output, wildcard-typed.
The output is untyped on purpose: it plugs straight into a loader's own lora_name combo input (convert the widget to an input first, right-click → Convert widget to input), and it carries the name exactly as a loader reports it, including any subfolder path. That exactness matters - you're not normalizing, escaping or prettifying anything; it's the same string the loader would have shown in its own dropdown.
Why a name on a wire is useful
- One pick, several loaders. Two branches that share a character LoRA now share one selection. Change it in one place; both branches follow.
- Presets. Feed the output into a Value Presets bundle or a Lazy Case Switch, and LoRA selection becomes part of a preset rather than something you re-type per render.
- Names in captions and filenames. A string can go into a filename template or a text node. A widget can't.
- Sweeps and A/B tests. Since it's just data, you can drive it from a list or a dropdown of your own and step through candidates without hand-editing the loader.
It's the same idea as the pack's Sampler Name and Scheduler Name nodes: take the choice out of the node that consumes it and make it a value in the graph. Those three keep the socket names of the nodes they replace, so an existing graph only has to change the node type.
What it does not do
It does not apply the LoRA. No loading, no weight merge, no strength. It's a name. If your output is unchanged after wiring this in, that's correct - the actual loading still happens in a LoraLoader (or a Power Lora Loader, or whatever stack you use).
It does not carry the trigger words. Different problem, same family: a LoRA that appears to do nothing is frequently a missing trigger word, not a broken wire. rgthree's Power Lora Loader reads trigger words out of the file or fetches them from CivitAI for exactly this reason; this node is just the name, so keep your trigger words elsewhere.
It won't survive a renamed file. The value is a path inside models/loras. Move the file or rename the folder and a saved workflow points at something that no longer exists. That's true of the loader's own combo too, but a wire makes it a little less visible, since the node still shows a name.
Install
ComfyUI Manager → search comfyui-obvpm (the pack title), or:
cd ComfyUI/custom_nodes
git clone https://github.com/chanon/comfyui-obvpm
Restart ComfyUI so it indexes your models/loras folder. Category obvpm/values. No Python dependencies; the pack declares none, so this installs in seconds and adds no weight to your environment. Every node id in the pack ends in (obvpm) as of 0.2.0 - the suffix that ended a class-id collision with another pack - and pre-0.2.0 workflows are migrated when opened.
Verdict
Small, unglamorous, and the kind of node you don't know you wanted until the fourth time you've gone back to change a LoRA name in three different loaders. If you only ever use one LoRA in one place, ignore it. If you're building preset-driven or branchy graphs, this is the piece that stops the loader widget from being the odd one out.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| lora_name | COMBO | Any file under models/loras. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| lora_name | * | The chosen file name, exactly as a loader's own widget reports it (including any subfolder). |