Forward/Bypass on Boolean (Any)
Forward/Bypass on Boolean (Any) — let a boolean flip your graph for you
- any
- any
ComfyUI lets you bypass a node by right-clicking it. That's fine when you're experimenting, but it's a manual action - you can't make it depend on the result of a previous run. This node from the vsLinx pack fixes exactly that: it passes any value straight through, and a boolean switch (or a boolean wired in from elsewhere) decides whether the node it feeds gets bypassed. It turns "did the previous step succeed?" into a data-driven branch instead of a hand gesture.
What it actually does
Think of it as a relay that also controls the state of whatever is on the other end. You wire anything into any - an image, a latent, a conditioning, a string, it really doesn't care - and it comes out unchanged. That's the entire pass-through job. The interesting part is the bypass input, a boolean widget on the node itself. Set it true, or feed it from any boolean-producing node, and the directly-connected downstream node is toggled into bypassed state - instantly in the UI, no need to wait for a queue run.
The mechanism is frontend, which is why it's instant. The Python side just returns your value; the JavaScript watches the boolean and flips the downstream node's state on the canvas. The clever part is that vsLinx made the boolean resolver walk the whole upstream graph: chain a Boolean AND, OR or Flip (their own nodes) into bypass and it still resolves correctly, and it's subgraph- and pipe-aware - boolean values routed through an Any to Pipe are picked up at the right slot.
Where you'd reach for it
- A conditional hires-fix: only upscale/refine when the batch size is large.
- A/B branches in a shared workflow: one boolean flips between "fast preview" and "full quality" paths.
- Guard rails on img2img loops - bypass a whole detail pass when a flag is off.
The inputs and output
any(any type) - the value to forward unchanged.bypass(boolean, default off) - the switch; linkable from any boolean node.- Output
any- exactly what went in.
That's the whole thing. Two inputs, one output, no hidden fields.
Install
Part of the ComfyUI vsLinx Nodes pack, so it comes with a pile of siblings (boolean operators, the mute twin, pipe packers, image loaders). Easiest route is ComfyUI Manager: search "ComfyUI vsLinx Nodes" and install. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/vslinx/ComfyUI-vslinx-nodes.git comfyui-vslinx-nodes
Restart ComfyUI, search "Forward/Bypass" in the node palette. The pack has no Python dependencies worth mentioning - it's pure stdlib plus what ComfyUI already ships - so install is genuinely just clone-and-restart.
Common issues
The one real gotcha is expecting the bypass to affect anything other than the node directly connected to its output. It won't cascade on its own - if you want downstream-of-downstream to follow, that's exactly what the newer sibling node Forward/Bypass-Mute on State (Any) is for, which mirrors a trigger node's state. Also note that bypassing and muting are different things in ComfyUI: bypass re-routes the input around the node, mute just stops it executing. If you need the mute flavor, grab the sibling Forward/Mute on Boolean (Any) instead.
It's a small node, but it's the kind that quietly turns a fiddly manual workflow into something you can hand to someone else. Worth the install on its own.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| any | * | — | |
| bypass | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| any | * | — |