ComfyUI Node

all

One boolean for 'every item passed' — and an empty list is True

By StableLlama·Created about a year ago·Updated 4 days ago· 48
all
  • list
  • result

If you've ever run a batch and wanted a single yes/no for "did every image pass my check?" - every face detected, every blur-score above the threshold - all is the node that collapses a whole data list of booleans into one answer. It's the Python all() builtin wearing a ComfyUI badge.

It's part of Basic data handling, StableLlama's zero-dependency utility pack. It's a tiny node - one input, one output - but it earns its place the moment you're chaining per-item checks and need a single decision signal downstream.

How it works

Feed it a data list of booleans and it returns True only if every element is truthy. One False anywhere and the whole thing returns False. This is exactly all() from Python, and it inherits one quirk that trips people up:

An empty list returns True. Logically "all zero items are true" is vacuously true, so Python says yes. If your list can legitimately be empty and that surprises you, guard against it - check the list length first with the pack's compare length or length node.

The input and output

  • list (*) - the data list of booleans (or truthy values) to check.
  • result (BOOLEAN) - True if everything passed, False otherwise.

A realistic use

Run a per-image quality check that emits a boolean per item - face detector found a face, sharpness above threshold, whatever your stack produces. Collect those booleans into a data list, feed them to all, and route the result into an if/else: all-passing means proceed to the upscale path, any-failure means send the whole batch to a repair branch. Pair it with the pack's any node (returns True if at least one item passed) to cover both directions of the same decision.

Installing it

ComfyUI Manager → search "Basic data handling", or:

cd ComfyUI/custom_nodes
git clone https://github.com/StableLlama/ComfyUI-basic_data_handling

Restart. No dependencies, no models.

Common issues

  • "Empty list gave me True and I didn't want that." The vacuously-true quirk again. Check the list is non-empty before you trust the answer.
  • "I want to know if at least one passed, not all." That's the any node in the same pack - all is strict, any is lenient.
  • "The list had non-boolean items." Truthiness is judged Python-style: zero, empty strings, and None count as false, everything else as true. Cast to a proper boolean list first if you want exact semantics.
CategoryBasic/Data List

Inputs (1)

NameTypeDefaultDescription
list*

Outputs (1)

NameTypeDescription
resultBOOLEAN