Mute Bypass by ID — AA/BB
Toggle between two complete node pairs at once
Sometimes the thing you're A/B testing isn't one node - it's two nodes that have to come as a set. A ControlNet and its preprocessor. A refiner plus its second sampler pass. An upscaler feeding an enhancer. RemoteSwitchMulti - "Mute Bypass by ID - AA/BB" - is the two-pair version of the pack's A/B switch: flip it one way and both A-side nodes run while both B-side nodes are muted or bypassed; flip it back and the pairs swap. One toggle, four targets, exactly one pair ever live.
It's basically the RemoteSwitch with the target count doubled, and honestly that's the whole story. If your two competing setups are each a single node, the plain A/B switch is simpler and you should use that. Reach for this when each "side" is genuinely a pair - a loader and its apply node, a pair that only makes sense together. Toggling them as a unit is the difference between "I forgot to mute the other one" and "it just works."
How it works
Same machinery as every node in this pack, so if you've used the others you know the drill. The Python class is a no-op; the frontend JavaScript does all the work. The four target_node_* fields become searchable pickers listing every node by ID and name - including nodes inside subgraphs, with their paths shown so duplicate IDs in different subgraphs don't trip you up. Each frame the JS reads the switch_status toggle: on means the A1/A2 pair gets running mode and the B1/B2 pair gets muted or bypassed; off means the roles reverse. mode_select decides which of those inactive states the losing pair gets.
The inputs that matter
Six fields; you set five of them:
target_node_A1/target_node_A2- your A-side pair.target_node_B1/target_node_B2- your B-side pair.switch_status- the A/B toggle, labeled "Side A Active", defaults to on.mode_select- mute vs bypass for the inactive pair. Bypass is the default and is the safer choice: the losing nodes are skipped but pass their upstream data straight through, so nothing downstream breaks.
No outputs, nothing to wire - it's a pure control node.
Installing it
It ships in pixelpainter's mute-bypass by node ID pack, alongside the Single, Triple, A/B, and Stacker nodes. No models, no dependencies. Either search ComfyUI Manager for "mute-bypass by node ID", or:
cd ComfyUI/custom_nodes
git clone https://github.com/pixelpainter/comfyui-mute-bypass-by-ID
Then restart ComfyUI - the picker UI is frontend JavaScript and won't load until the extension does.
Gotchas
- One pair or the other, never both. The mutual-exclusion is the feature; if you sometimes want both pairs running, this isn't the node.
- Same as its siblings: the toggle doesn't change color when flipped (a deliberate V2.1.0 change so the node still reads as active), duplicate IDs across subgraphs are disambiguated by the path in the picker, and you want a V2.0.0+ version for reliable subgraph targeting.
- If you only ever switch one vs one, the plain RemoteSwitch is less machinery for the same result.
It's the niche member of the family - but when your "side" is a pair, it's the one that actually fits.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| mode_select | BOOLEAN | false | — |
| switch_status | BOOLEAN | true | — |
| target_node_A1 | STRING | — | |
| target_node_A2 | STRING | — | |
| target_node_B1 | STRING | — | |
| target_node_B2 | STRING | — |
Outputs (0)
No outputs