AppBuilder Bypasser
Let your app users turn nodes off — without touching the graph
- bypasser
Some workflows have optional parts. A hires-fix upscaler you don't always want. A ControlNet pass that's expensive but sometimes worth it. For you, that's a right-click → Bypass. But if the person running your app has never seen a node graph, that's not an option - which is exactly the gap AppBuilderBypasser fills. It puts a bypass toggle inside the app UI so a non-technical user can flip whole sections of your workflow on and off.
How it works
You treat it like a remote-controlled Mute button. Connect the nodes you want to control into its node_* inputs - they accept any type, because they're just markers, and the node grows more inputs as you connect more targets. Give the set a bypasser_name (the label the user sees in the app) and optionally a group_name (if you'd rather target a whole named group). Then plug its single bypasser output into the bypasser_* input on the AppBuilder node.
When you sync, the pack records the connected node ids and your group name into config_json as a BYPASSER widget. In the app view, that widget is a toggle. Flipping it sets the matched nodes between active and bypassed (mode 4 in LiteGraph) - no graph access required. There's also a matching-by-title route in the config panel, so you can target nodes by their on-canvas title if wiring every one of them feels tedious.
The Python side of the node returns nothing; every bit of behavior is in the frontend. That's worth knowing when you're debugging: this isn't a graph-level reroute primitive, it's a UX convenience that flips node modes in the UI. For most app scenarios that's exactly what you want - you still decide what can be toggled, the user just gets the switch.
Install
Same pack as the rest of the AppBuilder family:
cd ComfyUI/custom_nodes
git clone https://github.com/lihaoyun6/ComfyUI-PowerPanel
Restart ComfyUI, and grab it from Manager if you prefer ("PowerPanel" - older docs call the pack "ComfyUI-AppBuilder"; same repo, renamed). Dependencies are just pynvml and psutil, installed automatically.
Gotchas
Don't connect the Bypasser to AppBuilderAdv expecting a BYPASSER input - the bypasser_* input lives on the base AppBuilder node, and the pack only allows one AppBuilder-family node per workflow. So there's a real trade-off: the base AppBuilder gives you bypass toggles but no typed parameters output; AppBuilderAdv gives you typed values but no graph-side bypasser wiring. Pick which matters more before you build the graph. And since bypass state is stored in the widget config, it persists across saves - if a workflow comes back with nodes mysteriously skipped, check the toggle.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| group_name | STRING | — | |
| bypasser_name | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| bypasser | BYPASSER | — |