Lora Load from Subdirectory
Your LoRA folder is a wall of text — pick a subdirectory instead
- model
- clip
- MODEL
- CLIP
If you've ever opened ComfyUI's stock Lora Loader on a big collection, you know the pain. Everything in models/loras lands in one flat alphabetical dropdown, with subfolder names baked into the entry - cartoon/character_x_v2.safetensors, flux/style/y2k_10.safetensors - so finding the one you want means scrolling past three hundred entries you don't. This node is the standard Lora Loader with one extra dropdown in front: pick the subdirectory first, and the LoRA list shrinks to just that folder's files. Two 20-item lists instead of one 400-item list. That's the entire pitch, and it's a good one.
It looks almost identical to stock, which is deliberate. Same MODEL and CLIP sockets, same two strength sliders, same wiring into the KSampler. The only addition is the subdirectory field on top. The author's framing in the README is exactly right: it exists so you don't have to scroll or search through a long list.
How it works
At node-build time it walks your loras folder tree and collects every directory that contains at least one .safetensors file, sorts the list, and feeds it to the lora_directory dropdown. Then it builds a small dropdown per subdirectory holding that folder's LoRAs. Pick a directory, and the node reads the matching dropdown, resolves the file path, and applies it through ComfyUI's own load_lora_for_models - the same code path the stock loader uses. So the application is stock behavior; only the picking is filtered. The one thing it won't do, which the author calls out in the README: the subdirectory can't be specified as a string, because the dropdown's array type is what makes the list populate at all.
The inputs that matter
- model (MODEL) - your checkpoint's output. Required.
- clip (CLIP) - needed for SD1.5/SDXL LoRAs that patch the text encoder. Wire from the Checkpoint Loader.
- lora_directory - the new dropdown. This is the whole reason the node exists.
- strength_model (default 1.0, −100 to 100) - how hard to apply to the diffusion model. Negative inverts the effect.
- strength_clip (default 1.0) - same, for the CLIP side. 0.5–0.8 is a common starting point for style LoRAs rather than the default 1.0.
Outputs are MODEL and CLIP, feeding straight into the KSampler like any loader. Stack several of these nodes in a row and each hands the modified model down the line.
Install
Via ComfyUI Manager, search "lorasubdirectory" (the pack title), install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/Hax0r778/lorasubdirectory
Then restart ComfyUI. That's genuinely it - the project declares zero pip dependencies, downloads no models, and has no install script.
The honest part
Time for full disclosure, because this is a beginner's page and you'd waste an afternoon here otherwise. This pack is brand new - a single initial commit, version 1.0.1, essentially zero community footprint (no measurable search impressions, no reddit signal) - and the code as shipped has bugs in the execution path. The dropdowns populate fine, but the first time you actually queue the graph you'll hit AttributeError: 'LoraSubdirectory' object has no attribute 'loaded_lora'. The author's LoRA-caching code reads a variable that is never initialized in __init__. There's also a kwars typo (should be kwargs) in the "skip early when both strengths are zero" fast path. As of this writing the node won't complete a run.
The idea is sound and the pattern is worth stealing; the implementation isn't finished. Your options: patch nodes.py yourself (initializing self.loaded_lora = None in __init__ fixes the first crash), or reach for a loader that already works - rgthree's Power Lora Loader is the one the community actually swears by and stacks multiple LoRAs in a single node. And remember, stock LoraLoader already shows subfolder-prefixed names; this pack just makes the list shorter. Which is the right fix for the right annoyance - once it actually runs.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The diffusion model the LoRA will be applied to. | |
| clip | CLIP | The CLIP model the LoRA will be applied to. | |
| lora_directory | COMBO | The subdirectory to populate the dropdown with | |
| strength_model | FLOAT | 1.00-100–100 | How strongly to modify the diffusion model. This value can be negative. |
| strength_clip | FLOAT | 1.00-100–100 | How strongly to modify the CLIP model. This value can be negative. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | The modified diffusion model. |
| CLIP | CLIP | The modified CLIP model. |