ComfyUI Node Runs on cloud

Logic Boolean

WAS's own 1-or-0 switch, from before ComfyUI had native booleans

By WASasquatch·Created 3 years ago·Updated about a year ago· 1,812
Logic Boolean

      If you've ever wondered why WAS Node Suite has both a "Logic Boolean" and a "Logic Boolean Primitive," here's the short version: ComfyUI didn't always have a native BOOLEAN socket type. When WAS Node Suite was written, boolean logic in a graph meant faking it with numbers - a toggle that spits out 1 for true and 0 for false. Logic Boolean is that toggle. It's the flip switch that feeds WAS's own home-grown logic mini-language: Logic AND, Logic OR, Logic XOR, Logic NOT, all built to consume WAS's 1/0 convention rather than ComfyUI's later native boolean.

      That distinction matters more than it sounds. If you try to wire Logic Boolean's output into a node expecting a real BOOLEAN socket, it may not connect - or it'll connect but behave like a number, not a boolean. That's exactly what "Logic Boolean Primitive" exists to fix: it's the same idea, but it outputs a native boolean for use with ComfyUI's own switch/condition nodes (and other packs that expect one). If your graph is mixing WAS logic nodes with newer control-flow packs, know which one you're holding.

      How it works

      There's no upstream input here - this is a source node. You set the state (true/false, rendered as 1/0) on the node itself and it emits that value downstream. Every run it emits the same fixed value until you flip it, which is exactly the point: it's a manual, at-a-glance switch you can toggle mid-session without touching the rest of the graph, the equivalent of a checkbox that turns a whole branch of your workflow on or off.

      What it's for

      Use it anywhere you want a manual on/off you control by hand rather than a boolean computed from something else - gating an optional part of a graph (skip a face-restore branch, toggle a save step), or as one leg of a WAS Logic AND/OR/XOR chain deciding whether some downstream WAS node runs at all. It's a building block, not a destination - the output only becomes useful once it's feeding another WAS logic node or something that reads a 1/0 as a condition.

      How to install it

      Through ComfyUI Manager: search "WAS Node Suite" (or the repo name, was-node-suite-comfyui), install, restart. Manually:

      cd ComfyUI/custom_nodes
      git clone https://github.com/WASasquatch/was-node-suite-comfyui
      

      Then, from inside that folder, install the Python deps - portable/embedded builds should run path/to/ComfyUI/python_embeded/python.exe -s -m pip install -r requirements.txt; a system Python install just needs pip install -r requirements.txt. Restart ComfyUI and the suite shows up under its own WAS Suite menu category.

      Common issues & troubleshooting

      The suite as a whole is marked retired by its author as of December 2023 - no active development, "feel free to fork and continue the project." That doesn't mean it's dead in practice: it's still a going concern in ComfyUI discussions well into 2026, just with no one fixing new breakage upstream.

      The one that trips people up most isn't this node specifically, it's the whole pack: "Import Failed" after updating ComfyUI. The author's own explanation on Reddit is that a ComfyUI update can pull in newer shared packages that quietly downgrade something WAS pins for older dependencies (BLIP support was the specific example given), and the version mismatch breaks the import for the entire suite - Logic Boolean included, since it loads or fails as part of one module. If that happens, re-run the requirements install using your embedded Python specifically rather than a system interpreter; several people who were stuck only got unstuck that way.

      If Logic Boolean itself just isn't doing anything, the usual culprit is the socket-type mismatch above, not a bug: check whether the node downstream actually wants WAS's 1/0 or a native boolean, and swap in Logic Boolean Primitive if it's the latter.

      Categoryx

      Inputs (0)

      No inputs

      Outputs (0)

      No outputs