Dynamic Clip Switch (Creepybits)
A Fallback Chain, Not a Selector
- clip1
- clip2
- clip3
- CLIP
- show_help
Here's the first thing to unlearn about the "Dynamic" switch family in the Creepybits pack: they don't switch anything dynamically. The Dynamic Clip Switch has no selector, no integer input, no logic beyond "give me the first CLIP that's actually connected." If clip1 is wired, it wins. If not, clip2 gets a shot. If none are connected, you get nothing. It's a priority chain, not a router - which makes it genuinely useful for a specific pattern: fallbacks.
The honest difference
The pack ships two CLIP switch flavors. Multi CLIP Switch has an Input widget (1–3) that you actively set to choose a CLIP. Dynamic Clip Switch has zero required inputs - just clip1, clip2, clip3 optional wires - and it passes the first non-empty one. The naming would have you believe the Dynamic one is the cleverer of the two. It isn't. It's the dumbest possible pass-through, and that's its strength: it never needs configuring, and it never fails on a wrong setting.
Outputs are CLIP plus a show_help string that carries the pack's "proverb of the day" gag instead of instructions.
The pattern it's actually for
Fallback chains. Imagine a shared workflow that two people run: one always provides a custom CLIP (say, a refined Flux text encoder), the other doesn't. Wire the custom CLIP into clip1 and a plain CLIPLoader output into clip2. The first person gets their custom encoder; the second person silently gets the fallback. Nobody edits the graph between runs.
It also plays nicely with the pack's Multi switch if you want both behaviors: use the Multi switch when you need to actively choose between flavors on the same graph, and use the Dynamic switch when you want "prefer A, else B, else C" with zero interaction.
Gotchas
Two, both small:
- Priority is positional, not semantic.
clip1always beatsclip2regardless of what you consider "better." If you rewire and forget, the fallback silently takes over. Check the console/UI for which input is populated before you trust the output. - None travels. If no CLIP is connected, the node returns
Nonedownstream, which will blow up whatever node consumes it. If a branch of your workflow might run with everything disconnected, the Multi switch with its explicit setting is the safer choice.
Installing it
It ships with the whole Creepybits pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Creepybits/ComfyUI-Creepy_nodes.git
Restart ComfyUI, or find "Creepy" in ComfyUI Manager. No model downloads; the pack's requirements install on first launch. Verdict: don't reach for this expecting a selector - reach for it when you want a set-and-forget "use this if it exists" wire, which is a pattern ComfyUI core doesn't give you for free.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| clip1opt | CLIP | — | |
| clip2opt | CLIP | — | |
| clip3opt | CLIP | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| CLIP | CLIP | — |
| show_help | STRING | — |