Autocomplete++ Integrations Controller
LoRA filenames vs LoRA paths, decided per workflow
- passthrough
- passthrough
Three inputs, and one of them solves the single most common "I downloaded your workflow and the LoRAs don't load" problem in ComfyUI.
That's lora_path_mode. When you pick a <lora:...> suggestion, the extension can insert the bare filename or the full relative path. Filename Only gives you <lora:my_style_v2:0.8>, which resolves no matter where in models/loras the file sits. Full Path gives you <lora:anime/styles/my_style_v2:0.8>, which breaks instantly if your copy lives in a different folder - or in the root. Auto is the sensible default: clean filenames normally, with a fallback to relative paths exactly when you have duplicate LoRA names in different subfolders and the short name would be ambiguous.
So the workflow-embedded answer to that class of bug is: paste the workflow into a controller with Filename Only, done. Your global preference can stay on Auto or Full Path for the organised library you actually maintain.
The other two inputs
enable_lora_embedding toggles the <lora: and embedding: (or emb:) suggestion popups entirely. Off is the setting you want when you're writing prose prompts for a natural-language model and the LoRA popup keeps hijacking the embedding: prefix. You also get preview thumbnails with the list.
lora_manager_mode controls the hook-up with the separate ComfyUI-Lora-Manager pack, and it's the interesting one. With LoRA Manager installed, Autocomplete++ starts talking to its API - /api/lm/loras/list, /api/lm/settings and friends - to pull your notes, recommended weights, base model, Civitai and Hugging Face links, local preview images and stored prompt presets. That powers two things you'll notice: typing <trigger: lists trigger words for every LoRA loaded in the workflow, and pressing F1 (or clicking INFO) on a trigger word opens the LoRA details view. Enabled, Disabled, or Default (From Settings); the underlying global setting has an Auto sniff that detects LoRA Manager for you. Turning it Disabled per-workflow is the tidy way to stop the extension from querying a LoRA Manager you've deliberately left out of a minimal setup.
As with the rest of the pack, this is a settings override, not a compute node: the active controller's widget values get read from the canvas by the frontend. The Python class is a no-op that returns its input. Its one socket is an optional passthrough of type * - ComfyUI's accept-anything type - which is echoed straight back out, so you can thread it inline through a MODEL or CLIP chain for graph tidiness, but nothing requires it.
Installing
ComfyUI Manager: search Autocomplete++ and install the pack, then restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/michikora/ComfyUI-Autocomplete-Plus-Plus.git
Restart ComfyUI and hard-refresh the browser tab. pyproject.toml declares dependencies = [] and there's no requirements file, so nothing gets pip-installed and no models are downloaded - the tag CSVs are in the repo. Optional: install ComfyUI-Lora-Manager separately if you want the trigger-word and details-view integration this node controls.
Autocomplete++ is michikora's refactor of newtextdoc1111's ComfyUI-Autocomplete-Plus, which came from DominikDoom's a1111 tagcomplete extension. Solo project, MIT, forks welcome, PRs not accepted, issue responses slow - budget for self-service.
What goes wrong
- LoRA suggestions insert, loader errors. Path mode. Switch the workflow's controller to
Filename Onlyand re-pick the tag; you can also checkSettings → Autocomplete++ → Models & Integrations → LoRA Path Completion Modeif the node is onDefault. A workflow usingFull Pathwhile yourmodels/lorasis flat is exactly the failure people hit. - Trigger words or the details view do nothing.
lora_manager_modeisDisabled, or LoRA Manager isn't installed, or its server route moved. Set the controller back toDefault (From Settings)/Autoand confirm the other pack loaded cleanly. - Nothing in this node applies. The controller has to be on the canvas, un-muted (
Ctrl+M) and un-bypassed (Ctrl+B). Muting is the intended preset switch - with several controllers of a type, the last one you touched wins, and the newest node wins if there's no interaction history. Node 2.0 shows anActive/Inactivebadge saying which one is live; the legacy canvas doesn't draw it, but the arbitration still happens. - LoRA popup works here, not in that one node. The extension hooks ComfyUI's shared multiline text widget, so packs that build their own text area don't get it. Try right-click →
Autocomplete++→Force override this node type, or set it per node from the same menu.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| enable_lora_embedding | COMBO | Default (From Settings) | 3 options: Default (From Settings), Enabled, Disabled |
| lora_path_mode | COMBO | Default (From Settings) | 4 options: Default (From Settings), Auto, Filename Only, Full Path |
| lora_manager_mode | COMBO | Default (From Settings) | 3 options: Default (From Settings), Enabled, Disabled |
| passthroughopt | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| passthrough | * | — |