Fast Node Bypasser
Bypass half your graph with one toggle, no groups to manage
Every ComfyUI power user eventually owns a workflow with four KSamplers, three LoRA loaders and a tiled upscale that they keep around "just in case". Bypassing them one node at a time - right-click, bypass, right-click, bypass - is the kind of chore that makes you understand why rgthree's group muter exists. Fast Node Bypasser is MoonPack's answer, and it's a good one: instead of organizing nodes into groups, you just wire them into this node and every connected node gets its own toggle.
It's a virtual control node. Check the schema and you'll see it has no inputs, no outputs, and it never runs anything server-side - the node class is a noop. All the actual work happens in the pack's frontend JavaScript (web/moonpack.js). What that buys you is that toggling is instant and client-side: flip a widget, the graph redraws, no queue round-trip. The flip side is that you shouldn't expect it to appear in the node's output - there is no output.
How it works
There are two ways to tell it which nodes to control, and you can use either:
- Wire nodes in. Connect any node's output into one of the bypasser's inputs and it gains a toggle widget. This is the intuitive path, and it's what makes the node feel like a control panel.
- Set the
matchTitleproperty. Open Properties on the node and set a regex like^KSampleror(upscale|downscale); the bypasser scans the whole graph and picks up every node whose title matches. Rename a node or change the pattern and hit Refresh in the right-click menu to re-scan.
Right-clicking gives you the whole dashboard: Bypass All, Enable All, Toggle All, and Refresh. The toggles sort by graph position by default (top to bottom, then left to right), or you can switch the sort property to alphanumeric or custom alphabet - the custom alphabet accepts either single characters (zyxw…) or comma-delimited prefixes (sdxl,sd,n,p), so you can force your SDXL branch ahead of your SD branch.
One property worth knowing: toggleRestriction. Set to default and every toggle is independent. Set to max one or always one and it behaves like a radio group - flipping one toggle on turns the others off. That's genuinely handy for an A/B/C sampler comparison where exactly one branch should be live.
The gotcha that bites
Because matching runs against node titles, not class names, an invalid regex doesn't throw - the code catches the error, logs it to the browser console, and silently falls back to connected-nodes-only mode. So if you set a pattern and the node suddenly stops controlling anything, check the regex first. And remember it's purely cosmetic on the graph side: the bypass sets the node's mode, it doesn't remove the node from execution paths you've already queued.
Installing it
Same as the rest of the pack. ComfyUI Manager - search MoonPack - or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/moonwhaler/comfyui-moonpack.git
Restart ComfyUI. No extra Python dependencies to chase; the pack rides on what ComfyUI already ships. You'll find it under MoonPack/utils.
Should you use it?
If you already live inside rgthree's Fast Groups Bypasser dashboard and like it, you don't need this. If you want a bypass that you can wire into the graph itself, hand to a non-expert, or drive by regex over a mess of ungrouped nodes - this is the one you reach for. It's small, it's fast, and it doesn't demand you rearchitect anything.
Inputs (0)
No inputs
Outputs (0)
No outputs