Boolean AND
Boolean AND — the gate that only passes when both inputs agree
- result
ComfyUI workflows get conditional fast. "Only upscale if the batch is big enough" or "only apply this LoRA when that flag is on" - that's boolean logic, and this node is the AND gate that makes it composable. It takes two booleans, and outputs true only when both are true. One false input and the result is false. That's the entire job, and for a logic node that's the entire point.
It's from the Utilitools pack, alongside its siblings Boolean OR and Boolean NOT. The inputs are a and b, both BOOLEAN, both defaulting to true. The single output is result, also BOOLEAN. Wire two conditions in, get one combined condition out.
How it works and why you'd chain it
The mechanism is literally Python's a and b - short-circuit and. If a is false, b isn't even consulted; the result is false. If both are true, you get true. Simple, deterministic, boring - which is exactly what you want from a logic gate.
Where it earns its place: combining multiple conditions that all have to hold before a downstream action happens. The natural pattern in this pack is to feed an AND gate into the pack's If Then Else node. Build two conditions (from other nodes, from a comparison, from a manual toggle), AND them together, and use the result to branch a workflow - if the combined condition is true, run the "if_true" path; otherwise the "else" path. Boolean gates on their own don't do anything visible; they only matter when they're feeding a branch, a switch, or a control input somewhere.
The default-true gotcha
Watch the defaults. Both a and b default to true, which means a freshly dropped AND node outputs true with nothing connected. That's not a bug - it's so you can wire up just one condition and leave the other as an always-true placeholder - but it does mean an unconnected AND silently passes through as true rather than blocking. If you expect "empty = off," this node will disappoint you. The same logic applies to the pack's OR node (defaults to false) - know each gate's default and you won't be surprised by the output.
Installing it
Standard Utilitools install:
cd ComfyUI/custom_nodes
git clone https://github.com/aesethtics/ComfyUI-Utilitools
or search "Utilitools" in ComfyUI Manager and restart ComfyUI. It's under Utilitools → Logic. No dependencies, no model files - the whole pack is pure Python. It's a tiny, no-community pack, but the AND/OR/NOT trio gives you real boolean logic for your graphs, and they work exactly the way the truth table says they do.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| a | BOOLEAN | true | — |
| b | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| result | BOOLEAN | — |