FD Any Switch
Two inputs, one output, a switch you flip by hand
- value1
- value2
- VALUE
Every workflow eventually hits the moment where you want to swap one source for another without rewiring: "today I'm feeding this reference image, tomorrow that one," or "this run uses model A, next run model B." Feidorian_AnySwitch (FD Any Switch) is the manual version of that - two any-type inputs, one output, and a little Input integer (1 or 2) that decides which one flows through. You flip it by hand, hit Queue, done.
Unlike its sibling FD Random Switch, this one doesn't randomize and doesn't force a re-execute. It's deterministic and it holds its value between runs, which is exactly what you want from a manual switch: set it, run it, and it's still set for the next time.
Why you'd reach for it. Any place a workflow has two interchangeable sources and you want to pick without touching wires. Two reference images for an img2img pass. Two prompt strings on a merge. Two checkpoints feeding a model loader. The * type on the inputs is the same any-type trick (borrowed from pythongosssss) that lets a node accept images, conditioning, latents, strings - so the switch works on almost anything you can produce in ComfyUI.
Inputs and output. Three required inputs: value1, value2 (both *), and Input (INT, default 1, range 1–2). One output VALUE (*). When Input is 1 you get value1; when it's 2, value2. The implementation is literally a one-line conditional, so there's no hidden behavior to trip on.
The honest take. This is the kind of node every pack re-invents - rgthree's muters and reroutes do far more, and WAS/Impact-era packs ship similar switchers. The FD version's selling point is being free, tiny, and unambitious. If you want A/B switching plus a dashboard to control it from, get rgthree instead; if you just want a two-position switch without pulling in a big pack, this is fine. One real limitation: it's capped at exactly two inputs, so for three-way switching you'd chain two of these.
A small gotcha: because the output is any-type, ComfyUI won't complain if you connect value1 as an image and value2 as a string - but whatever's downstream still has to accept both. Keep the two branches the same type unless you know what you're doing.
The pack is archived, so this node is frozen at version 1.0 - which is honestly fine for a two-position switch.
Install. ComfyUI Manager (search "feidorian-ComfyNodes"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/Feidorian/feidorian-ComfyNodes
Restart ComfyUI and it shows up under the "FD" prefix. No dependencies, no models, nothing to download - install is the easiest part.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| value1 | * | — | |
| value2 | * | — | |
| Input | INT | 11–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| VALUE | * | — |