Ino Not Boolean
The tiny NOT gate that keeps your logic clean
- BOOLEAN
ComfyUI's graph is full of booleans: toggles, success flags, comparison results, enable switches. Every so often you need the exact opposite of one - "run the fallback when the upscale didn't succeed" - and there's no built-in way to just flip it. InoNotBoolean is that flip: one boolean in, its negation out. It's a single-input utility node, the kind of thing you forget exists until you're routing three fallbacks and hand-writing inverted logic around them.
It lives in the InoBoolHelper category of the ComfyUI-InoNodes pack, which otherwise does comparisons and bool-to-int conversions. Where it earns its keep is anywhere you've got a success output from one of this pack's file or S3 nodes. Those all emit a boolean you can use directly, but the moment you want "do X when the download failed," you're asking for a NOT. It's also useful for flipping an enabled style toggle on one node while its neighbor runs inverted - a poor man's scheduling switch.
How it works
One required input: boolean (default True). One output: the inverted boolean. That's the whole node. True in, False out; False in, True out. If you're fluent in the pack, you might notice the sibling Ino Bool To Switch maps a boolean to an int (2 for true, 1 for false) - this one stays in boolean land so you can chain it straight into anything that expects a BOOLEAN wire.
The realistic pattern:
- Ino S3 Download File outputs
success. - Feed that into Ino Not Boolean.
- Feed the inverted result into Ino Switch On Bool to pick "retry" vs "give up" - or into another node's
enabled.
Installing it
Part of the 125+-node ComfyUI-InoNodes pack by nobandegani:
cd ComfyUI/custom_nodes
git clone https://github.com/nobandegani/comfyui_ino_nodes
cd comfyui_ino_nodes
pip install -r requirements.txt
ComfyUI Manager users can search "ComfyUI Ino Nodes" instead, then restart. The pack depends on inopyutils and targets ComfyUI's V3 schema, so keep ComfyUI current.
Common issues
Honestly, there isn't much to get wrong with a NOT gate - but there's one conceptual trap worth naming: if you wire it in front of an enabled toggle that itself can be disabled (the toggle on the node, not the input), you can end up with double-negation confusion. Enabled=false on a node often means "skip and pass a False/empty result through," so inverting that False and treating it as "it ran" is wrong. Check whether the upstream node's False means "ran and failed" or "was disabled" before you build branching logic on it. And a reminder on the ecosystem level: this pack's nodes run arbitrary Python like any custom node, so stick to installing from the official repo or ComfyUI Manager.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| boolean | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BOOLEAN | BOOLEAN | — |