Boolean
The Boolean node is a checkbox. That's more useful than it sounds.
- BOOLEAN
Of all the primitive nodes, Boolean is the one people stare at and ask "what is this for?" It's a checkbox that outputs a BOOLEAN. That's the entire node. But when you've been in ComfyUI long enough to hit the wall where a single toggle controls three different things, the checkbox stops looking silly.
PrimitiveBoolean is the bool sibling of Float and Int in the utilities/primitive family: one input (value, a true/false switch), one output (BOOLEAN), and a pass-through execute that just hands the value along. It ships in core - no install, no models.
How it works
Zero mystery here. You get a checkbox on the node, it outputs whatever state you clicked. The interesting part is where a BOOLEAN socket actually goes. Stock ComfyUI keeps most on/off toggles as inline widgets on the nodes that own them, so a bare boolean input is rarer than float or string sockets in default workflows. You'll actually meet this node in two places:
- When you Convert a toggle to input. Right-click a checkbox widget on some node → Convert to input → ComfyUI swaps it for a socket and materializes a Boolean node on the canvas. Now that toggle is shareable: flip one checkbox to flip every consumer at once.
- Feeding custom nodes. Plenty of extension nodes - face-fixing pass toggles, ControlNet enable flags, anything with a boolean input socket - take their value from a shared Boolean primitive. The Impact Pack world and similar post-processing chains are where this node does its best work, because they're the workflows with booleans everywhere.
Why you'd actually reach for it
The honest answer: you won't start a workflow with a Boolean node. You'll start one, decide a toggle needs to be shared or routed, and suddenly there it is. The classic pattern is a "master switches" cluster - one row of Boolean nodes controlling face restore, upscaling, and denoise passes so you can turn whole behaviors on and off from a single glance instead of digging through nested nodes. That's exactly the kind of workflow-maintenance problem ComfyUI's power users reach for the graph to solve, and it's why quality-of-life packs built entire businesses on the same idea with fancier wrappers.
How you get it
Part of ComfyUI core, utilities/primitive category. It's been in the family since the backend primitive nodes landed in March 2025, and the frontend had been generating boolean primitives from converted widgets for years before that. Nothing to install.
Common issues
- "Why won't this wire connect?"
BOOLEANsockets only match other boolean sockets, and there aren't many in core. If a node shows an integer or combo input where you wanted to plug a checkbox, that node isn't going to take a boolean - find the node's own toggle instead. - It doesn't math. Boolean is not 0/1 in the graph sense. Some custom nodes expose
INT(0/1) toggles, and those won't accept aBOOLEANwire. If a toggle accepts only an integer, use the Int node and stick to 0 or 1. - Checkbox blindness. A tiny checkbox on a wide canvas is easy to miss. Name the node or group it, because "why is my face detailer off" is usually a silent unchecked box three screens away.
It's the quietest node in the family, but the one that turns a scattered set of switches into a control panel. Once you've built a master-switch cluster you'll never go back to hunting for buried toggles.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| value | BOOLEAN | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BOOLEAN | BOOLEAN | — |