Nodes/FiL_Design_ImageMind/🔀 Cyber Switch
ComfyUI Node

🔀 Cyber Switch

Mute a branch of your graph without killing everything downstream of it

By FiL-Design-Ai·Created 2 months ago·Updated 8 days ago· 8
🔀 Cyber Switch
  • input
  • output
enabletrue

Cyber Switch is a universal signal gate: one input socket of any type, one enable boolean, one output. Flip it ON and the input passes through untouched. Flip it OFF and None goes down the wire - but the rest of the graph keeps running. That last clause is the whole design, and it's the opposite of how ComfyUI's built-in bypass works, so it's worth understanding before you wire it in.

Why OFF isn't just "off"

If you've used bypass in ComfyUI, you've seen the blunt version: the branch is skipped, everything downstream is skipped too, and the graph re-executes only what still has a live path. That's fine for removing a node, but it's wrong for muting one. Say you have a Conditioning branch that adds detail to a base prompt, feeding a sampler's optional input. You want to try the run without that detail - but you still want the sampler to run, just without the branch's contribution.

That's what Cyber Switch does. OFF puts None on the output. A consumer that took the signal on an optional input still executes - it just receives nothing. A node that genuinely needs a real LATENT or IMAGE will, of course, raise on the None - but it raises naming itself, not the switch, so the error is actually traceable. This is the null-output placeholder pattern: the branch is muted from inside the data flow rather than by bypassing nodes.

One more edge case the pack handled honestly: ON with nothing connected to input. That's not muting, it's a misconfigured graph - a silent pass-through would be undiagnosable, so the node returns an ExecutionBlocker with a message that says exactly what happened ("switch is ON but nothing arrived on input"). Everything downstream gets skipped and you get a named notice instead of mysterious dead branches.

What it is and isn't

It's an ANY-type (*) node, which is what lets one switch carry images, latents, models, strings, whatever - the type system hands the socket to the node and says "you make sense of it," and here "making sense of it" is just passing it along. It's not an A/B selector - there's no second input to choose between, and no fallback logic that walks inputs looking for a non-null one. If you want to pick between two model loaders, that's a different node. This one is a gate: single signal in, gated signal out.

Where it earns its keep

Two genuinely useful patterns. First, workflow variants: keep one workflow file with a couple of switches on optional branches, and flip enable to toggle features (detail conditioning, a ControlNet branch, a reference image path) without deleting or bypassing nodes. Second, A/B testing a contribution: toggle one switch between runs and compare outputs. It's the kind of utility that feels trivial until you've rebuilt a graph five times to test one optional input.

The main thing to remember: OFF keeps consumers alive only when their input is optional. If you put a switch in front of a mandatory socket and flip it, expect the downstream node to error - that's the documented behavior, not a bug. Design your mute points on optional inputs.

Install is pack-standard: ComfyUI Manager search FiL_Design_ImageMind, or git clone https://github.com/FiL-Design-Ai/FiL_Design_ImageMind into custom_nodes/, pip install -r requirements.txt, restart. ComfyUI 0.3.60+ required (V3 node API).

Category🎨 FiL Design/🧰 Tools

Inputs (2)

NameTypeDefaultDescription
enableBOOLEANtrueON (True) passes the input signal through. OFF (False) sends `None` downstream, and the rest of the graph keeps running.
inputopt*Any incoming data signal (Image, Latent, Model, String, etc.).

Outputs (1)

NameTypeDescription
output*The passed-through signal when ON. When OFF, `None` goes out instead.