Nodes/1825Toolkit/πŸ”‘ 1825 - Load LoRA From Local Path
ComfyUI Node

πŸ”‘ 1825 - Load LoRA From Local Path

Your LoRAs don't live in models/loras? This loader just takes a path

By SpaceCollectorsΒ·Created 3 months agoΒ·Updated 3 months agoΒ· 0
πŸ”‘ 1825 - Load LoRA From Local Path
  • model
  • clip
  • MODEL
  • CLIP
  • resolved_path
β—„lora_pathC:/path/to/your/lora.safetensorsβ–Ί
β—„strength_model1.00β–Ί
β—„strength_clip1.00β–Ί

The stock ComfyUI LoRA loader only sees what's inside models/loras. If your LoRAs live on a second drive, in a shared folder, or on a NAS you mount over the network, the dropdown just won't show them - and the usual answer is "well, copy the file into the models folder," which is fine until the file is 2 GB and you have forty of them. LocalPathLoraLoader (πŸ”‘ 1825 - Load LoRA From Local Path) is the first node in the 1825Toolkit pack, and it does exactly one job: load a LoRA from any absolute path on disk instead of the managed folder.

Fair warning up front: this is a brand-new personal-suite release, not a battle-tested mega-pack. The README says as much - one carefully-built node, more to come. There's no community reputation behind it yet, so you're choosing it for the specific problem it solves, not because everyone runs it.

How it works

Under the hood it's still ComfyUI's normal LoRA plumbing - the source just calls comfy.sd.load_lora_for_models the same way the stock loader does. What's different is the path handling around it:

  • Paste-tolerant paths. The path field strips surrounding single or double quotes and runs everything through os.path.normpath, so mixed C:\ and C:/ slashes just work. This is the "Copy as path" from Windows Explorer pasted straight in - no manual backslash fixing.
  • Loud errors, not silent failures. A missing file raises a FileNotFoundError that names both the raw string you pasted and the resolved path. You don't get a cryptic backend crash; you get "here's what I looked for."
  • RAM caching, keyed on (path, mtime, size). Re-run the workflow and the file isn't re-read. Overwrite the file (say, after retraining) and the mtime changes, so the cache invalidates on its own. The node's IS_CHANGED returns the mtime too, which is what tells ComfyUI to actually re-run after you retrain.
  • No memory-mapping. LoRA files are read into memory in 8 MB chunks. The point is that a network share stalling mid-read surfaces as a catchable Python error showing how many MB made it, instead of an OS page-fault that hard-crashes ComfyUI.

The inputs that matter

You'll set exactly three things:

  • lora_path - the absolute path to your .safetensors (also accepts .pt/.ckpt). Paste it, don't type it.
  • strength_model and strength_clip - both default to 1.0, range βˆ’20 to 20. Set both to 0 and the node doesn't even load the file; it passes the pipes through untouched.

model is required; clip is optional. Leave clip unconnected and the CLIP patch is skipped - handy for UNet-only pipelines where you're not using a text encoder path. Outputs are the patched MODEL, the patched (or None) CLIP, and resolved_path - a plain string you can wire into a Show Text node to verify the quote/slash cleanup did what you expected. That third output is a genuinely nice touch for debugging a path that "should" work.

Installing

Via ComfyUI Manager, search for 1825Toolkit and click install. Or manually:

cd ComfyUI/custom_nodes
git clone https://github.com/SpaceCollectors/ComfyUI-1825Toolkit.git

Restart ComfyUI and it appears under 1825 Toolkit/Loaders. No model downloads, no extra Python dependencies - the pyproject.toml ships an empty dependency list, so there's nothing to pip install that ComfyUI doesn't already have.

Where people get burned

Most failures here are path problems, and the errors are designed to tell you which:

  • FileNotFoundError - wrong or mistyped path, or a drive that isn't mounted. The error shows the resolved path, so check it against the file's actual location.
  • Network-share stalls - you'll get the I/O error with transfer stats. The author's own advice baked into the error: copy the file to a local disk or check the SMB link.
  • Corrupt or incomplete downloads - the parser wraps failures in a clear "failed to parse the LoRA file" error. That one's a real trap with big Flux LoRAs that die mid-download.
  • Unusual extension warning - .bin gets a soft warning; not fatal, but it's the node telling you "that might not be a LoRA."

One more thing, and it's not the node's fault: a LoRA that loads but does nothing is almost always a compatibility problem - Flux LoRA on SDXL, or a missing trigger word, or CLIP skip needing to be βˆ’2 on anime models. No loader fixes that; LocalPathLoraLoader just makes sure the right file actually got in.

Category1825 Toolkit/Loaders

Inputs (5)

NameTypeDefaultDescription
modelMODELDiffusion model to patch with the LoRA.
lora_pathSTRINGC:/path/to/your/lora.safetensorsAbsolute path to the LoRA file (.safetensors/.pt/.ckpt). Paste straight from Explorer's 'Copy as path' - surrounding quotes are stripped and slashes are normalized automatically. Forward or back slashes both work. The cleaned path is shown on the 'resolved_path' output.
strength_modelFLOAT1.00-20–20How strongly the LoRA modifies the MODEL (UNet). 1.0 = full strength, 0.0 = no effect, negative inverts. If both strengths are 0.0 the file is not loaded at all.
strength_clipFLOAT1.00-20–20How strongly the LoRA modifies the CLIP text encoder. 1.0 = full strength, 0.0 = no effect, negative inverts. Ignored when no CLIP is connected.
clipoptCLIPCLIP text encoder to patch. Optional - leave it unconnected for UNet-only pipelines; the clip patch is then skipped and the CLIP output passes through as None.

Outputs (3)

NameTypeDescription
MODELMODELThe input MODEL patched with the LoRA (unchanged if both strengths are 0).
CLIPCLIPThe input CLIP patched with the LoRA (passes through unchanged, or None if no CLIP was connected).
resolved_pathSTRINGThe sanitized, OS-normalized path that was actually loaded - wire to a Show Text node to verify the quote/slash cleanup.