Group Bypasser
Kill a whole frame of nodes without hunting through the graph
The Group Bypasser is the answer to a specific, annoying problem: you've got a workflow with a dozen nodes inside a gray group frame - an upscaler block, a refiner, a face-detail pass - and you want to turn that whole section off to compare outputs. The stock way is Ctrl+B on every single node in the frame, one at a time, then remembering to re-enable them. This node gives you one toggle per group name, and flipping it bypasses every node inside at once. If you build big graphs and constantly A/B test sections, that's the difference between a five-second experiment and a fiddle.
It's the same idea behind rgthree's Fast Groups Bypasser, the established "dashboard for switching whole groups off" utility (the one people name alongside Manager in "what do you actually install" threads). Where this differs: it's a tiny standalone pack with zero dependencies, and it groups by name rather than by canvas location - so one toggle controls every frame that shares a title. If you name every upscale block "upscale", one switch kills them all. The author built it for exactly that: "larger workflows where repeated group names are used for things like upscalers, detailers, refiners, previews, or optional processing blocks."
How it actually works
Here's the part that surprises people: the Python half of this node is a complete no-op. It has no inputs, no outputs, and its noop() function returns an empty tuple. All the magic lives in web/group_bypasser.js. On the backend the node is just a stub so ComfyUI knows it exists; the frontend does the real work.
Drop the node into a workflow and it scans the current graph for groups (the named boxes you draw over nodes), including nested subgraphs. It dedupes by title - case-insensitive - and builds one toggle widget per unique name, sorted alphabetically. Flip a toggle on and it sets every node inside the matching frame to bypass mode (LiteGraph's mode constant 4, the same state Ctrl+B applies). Flip it off and they go back to active. It re-scans every 400ms, so if you rename a frame, add one, or bypass a node by hand, the toggles re-sync.
Two details worth knowing. First, the toggle state is saved in the node's properties keyed by the lowercased group title, so it survives save/reload - you can ship a workflow with a section pre-bypassed. Second, a rename changes the key, so a renamed group shows up as a fresh toggle rather than carrying the old state.
The inputs that matter
There are none - literally. This is a control node with no sockets, so don't try to wire it into anything. The things you actually set are the dynamic toggles that appear on the node's body, one per group title in your graph. That's the whole interface. Toggle on = that frame is bypassed; off = active. If you create the node before any groups exist, it just sits there empty until you draw some - it polls, so they'll show up.
Install
No dependencies, no model files, no requirements.txt - it's a web extension plus a two-line Python stub. Via ComfyUI Manager, search for Group Bypasser and install. Or clone it manually:
cd ComfyUI/custom_nodes
git clone https://github.com/jeremytenjo/ComfyUI-Group-Bypasser
Then restart ComfyUI. Because it's frontend-only, give the browser tab a hard refresh after restarting, or you'll stare at an empty node wondering where the toggles went.
Troubleshooting
- Group membership is a heuristic. The code first asks the group for its known children, and falls back to "is the node's center inside the group rectangle?" A node that's half-in, half-out with its center outside the frame won't be included. If a toggle misses a node, drag the frame to fully cover it.
- Same name, different state. Duplicate titles are one row and one toggle by design - that's the feature, but it means you can't have two frames named "detail" and bypass only one. Rename one frame if you need separate control.
- Bypass passes data through by type. Same caveat as
Ctrl+B: bypassing a node whose input and output types differ (say, a VAE decode that turns a latent into an image) can break the chain downstream. Bypassing the whole frame usually works; bypassing one link of a transform chain often doesn't. - On ComfyUI's Nodes 2.0 beta frontend, JS-heavy custom nodes are exactly the class that broke in late 2025 (rgthree's own nodes were the poster child). If the toggles misbehave there, keep the legacy canvas - this node targets the stock LiteGraph UI.
Inputs (0)
No inputs
Outputs (0)
No outputs