SwitchOutput
One source, pick your destination
- input_data
- output1
- output2
Most switch nodes take two inputs and give you one. SwitchOutput is the mirror image: it takes one input and sends it to whichever of two outputs you pick. One source, two destinations, a dropdown to choose the path. It's the node you reach for when you want to redirect a single result without rebuilding wires.
It's the natural pair to the pack's SwitchAuto. Where SwitchAuto is "which input should I read?", SwitchOutput is "which output should I write to?" - and like the rest of this family, the branch you don't pick stays quiet.
How it works
Three fields, that's it:
input_data- the single*input carrying whatever you want to route. It's declared lazy, meaning ComfyUI won't even evaluate it if the node has nowhere to send it.route- a dropdown withoutput1,output2, ornone. Pick where the data goes.- Outputs -
output1andoutput2, both*type.
Set route to output1 and your input arrives on output1, while output2 stays None. Set it to output2 and the reverse. Set it to none and both outputs are None - and because the input is lazy, the upstream chain feeding input_data isn't even computed. That last bit is genuinely useful: none is a kill switch for a whole branch, not just a routing choice.
What you'd use it for
Two classic setups. First, A/B delivery: a single generation node feeding two different downstream pipelines - say a quick preview path and a full save/upscale path - where you toggle which one actually receives the image. Second, disabling work without deleting nodes: leave a branch wired in for later and set route to none to make it completely inert, both upstream compute and downstream effects.
Where it's not the right tool
It can't send data to both outputs at once - it's strictly one destination, and the other gets None. If you want a fan-out, that's a plain wire or a copy node, not this. And remember the routing is manual: unlike SwitchMaskAuto or SwitchAuto in this pack, nothing here decides for you. You flip the dropdown, that's the job. The lazy behavior is a nice touch, but it means the moment you set route to none you've also silenced whatever feeds it - which is great when intentional and confusing when you forgot you set it.
Installing it
It's part of ComfyPanel:
cd ComfyUI/custom_nodes
git clone https://github.com/Ginolazy/ComfyPanel
Restart ComfyUI, or search ComfyPanel in ComfyUI Manager. Standard requirements (torch/numpy/Pillow plus kornia, scipy, opencv-python), no models to download, no Photoshop plugin needed.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| input_data | * | — | |
| route | COMBO | none | 3 options: output1, output2, none |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| output1 | * | — |
| output2 | * | — |