ComfyUI Node Runs on cloud

Logic NOT

Flip a WAS boolean without wiring two extra gates

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

      WAS Node Suite ships its own little logic system, built before ComfyUI had a native BOOLEAN socket: values travel around as 1 (true) or 0 (false), produced by nodes like Logic Boolean, and combined with a family of gates - AND, OR, XOR, and this one, NOT. Logic NOT does the simplest thing a logic gate can do: give it one boolean and it hands back the opposite. True becomes false, false becomes true. The README's own description is exactly that one line - "given 1 boolean, returns the opposite" - and there's genuinely nothing hiding underneath it.

      Why you'd bother with a one-line node

      Because inverting a condition without it is annoying. Say you've got a WAS boolean driving "run the upscale pass" and you also want a path that fires only when upscaling is off. Without NOT you'd need to rebuild the same condition from scratch, or wire an XOR against a hardcoded 1 just to flip it - clumsy either way. Logic NOT does it in one hop: take the existing boolean, invert it, and now you've got both halves of a branch (do the thing / don't do the thing) from a single upstream toggle, instead of maintaining two separate conditions that could drift out of sync.

      It also shows up as the last step in slightly more compound logic - "is A true AND is B false" is an AND gate fed by B run through NOT first, since WAS doesn't collapse that into one combined node.

      How it works

      Standard boolean negation, nothing fancier: one boolean value in, its opposite out. No partial states, no ambiguity - 1 becomes 0 and 0 becomes 1. Because it's built on WAS's own convention rather than ComfyUI's native boolean type, it expects its input from another WAS logic node (Logic Boolean, a Logic Comparison output, WAS's Number Input Condition) - wiring in a native BOOLEAN from an unrelated pack may or may not connect depending on how strictly that socket is typed.

      What it takes and gives back

      One input - a WAS boolean/1-0 value - and one output, its negation. That's the entire node. The output goes wherever a condition is consumed downstream: a WAS switch node, another logic gate one level up, or a save/skip step gated on "not this."

      Installing it

      ComfyUI Manager: search "WAS Node Suite," install, restart. Manually:

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

      then, from inside that folder, install requirements against your ComfyUI Python - path/to/ComfyUI/python_embeded/python.exe -s -m pip install -r requirements.txt on a portable build, plain pip install -r requirements.txt on system Python - and restart. It's under the WAS Suite menu, pure logic with no model or heavy dependency of its own.

      Common issues & troubleshooting

      The condition doesn't seem to flip. Almost always a type mismatch rather than the gate misbehaving - trace the input back and confirm it's genuinely coming from a WAS logic node producing the 1/0 convention, not a native BOOLEAN from a different pack that only looks compatible. Mixing WAS's older logic nodes with newer control-flow packs in the same graph is where this trips people up.

      Nothing downstream reacts. NOT only inverts a value, it doesn't act on anything itself. If flipping the condition doesn't change your graph's behavior, the actual switch or conditional node reading that value is the place to check next.

      The whole pack vanished after an update. That's WAS Node Suite, not this node. The suite has had no active development since the author marked it retired in December 2023, and the recurring failure since is the entire pack throwing "Import Failed" after a ComfyUI update - a shared dependency WAS still pins for older compatibility getting silently bumped or downgraded out from under it. Reinstall requirements.txt against your embedded Python interpreter specifically (or run the bundled install.bat), not a system one - that's the fix that's actually worked for people stuck on it.

      Categoryx

      Inputs (0)

      No inputs

      Outputs (0)

      No outputs