ControlAltAI: Boolean Basic
The four-line node that stops you toggling the same switch five times
- BOOLEAN
It's a boolean. A checkbox in, the same checkbox out. The whole implementation is basically return (boolean,), and if you saw this node in a menu you'd be forgiven for thinking someone shipped a placeholder.
The reason it earns its place is the thing you build with it: one source of truth for a flag that several nodes need. Right-click any toggle widget anywhere in ComfyUI → Convert widget to input, and that checkbox becomes a socket. Then wire Boolean Basic into all of them and flip one node instead of chasing five. That's the whole value proposition, and it's the same trick the plumbing layer is built on - one authoritative value, fanned out to every consumer.
How it works
Nothing to it: one required widget called boolean (default off), one output socket of type BOOLEAN. Whatever you set goes straight through, unchanged, with no conversion and no state. It doesn't read anything, doesn't cache, doesn't run a model - it costs nothing per queue.
Because both the input and output are plain BOOLEAN, everything downstream must expect a boolean. Nice pairings: a node with a bypass toggle, a LoRA stacker with a master on/off, a group-bypass-style switch, or one of the pack's own logic nodes - the Integer Settings family below it turns this boolean into the 1/2 an A/B switch wants.
Inputs and outputs
boolean- required widget, defaultFalse. Note it's a widget, not a socket, so this is where the convert-to-input step comes in if you want to drive it from another node.- output
BOOLEAN- the same value, out.
That's the entire schema. There is no second output, no label, no label_on/label_off text (the sibling Integer Settings node has those; this one doesn't).
Installing it
It ships in the Nunchaku Flux LoRA Stacker pack, which is a bit of a grab bag: a FLUX LoRA stacker, a Florence-2 captioning suite, a TensorRT CCSR upscaler, and this ControlAltAI utility set, all in one repo. Install via ComfyUI Manager (search ComfyUI-NunchakuFluxLoraStacker), or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/ussoewwin/ComfyUI-NunchakuFluxLoraStacker.git
pip install -r requirements.txt
Then restart ComfyUI. No model downloads, nothing GPU-specific - but do install the full requirements.txt rather than hand-picking, because the pack's CCSR half imports pytorch-lightning, taming-transformers, omegaconf, einops and open-clip-torch at load time. Miss those and the entire pack fails to import, which means zero nodes from it, not just the upscaler. The other direction is fine: if the nunchaku wheel won't install on your setup (AMD/ROCm, odd CUDA builds), the pack guards those imports and still loads everything else.
If something's off
The node is in the menu but the toggle does nothing. Almost always the widget-applying-before/after-queue thing: ComfyUI's "widget control mode" setting decides whether the value you just clicked in is the one the current run uses. Set it to Before once and stop thinking about it.
Every node from this pack is missing. That's an import failure, not a missing file. Open the console and look for the traceback - nine times out of ten it's a pip dependency from requirements.txt that didn't land, or the hswq_ class-name prefix confusing a workflow saved against the old ControlAltAI pack (gseth/ControlAltAI-Nodes). The two packs use different class names on purpose so they can coexist, which means an old graph referencing BooleanBasic won't resolve to this node.
Honest note: ComfyUI core ships PrimitiveBoolean, which does exactly the same job. If you're not otherwise using the ControlAltAI logic chain - Boolean Basic, Integer Settings, Switch (Two Way) - there's no reason to prefer this one. It's here because it's part of a set that's designed to click together.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| boolean | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BOOLEAN | BOOLEAN | — |