Nodes/ComfyUI LC123 Nodes/LC Boolean Value
ComfyUI Node

LC Boolean Value

A checkbox that becomes a wire

By lonecatone23·Created 2 months ago·Updated 3 days ago· 18
LC Boolean Value
    • BOOLEAN
    valuefalse

    The first thing anyone learns in ComfyUI is that a widget is a value stuck on one node, and the fix for "I want this same value in three places" is to break it out onto a wire. For numbers and strings that's second nature by now - primitive nodes everywhere. For booleans it's the same idea, and LC Boolean Value is the dedicated one: a plain checkbox widget whose state comes out as a real BOOLEAN wire.

    The description calls it "Boolean widget source (primitive-style)" and that's exactly what it is - the boolean equivalent of a PrimitiveInt or PrimitiveString. One required input, value (a checkbox, default off), one BOOLEAN output. You check it, and True comes out the socket; uncheck it, and False does. There's no coercion, no inversion, no logic - this is the "source" node in the pack's boolean family, the place a flag is born.

    Why bother, when you can convert any node's widget to an input? Because a source node gives you a single authoritative place to flip a flag that fans out to five consumers. Change the checkbox once and every downstream node that reads that boolean sees the new value - no hunting through five nodes to make sure you updated the same toggle everywhere. That's the repetition-fighting job the plumbing layer exists for: one source, many consumers.

    The practical wiring pattern: drive a Boolean Switch (state input), gate a bypasser, feed a conditional save or a notify node, or normalize some upstream numeric condition through LC Boolean first and then use this to keep the two separate. It also plays nicely with the "convert to input" mechanic - a checkbox on any node can be converted to an input socket, and dropping this node onto it makes the flag defined in exactly one place.

    The family gets confusing because the pack splits the concept four ways, and they're easy to blur:

    • LC Boolean Value - emit a boolean from a checkbox (this node)
    • LC Boolean - coerce any number/int/float into a clean true/false
    • LC Boolean Flip - invert a boolean
    • LC Boolean Switch - route between two branches based on a boolean

    The mnemonic that works: Value makes it, Boolean cleans it, Flip negates it, Switch routes it. Grab the one that matches the verb you need. If you find yourself typing "true" into a string node and hoping something downstream parses it, you're in the wrong neighborhood entirely - use LC Boolean Value and get a real typed boolean out of the box, which downstream sockets actually validate against.

    Where people get caught: expecting this to coerce or to invert. It does neither - put a number in and it won't accept it (the input is typed BOOLEAN), and the output is exactly what the checkbox says, not its opposite. Both of those are deliberate splits to keep each node dumb and predictable.

    Install is the standard LC123 clone:

    cd ComfyUI/custom_nodes
    git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes
    

    Restart, no pip deps. It's the most boring node in the pack, and the whole reason you'll use it is that boring is exactly what a source of truth should be.

    CategoryLC123/utils

    Inputs (1)

    NameTypeDefaultDescription
    valueBOOLEANfalseBoolean value to output.

    Outputs (1)

    NameTypeDescription
    BOOLEANBOOLEAN