Prompt Toggle
A checkbox list that writes your prompt for you
- STRING
A/B testing prompt tags is a chore: type a variant, render, edit the text, render again. Prompt Toggle turns that loop into clicking switches. Each tag in your list gets its own row with an on/off toggle, and the node's output is just the tags that are currently switched on. Turn sunset off, flip night on, hit queue - no retyping, no typo risk.
What it is
It's one of the five interchangeable tag-list widgets in ComfyUI-EreNodes (Erehr's prompt-management pack), and the most literal of them: a vertical list of rows, each with a switch knob. The active row lights up in the tag type's color; inactive rows go gray. LoRAs, embeddings, and saved Tag Groups are all first-class citizens - a LoRA row shows its strength, and you can right-click for the quick-edit menu or click-drag to change that strength on the fly.
If you've seen the other siblings, this is the same engine with a different view. Multiline is the plain text editor, Cloud is the all-tags-at-once flow, MultiSelect shows only what's active, and Gallery is the image-grid version. The pack even lets you convert between them from the node's ≡ menu, so Toggle is a good default when you want to see everything and flip things on and off deliberately.
How it works
The Python class is minimal - like every node in the pack, it joins your prefix and text into one STRING output. Everything user-facing lives in the frontend widget: your text gets parsed into individual tags (including <lora:...> markup), rendered as toggle rows, and each row's active state is stored on the node itself. The output string is rebuilt from whichever tags are active at execution time. What you see is genuinely what you get - if a tag is grayed out, it's not in the output.
Inputs and outputs
- text - your tag list, multiline. Comma- or newline-separated. This is the working list you toggle through.
- prefix (optional) - a STRING prepended to the output. Put your stable quality tags here so you never accidentally switch them off.
- Output - one STRING. Wire into CLIP Text Encode for positive or negative prompts.
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 the nodes sit under EreNodes. The pack's only Python dependency is safetensors, which ComfyUI already ships - no extra pip installs.
Gotchas
Two small things. First, if you use <lora:...> tags in the list, the raw markup ends up in the output string; feed that through the pack's Prompt to LoRA Stack node or a prompt-reading LoRA loader, or your text encoder will try to encode the angle brackets literally. Second, this whole pack is custom DOM widgets, so if you're running ComfyUI's Nodes 2.0 beta frontend and rows render wrong, drop back to the legacy canvas - that's the known escape hatch for frontend-heavy packs like this one.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| prefixopt | STRING | — | |
| separatoropt | STRING | ,\n\n | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |