Boolean List
64 switches in one node, saved right into your workflow
- Boolean 1
- Boolean 2
- Boolean 3
- Boolean 4
- Boolean 5
- Boolean 6
- Boolean 7
- Boolean 8
- Boolean 9
- Boolean 10
- Boolean 11
- Boolean 12
- Boolean 13
- Boolean 14
- Boolean 15
- Boolean 16
- Boolean 17
- Boolean 18
- Boolean 19
- Boolean 20
- Boolean 21
- Boolean 22
- Boolean 23
- Boolean 24
- Boolean 25
- Boolean 26
- Boolean 27
- Boolean 28
- Boolean 29
- Boolean 30
- Boolean 31
- Boolean 32
- Boolean 33
- Boolean 34
- Boolean 35
- Boolean 36
- Boolean 37
- Boolean 38
- Boolean 39
- Boolean 40
- Boolean 41
- Boolean 42
- Boolean 43
- Boolean 44
- Boolean 45
- Boolean 46
- Boolean 47
- Boolean 48
- Boolean 49
- Boolean 50
- Boolean 51
- Boolean 52
- Boolean 53
- Boolean 54
- Boolean 55
- Boolean 56
- Boolean 57
- Boolean 58
- Boolean 59
- Boolean 60
- Boolean 61
- Boolean 62
- Boolean 63
- Boolean 64
Let's say you've got a workflow with a dozen feature switches - use refiner, apply LoRA stack, enable face detailer, outpaint, whatever. You've been solving that with a row of Primitive nodes, which means a row of tiny widgets and a ball of wires that migrates on every workflow save. Boolean List is the "put them in one place" answer: one node, up to 64 named boolean toggles, each with its own output socket, and the whole configuration rides along inside the workflow file itself.
It's the kind of node that's boring to describe and quietly transformative to use. Instead of a scattered control panel, you get a single node that is the control panel. And because the toggle configuration is stored in the node's properties (the front-end writes it to the workflow JSON), your switches, their labels, and their current values survive closing and reopening the workflow - no re-clicking every checkbox from scratch.
How it works
The backend exposes 64 BOOLEAN outputs, named Boolean 1 through Boolean 64, and reads the actual toggle configuration from the workflow's node properties via extra_pnginfo. Anything you don't define a value for defaults to False, and the outputs you don't use are simply never wired - ComfyUI won't complain about the unused ones. The front-end script (web/boolean_list.js) provides the editing panel where you add, remove, label, and toggle entries.
The inputs and outputs that matter
No inputs at all - it's a pure source node. On the output side, only the two things you need:
- The 64
BOOLEANsockets - wire the ones you care about into anything that takes a boolean: sampler toggles,Boolean Group Bypass Controller, switch nodes, conditional logic. - Workflow persistence - the real "output" is the saved config, which is why reopening the file keeps your switches where you left them.
If you want one switch that a dozen nodes read, this is also your answer: wire a single output to as many consumers as you like.
How to install it
Ships in the DAELab pack - ComfyUI Manager, search "ComfyUI-DAELab-Custom-Nodes-Library", or:
cd ComfyUI/custom_nodes
git clone https://github.com/TeutonicMepheles/ComfyUI-DAELab-Custom-Nodes-Library
then restart. No models, no extra dependencies. This node uses the V3 node API, so if ComfyUI's log throws No module named 'comfy_api', update ComfyUI Core rather than installing some pip package with the same name.
Common issues & troubleshooting
"I toggled a switch and my workflow output didn't change." Boolean outputs feed whatever you wired them to - this node only sets the value. If the consumer node caches results (ComfyUI's caching can skip re-running an unchanged node), force a fresh run or make sure the downstream node actually reads the boolean.
"My switches reset to default." The config is stored in the workflow JSON. If you saved the workflow before the front-end wrote the config, or opened it in a viewer that strips node properties, the state won't stick. Re-toggle and re-save.
Inputs (0)
No inputs
Outputs (64)
| Name | Type | Description |
|---|---|---|
| Boolean 1 | BOOLEAN | — |
| Boolean 2 | BOOLEAN | — |
| Boolean 3 | BOOLEAN | — |
| Boolean 4 | BOOLEAN | — |
| Boolean 5 | BOOLEAN | — |
| Boolean 6 | BOOLEAN | — |
| Boolean 7 | BOOLEAN | — |
| Boolean 8 | BOOLEAN | — |
| Boolean 9 | BOOLEAN | — |
| Boolean 10 | BOOLEAN | — |
| Boolean 11 | BOOLEAN | — |
| Boolean 12 | BOOLEAN | — |
| Boolean 13 | BOOLEAN | — |
| Boolean 14 | BOOLEAN | — |
| Boolean 15 | BOOLEAN | — |
| Boolean 16 | BOOLEAN | — |
| Boolean 17 | BOOLEAN | — |
| Boolean 18 | BOOLEAN | — |
| Boolean 19 | BOOLEAN | — |
| Boolean 20 | BOOLEAN | — |
| Boolean 21 | BOOLEAN | — |
| Boolean 22 | BOOLEAN | — |
| Boolean 23 | BOOLEAN | — |
| Boolean 24 | BOOLEAN | — |
| Boolean 25 | BOOLEAN | — |
| Boolean 26 | BOOLEAN | — |
| Boolean 27 | BOOLEAN | — |
| Boolean 28 | BOOLEAN | — |
| Boolean 29 | BOOLEAN | — |
| Boolean 30 | BOOLEAN | — |
| Boolean 31 | BOOLEAN | — |
| Boolean 32 | BOOLEAN | — |
| Boolean 33 | BOOLEAN | — |
| Boolean 34 | BOOLEAN | — |
| Boolean 35 | BOOLEAN | — |
| Boolean 36 | BOOLEAN | — |
| Boolean 37 | BOOLEAN | — |
| Boolean 38 | BOOLEAN | — |
| Boolean 39 | BOOLEAN | — |
| Boolean 40 | BOOLEAN | — |
| Boolean 41 | BOOLEAN | — |
| Boolean 42 | BOOLEAN | — |
| Boolean 43 | BOOLEAN | — |
| Boolean 44 | BOOLEAN | — |
| Boolean 45 | BOOLEAN | — |
| Boolean 46 | BOOLEAN | — |
| Boolean 47 | BOOLEAN | — |
| Boolean 48 | BOOLEAN | — |
| Boolean 49 | BOOLEAN | — |
| Boolean 50 | BOOLEAN | — |
| Boolean 51 | BOOLEAN | — |
| Boolean 52 | BOOLEAN | — |
| Boolean 53 | BOOLEAN | — |
| Boolean 54 | BOOLEAN | — |
| Boolean 55 | BOOLEAN | — |
| Boolean 56 | BOOLEAN | — |
| Boolean 57 | BOOLEAN | — |
| Boolean 58 | BOOLEAN | — |
| Boolean 59 | BOOLEAN | — |
| Boolean 60 | BOOLEAN | — |
| Boolean 61 | BOOLEAN | — |
| Boolean 62 | BOOLEAN | — |
| Boolean 63 | BOOLEAN | — |
| Boolean 64 | BOOLEAN | — |