Boolean Not
One input, one output, flips true to false
- 取反结果
Boolean Not is the logic inverter: a boolean in, the opposite boolean out. True becomes False, False becomes True, and that's the entire node. The source is a single return (not 布尔值,). It's the plumbing-layer equivalent of one keystroke in Python, and it's exactly as useful as that sounds once you're building workflows that make decisions.
The first thing you'll notice - and the pack's most visible quirk - is that the input and output are labeled in Chinese: the input is 布尔值 ("boolean value") and the output is 取反结果 ("negated result"). The node's display name is English ("Boolean Not"), but its sockets are not, and on an English-language UI you'll see the Chinese labels on the node. That's cosmetic, not a bug - wire it normally and it behaves.
Two mechanics matter:
- The input is
forceInput. You can't type a boolean into this node; you must connect a wire from something that produces one - a PrimitiveBoolean, Bool Passthrough, a compare node's result, or a gated value. That's by design: it keeps the node honest as pure logic. - It's strict Python
not. Only a real boolean works cleanly. Feed it a non-boolean and you'll get runtime behavior that reflects whatever Python decided - so keep boolean sources upstream.
Where it lives in a real graph is the conditional-logic layer: flip an "enable" toggle so a sampler or detail pass runs when its guard is off instead of on; invert the result of a comparison; build a NOT branch in front of a switch. The KB's node-plumbing doc frames the whole utility layer as a "graph as a small program" - this is the ! operator made visible.
Honest take: you can often get the same result by toggling a widget or restructuring the logic, so Boolean Not is a convenience, not a necessity. It earns its keep when a boolean is already a wire (which is the trend in modern ComfyUI, where more and more values are wired rather than typed) - then inverting it is genuinely less fiddly than reaching for a full logic node.
Install is pack standard: ComfyUI Manager → search ComfyUI-Practical-Tools → install → restart, or git clone https://github.com/wenchengxiang/ComfyUI-Practical-Tools into ComfyUI/custom_nodes. No dependencies, no models. If you see an empty input, remember the forceInput requirement - wire a boolean source in and it just works.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| 布尔值 | BOOLEAN | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| 取反结果 | BOOLEAN | — |