New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Author ComfyUI-LoRA-Manager nodes from the panel

by artokun · MIT license · ★ 759 on GitHub · updated Sep 21

ComfyUI-LoRA-Manager cover

Author ComfyUI-LoRA-Manager nodes from the panel. Use when adding a LoRA Manager loader, stacker, prompt, or text node, or when panel_add_node refuses AUTOCOMPLETE_TEXT_LORAS / AUTOCOMPLETE_TEXT_PROMPT after waiting for a widget.

---
name: lora-manager
description: Author ComfyUI-LoRA-Manager nodes from the panel. Use when adding a LoRA Manager loader, stacker, prompt, or text node, or when panel_add_node refuses AUTOCOMPLETE_TEXT_LORAS / AUTOCOMPLETE_TEXT_PROMPT after waiting for a widget.
---

# ComfyUI-LoRA-Manager

[ComfyUI-LoRA-Manager](https://github.com/willmiao/ComfyUI-Lora-Manager) (willmiao)
registers Vue autocomplete widgets via `getCustomWidgets()`. Those widgets
are healthy in the ComfyUI menu, and drag-from-palette works, but **`panel_add_node`
cannot add the nodes that require them**.

The add-node guard polls `app.widgets` for a constructor. ComfyUI 1.49+ stores
`getCustomWidgets()` results in the frontend widget store, not on `app.widgets`.
The wait always expires after 5s. Reload, `panel_refresh_nodes`, and retry
**cannot** clear it. That refusal is not a missing pack.

## Which nodes `panel_add_node` will actually add

Overview

ComfyUI-LoRA-Manager (willmiao) registers Vue autocomplete widgets via getCustomWidgets(). Those widgets are healthy in the ComfyUI menu, and drag-from-palette works, but panel_add_node cannot add the nodes that require them.

Manual install (npx, ZIP)
Claude Codenpx skills add artokun/comfyui-mcp --skill lora-manager -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/artokun/comfyui-mcp/tar.gz/1d5b12b1b499 \ | tar -xz -C ~/.claude/skills --strip-components=3 comfyui-mcp-1d5b12b1b499/plugin/skills/lora-manager
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/53e264d9c0b1a089016d/lora-manager.zip" -OutFile "$env:TEMP\lora-manager.zip"; Expand-Archive "$env:TEMP\lora-manager.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md2.8 KB
Read the files here
artokun/1d5b12b1 file
SKILL.md
Show the full text65 lines

ComfyUI-LoRA-Manager

ComfyUI-LoRA-Manager (willmiao) registers Vue autocomplete widgets via getCustomWidgets(). Those widgets are healthy in the ComfyUI menu, and drag-from-palette works, but panel_add_node cannot add the nodes that require them.

The add-node guard polls app.widgets for a constructor. ComfyUI 1.49+ stores getCustomWidgets() results in the frontend widget store, not on app.widgets. The wait always expires after 5s. Reload, panel_refresh_nodes, and retry cannot clear it. That refusal is not a missing pack.

Which nodes panel_add_node will actually add

Works Refuses (AUTOCOMPLETE_TEXT_*)
LoRA Text Loader (LoraManager) Lora Loader (LoraManager)
core LoraLoader Lora Stacker (LoraManager)
core LoraLoaderModelOnly WanVideo Lora Select (LoraManager)
Text (LoraManager)
Prompt (LoraManager)

LoRA Text Loader (LoraManager) is the same backend as Lora Loader (LoraManager) (MODEL / CLIP / trigger_words / loaded_loras). The difference is the LoRA input: lora_syntax is a STRING socket (forceInput), so a regular string node or panel_set_widget can drive it.

Syntax (spaces or punctuation between entries):

<lora:lora_name:strength>
<lora:lora_name:model_strength:clip_strength>

Recipe — stack a LoRA from the panel

  1. panel_add_node(class_type="LoRA Text Loader (LoraManager)"). Do not add Lora Loader (LoraManager); it will wait 5s and refuse.
  2. Wire MODEL (and CLIP if you have one) through it.
  3. Drive lora_syntax with panel_set_widget or a wired STRING, e.g. <lora:style/foo.safetensors:0.8>.
  4. Put the node's trigger_words output into the prompt if the sidecar has any.

If LoRA Manager is not installed, use core LoraLoader and set lora_name / strength_model / strength_clip as usual.

Gotchas

  • The refusal names a tab reload. Do not follow that. The constructor will never appear on app.widgets.
  • panel_set_widget on text after a refused add never runs, because nothing was created. The working widget name is lora_syntax.
  • A freshly added Text Loader still needs lora_syntax written; an empty string loads no LoRA.

Sources

  • Official: https://github.com/willmiao/ComfyUI-Lora-Manager for node class names and the lora_syntax format from the pack; no vendor panel-authoring guide exists.
  • Empirical: the panel_add_node AUTOCOMPLETE_TEXT_* refusal, which nodes add cleanly, and the widget-store explanation from observed panel behavior in this repo.
1---
2name: lora-manager
3description: Author ComfyUI-LoRA-Manager nodes from the panel. Use when adding a LoRA Manager loader, stacker, prompt, or text node, or when panel_add_node refuses AUTOCOMPLETE_TEXT_LORAS / AUTOCOMPLETE_TEXT_PROMPT after waiting for a widget.
4---
5 
6# ComfyUI-LoRA-Manager
7 
8[ComfyUI-LoRA-Manager](https://github.com/willmiao/ComfyUI-Lora-Manager) (willmiao)
9registers Vue autocomplete widgets via `getCustomWidgets()`. Those widgets
10are healthy in the ComfyUI menu, and drag-from-palette works, but **`panel_add_node`
11cannot add the nodes that require them**.
12 
13The add-node guard polls `app.widgets` for a constructor. ComfyUI 1.49+ stores
14`getCustomWidgets()` results in the frontend widget store, not on `app.widgets`.
15The wait always expires after 5s. Reload, `panel_refresh_nodes`, and retry
16**cannot** clear it. That refusal is not a missing pack.
17 
18## Which nodes `panel_add_node` will actually add
19 
20| Works | Refuses (AUTOCOMPLETE_TEXT_*) |
21|---|---|
22| `LoRA Text Loader (LoraManager)` | `Lora Loader (LoraManager)` |
23| core `LoraLoader` | `Lora Stacker (LoraManager)` |
24| core `LoraLoaderModelOnly` | `WanVideo Lora Select (LoraManager)` |
25| | `Text (LoraManager)` |
26| | `Prompt (LoraManager)` |
27 
28`LoRA Text Loader (LoraManager)` is the same backend as `Lora Loader
29(LoraManager)` (MODEL / CLIP / `trigger_words` / `loaded_loras`). The difference
30is the LoRA input: `lora_syntax` is a **STRING socket** (`forceInput`), so a
31regular string node or `panel_set_widget` can drive it.
32 
33Syntax (spaces or punctuation between entries):
34 
35```
36<lora:lora_name:strength>
37<lora:lora_name:model_strength:clip_strength>
38```
39 
40## Recipe — stack a LoRA from the panel
41 
421. `panel_add_node(class_type="LoRA Text Loader (LoraManager)")`. Do **not** add
43 `Lora Loader (LoraManager)`; it will wait 5s and refuse.
442. Wire `MODEL` (and `CLIP` if you have one) through it.
453. Drive `lora_syntax` with `panel_set_widget` or a wired STRING, e.g.
46 `<lora:style/foo.safetensors:0.8>`.
474. Put the node's `trigger_words` output into the prompt if the sidecar has any.
48 
49If LoRA Manager is not installed, use core `LoraLoader` and set `lora_name` /
50`strength_model` / `strength_clip` as usual.
51 
52## Gotchas
53 
54- The refusal names a tab reload. **Do not follow that.** The constructor will
55 never appear on `app.widgets`.
56- `panel_set_widget` on `text` after a refused add never runs, because nothing
57 was created. The working widget name is `lora_syntax`.
58- A freshly added Text Loader still needs `lora_syntax` written; an empty
59 string loads no LoRA.
60 
61## Sources
62 
63- **Official:** https://github.com/willmiao/ComfyUI-Lora-Manager for node class names and the `lora_syntax` format from the pack; no vendor panel-authoring guide exists.
64- **Empirical:** the `panel_add_node` AUTOCOMPLETE_TEXT_* refusal, which nodes add cleanly, and the widget-store explanation from observed panel behavior in this repo.
65 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 759
Checked
Source
artokun/comfyui-mcp ↗
Creator
artokun · 44 listings
View creator

Similar skills

See all →
SkillMake Japanese TV-anime style videos with codeAnime celedenfunf/reelmimic · by edenfunfMake Japanese TV-anime style videos (MP4) with code — cel-shaded characters with tapered line art, big detailed eyes, hair clumps with a specular band, comedic anime reactions (sweat drop, anger vein, sparkle eyes, ≥< eyes, dot eyes, tears), painted skies with cumulus clouds, school/street/classroom/rooftop sets with time-of-day palettes, speed/focus lines, impact frames, dramatic zooms, smears, sakura petals and anime subtitles (CJK). Canvas 2D rendered frame by frame in headless Chrome, encoded with ffmpeg. Use when a reference video or brief calls for anime / 動畫 / 日系動畫 / アニメ / cel-shaded / slice-of-life / school romance / shōnen-style reactions, or when the video-clone router picks the anime-cel style. 2D only; characters are original (Hina, Ren) or new ones built on the same rig.★ 3.6k GitHub starsSkillDirect and produce a short film made entirely in codeLemo opuscarlemomo-ai/lemo-opuscar · by lemomo-aiDirect and produce a short film made entirely in code, in one of the styles of the Lemo-Opuscar library (e.g. Impasto Oil Painting 油画厚涂, Watercolor Brush 水彩笔刷, Ukiyo-e 浮世绘, Satellite Briefing 卫星简报, Exploded Teardown 产品拆解, Microscope Story 显微叙事). Use when the user asks for a video, film, short, promo, explainer or animation (视频、短片、动画、宣传片) in a named style, including data, science and product explainers built from real material such as satellite imagery, laser scans, CAD files or archive scans (数据解说、科普、产品拆解); when they want a film made about their own topic and haven't chosen a style (help them choose); or when they ask which film styles there are. Not for editing or converting existing video files.★ 3k GitHub starsSkillGenerate Ian-style Xiaohei illustrations for articles, postsdzhng/skills · by dzhngGenerate Ian-style Xiaohei illustrations for articles, posts, blogs, Notion documents, workflows, methods, processes, structures, states, metaphors, and opinions. Use when the user asks for weird, hand-drawn, Xiaohei, article, editorial, body illustrations, illustration ideas, shot lists, title removal, image edits, or image regeneration. By default, all image text and annotations are English, even when the source article is Chinese; only use another language when the user explicitly asks.★ 1.3k GitHub starsSkillCreating game art through Scenario MCP: spritesScenario game assetsscenario-labs/skills · by scenario-labsUse when creating game art through Scenario MCP: sprites, sprite sheets, icons, props, loot, tilesets and autotile terrain transitions, seamless tiles, isometric buildings, top-down maps, pixel art, UI buttons and panels, parallax background layers or depth planes for side-scrollers, and character or concept art; or when assets need transparent backgrounds, background removal, style-consistent variation batches, upscaling, pixel-grid cleanup, or PNG export for Unity, Godot, or Unreal.★ 854 GitHub starsSkillTrain custom LoRAs with ostris AI-ToolkitAI-Toolkit LoRA Trainer (WAN 2.2 & Z-Image)artokun/comfyui-mcp · by artokunTrain custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM image LoRAs). Use when the user wants to train a WAN or Z-Image LoRA; covers local + RunPod setup, dataset prep, key params, and using the result in a ComfyUI workflow.★ 759 GitHub starsSkillAnime/illustration text-to-imageANIMA 1.0 (Anima Base Ultra) Text-to-Image Workflowsartokun/comfyui-mcp · by artokunAnime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags + natural language; runs/trains on <6GB VRAM; includes anime inpainting via Anima-LLLite ControlNet★ 759 GitHub stars

More from artokun

SkillTrain custom LoRAs with ostris AI-ToolkitAI-Toolkit LoRA Trainer (WAN 2.2 & Z-Image)artokun/comfyui-mcp · by artokunTrain custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM image LoRAs). Use when the user wants to train a WAN or Z-Image LoRA; covers local + RunPod setup, dataset prep, key params, and using the result in a ComfyUI workflow.★ 759 GitHub starsSkillAnime/illustration text-to-imageANIMA 1.0 (Anima Base Ultra) Text-to-Image Workflowsartokun/comfyui-mcp · by artokunAnime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags + natural language; runs/trains on <6GB VRAM; includes anime inpainting via Anima-LLLite ControlNet★ 759 GitHub starsSkillAuthoring & Publishing ComfyUI Custom Nodesartokun/comfyui-mcp · by artokunAuthoring & publishing ComfyUI custom nodes to the Comfy Registry, covering node structure, pyproject.toml spec, comfy-cli publishing, and CI★ 759 GitHub starsSkillTrain a custom anime LoRA on the ANIMA base modelCitron Anima LoRA Trainerartokun/comfyui-mcp · by artokunTrain a custom anime LoRA on the ANIMA base model with Citron's local Gradio trainer (kohya sd-scripts), <6GB VRAM, character/style LoRAs; covers setup, dataset prep, training params, and using the result in the anima-base workflow★ 759 GitHub starsSkillDiscover Civitai models with the BUILT-IN downloadmodelCivitai + comfyui-mcpartokun/comfyui-mcp · by artokunDiscover Civitai models with the BUILT-IN download_model action:"search_civitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).★ 759 GitHub starsSkillDiagnose and fix video/image color OBJECTIVELYColor Correction (measure, don't eyeball)artokun/comfyui-mcp · by artokunDiagnose and fix video/image color OBJECTIVELY with the get_image (action:"analyze_color") tool (scopes/stats such as black/white points, contrast, saturation, clipping, cast) instead of eyeballing a contact sheet. Covers the "washed out" signature, why reference color-match (mkl/ColorMatch/ColorMatchAdobe) CAN'T add contrast a flat source lacks, the levels/contrast-stretch fix (core AdjustContrast / CurveEditor), the measure→fix→re-measure loop, the side-by-side sandbox pattern, and where to place the fix in a render graph (after decode, before save). Use when a render looks washed out / flat / dull / over-saturated / color-cast, or when deciding between a color-match and a contrast/levels fix.★ 759 GitHub stars