Auto LoRA Detector
The Auto LoRA Detector that everyone gets stuck on
- trigger_input
- status_report
- missing_loras_list
- downloaded_loras_list
- passthrough
The README for comfyui-smart-lora-downloader calls Auto LoRA Detector the star - the one-click fix for beginners, "just add your token and run." That framing is doing a lot of work. Because when you actually run this node, what it hands back is mostly a status report of your LoRA folder, an empty missing-LoRAs list, and a cheerful note telling you to go run a workflow so it can detect errors. People report exactly this: they add the node, wire it in, run, and get the same "LoRA not found" errors with no sign anything downloaded.
Here's the thing: the code that would make this node work is in the pack. It's just not wired up.
What's going on under the hood
The node's module contains three real pieces of logic. There's get_missing_loras_from_error, which parses ComfyUI validation errors for lines like lora_name: 'X' not in [...] and extracts the missing names. There's a genuinely smart LoRANameMatcher that normalizes filenames, strips version tags, splits camelCase, and runs multiple CivitAI search strategies with a similarity score. And there's process_workflow_error, which ties them together - detect missing LoRAs, search, download.
But the function ComfyUI actually executes when the node runs (detect_and_handle_loras) never calls any of that. It lists your LoRA directory, reports the count, and returns empty JSON for missing_loras_list and downloaded_loras_list. The error-parsing path is dead code as shipped. So you get a nicely formatted tour of your folder and none of the automation the name promises. That's not a configuration mistake on your end - it's the node.
The inputs it asks for:
- civitai_token - required for any download (which, as shipped, never happens).
- auto_download (default true) and check_missing (default true) - both honored only in the unwired path.
- trigger_input - optional, any type; connect something to it to "trigger" the check. Still doesn't reach the dead code.
Outputs are status_report, missing_loras_list, downloaded_loras_list, and a passthrough.
What to do instead
Use the pack's other nodes, which call the same engine and actually work:
- LoRAAutoDownloader - feed it the workflow's API-format JSON and it finds and downloads every missing LoRA. This is the one to reach for.
- WorkflowLoRAInterceptor - enable auto-mode and it scans workflows as they're queued.
Both do what Auto LoRA Detector claims. And the shared gotchas still apply: ComfyUI only scans models/loras/ at startup, so restart ComfyUI after any download before the Load LoRA node will see the new file, and the downloaded filename may differ from the workflow's reference - check the dropdown for something close.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/LargeModGames/comfyui-smart-lora-downloader
Restart ComfyUI. Only dependency is requests (already bundled). You'll still need a free CivitAI API token (Account Settings → API Keys) pasted in, whether you use this node or the working ones.
This is a small pack with an enthusiastic README and rough edges, and this is the roughest edge. If the next release wires process_workflow_error into the executed path, this node becomes genuinely nice - the reddit-era vision of "run a broken workflow and the missing LoRAs fix themselves" is a good one. As it stands today, treat Auto LoRA Detector as a placeholder and let its sibling do the work.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| civitai_token | STRING | Your CivitAI API token for downloading models | |
| auto_download | BOOLEAN | true | Automatically download missing LoRAs |
| check_missing | BOOLEAN | true | Check for missing LoRAs and report them |
| trigger_inputopt | * | Connect any input to trigger the check |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| status_report | STRING | — |
| missing_loras_list | STRING | — |
| downloaded_loras_list | STRING | — |
| passthrough | * | — |