Nodes/ComfyUI-EreNodes/Prompt MultiSelect
ComfyUI Node

Prompt MultiSelect

Pick tags without letting the full list take over your canvas

By Erehr·Created about a year ago·Updated a day ago· 69
Prompt MultiSelect
    • STRING
    text
    prefix
    separator,\n\n

    Some tag lists are big. When you've got forty candidate tags and you only want five in the final prompt, showing all forty as a permanent wall of pills is noise. Prompt MultiSelect solves the compactness problem the sensible way: the node body only shows the tags that are active, and you add more by clicking into the empty space, which opens a dropdown of everything you left out. Small footprint on the canvas, full list still one click away.

    What it is

    One of the five tag-list widgets in ComfyUI-EreNodes (Erehr's prompt-management pack). It's the "selection-focused" sibling: Prompt Toggle and Prompt Cloud show your whole list and let you flip things on; MultiSelect inverts that - you only see what's selected, and the unselected pool lives behind a dropdown. That makes it the right choice when the node sits inside a busy workflow and you'd rather it not sprawl.

    Like the rest of the family, the tags it understands are more than plain words: LoRAs, embeddings, and saved Tag Groups all parse into pills, a LoRA pill shows its strength, and right-click brings up the quick-edit menu (including the click-drag strength control). The pack also lets you convert between all the sibling views from the ≡ menu, so starting in MultiSelect and switching to Gallery later costs nothing.

    How it works

    The Python node is the shared, boring bit - it joins prefix and text into one STRING output. All the behavior is in the frontend widget. The parsed tag list is stored on the node, the panel renders only the active tags as pills, and clicking the panel's empty area opens the dropdown of inactive ones to add more. Your output string is whatever's active at queue time.

    Inputs and outputs

    • text - your full tag list, multiline, comma- or newline-separated. Everything you might ever want, active or not.
    • prefix (optional) - a STRING prepended to the output.
    • Output - one STRING. Wire into CLIP Text Encode.

    Installing it

    ComfyUI Manager: search "EreNodes", install, restart. Manual route:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Erehr/ComfyUI-EreNodes.git
    

    Restart and look under EreNodes. The pack's only Python dependency is safetensors, which ComfyUI ships with - no extra installs to babysit.

    Gotchas

    If your selected tags include <lora:...> markup, that markup ends up in the output string verbatim - run it through the pack's Prompt to LoRA Stack node or a prompt-reading LoRA loader before the text encoder. And since this is a custom-DOM-widget node, keep an eye out under ComfyUI's Nodes 2.0 beta frontend; if the panel renders wrong, switching back to the legacy canvas is the known workaround.

    CategoryEreNodes

    Inputs (3)

    NameTypeDefaultDescription
    textSTRING
    prefixoptSTRING
    separatoroptSTRING,\n\n

    Outputs (1)

    NameTypeDescription
    STRINGSTRING