小珠光布尔
A boolean switch that looks like a button, not a checkbox
- boolean
ComfyUI's core boolean is a tiny checkbox, which is fine until you need to flip one from across the room on a big monitor - or you just want a workflow that doesn't look like a spreadsheet. 小珠光布尔 (Xiaozhuguang Boolean) renders as a big, resizable toggle with two chunky buttons instead of a checkbox. Click the side you want, and the boolean that comes out the port is what you clicked. It's a pure value source for the logic layer of your graph.
This is the kind of node the plumbing docs describe as "repetition and illegibility fighters": one boolean, one output, fan it out to every node that needs the same true/false. Pair it with the pack's own DataBlock or CompareDataBlock and you've got a visible on/off switch controlling whole branches of a workflow.
How it works
Under the hood it's a BOOLEAN input with a default of false, passed straight through to a BOOLEAN output. The interesting part is the front end: the node is freely resizable, and the two buttons scale to fill whatever shape you give it, keeping their width ratio intact. The font size clamps so text never overflows the buttons. There's also a _xz_settings string input, which is the pack's convention for persisting appearance settings (label colors, widths, that kind of thing) into the workflow - you can mostly ignore it, but don't delete it or the saved look resets.
The inputs and output
boolean_value- the toggle, default off. Convert it to an input if you want to drive it from somewhere else._xz_settings- internal appearance storage; leave it alone unless you know what you're doing.
Output: boolean (BOOLEAN), ready to fan into any boolean-consuming input or logic node.
Install
It's in the ComfyUI-xiaozhuguang pack - Manager (search "ComfyUI-xiaozhuguang"), or:
cd ComfyUI/custom_nodes/
git clone https://github.com/xiaozhuguang/ComfyUI-xiaozhuguang.git
Restart. Zero dependencies beyond what ComfyUI already has.
Gotcha
The only real footgun is the same one that hits every boolean in ComfyUI: a boolean is a value, not a wire-state. If you convert boolean_value to an input and connect another node's output, you've overridden the button - the button becomes decoration. Use it as a standalone source, or wire it from upstream, but don't expect the button to win when both are set. And note this pack is bilingual - in a Chinese UI it's "小珠光布尔", English UI "Xiaozhuguang Boolean". Same node.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| boolean_value | BOOLEAN | false | — |
| _xz_settings | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| boolean | BOOLEAN | — |