Nodes/comfyui-rb-bridge/RB Bool Bridge
ComfyUI Node

RB Bool Bridge

Flip one switch mid-run and keep going

By itribs·Created 2 days ago·Updated a day ago· 0
RB Bool Bridge
    • value
    value_editfalse
    timeout-1
    value

    Some decisions are binary, and you don't know the answer until you're partway through a run. "Is this first pass good enough that I want the extra refinement stage?" "Do I want that second model pass on this particular image or not?" ComfyUI doesn't give you a native moment to answer those - you either pre-commit or interrupt and re-run.

    RB Bool Bridge parks the workflow at exactly that decision point and hands you a checkbox. It's the simplest node in the itribs/comfyui-rb-bridge pack: execution reaches it, the run stops, a toggle appears on the node, and whatever you set it to feeds everything downstream when you hit Continue.

    If the whole idea of pausing mid-run is new, read this pack's other nodes first - this one is the same mechanism wearing a boolean. It's also the easiest one to reason about, which makes it a decent first taste: the thing you're editing is a single on/off, not a number or a block of text.

    What you actually set

    • value_edit (BOOLEAN, default false) - the toggle. Editing it is one click.
    • timeout (FLOAT) - the pack-wide control: -1 waits until you click Continue (default), 0 skips the pause and passes through, >0 auto-continues after N seconds.
    • value (BOOLEAN, optional) - wire a boolean in from upstream and that becomes the value you're deciding about; when the pause fires, it's loaded into the toggle. Unconnected, and the toggle's own setting is the answer.

    Output is a single value (BOOLEAN). It feeds anything downstream that takes a boolean - a switch or gate that turns a refinement branch on or off, a node with a "should I do this" flag, that kind of plumbing.

    How it works

    Like every node in this pack, pausing is a server-side wait: the node fires a session event to the frontend, the Continue and Cancel buttons enable, and the run blocks until you respond. Continue posts the toggle's current state back over an HTTP route and the node returns it; Cancel interrupts the entire workflow. The wait loop polls for interrupts every tenth of a second, so the regular Stop button still rescues you while it's parked.

    Worth knowing: ComfyUI caches work whose inputs haven't changed, and these bridge nodes don't force a re-run the way RB Pause's force_pause does. So a re-queued, untouched workflow can skip the node and sail past without pausing. Change the toggle or anything upstream and it'll stop for you again.

    A typical shape

    First pass renders → bridge pauses → you eyeball the result → decide whether the second, slower stage (detail pass, upscale, second sampler) is worth it this time. Continue with the toggle true and the tail runs; flip it false and the tail's gate closes. Crucially, the first stage's compute is preserved either way - only the tail reacts to your choice, because nothing upstream changed.

    Installation

    It ships in a dependency-free pack. ComfyUI Manager: search comfyui-rb-bridge. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/itribs/comfyui-rb-bridge
    

    Restart ComfyUI, then hard-refresh the browser - the toggle and buttons are frontend elements, and a stale tab is why new nodes sometimes show up with no buttons. Search "RB" in the menu; everything lands under bridge.

    Common issues

    • It waits forever at timeout -1 - by design. Continue resumes, Stop also unblocks it (that's the interrupt polling).
    • Cancel stops the whole run, not just the branch you toggled off. Continue is the "keep going" button.
    • Buttons not appearing? This pack draws its own DOM widgets on the classic canvas. On ComfyUI's newer Nodes 2.0 rendering, widget-rendering custom nodes can break or render blank - rgthree's nodes hit this too. If so, switch back to the classic canvas rather than uninstalling.
    Categorybridge

    Inputs (3)

    NameTypeDefaultDescription
    value_editBOOLEANfalse
    timeoutFLOAT-1Seconds to wait. -1 = infinite, 0 = skip pause
    valueoptBOOLEAN

    Outputs (1)

    NameTypeDescription
    valueBOOLEAN