Empty Conditioning
A real no-op CONDITIONING socket for ComfyUI
- CONDITIONING
This is about as minimal as a node gets: no inputs at all, one CONDITIONING output, and what it hands you is genuinely empty - zero-size, not "an encoding of an empty string." That distinction matters more than it sounds like it should.
Why you'd want a conditioning that does nothing
A lot of ComfyUI graphs have slots that expect a CONDITIONING plug even when you don't actually want it doing anything. The classic case is a sampler's negative-conditioning input. On older SD/SDXL-style setups people fill that with CLIPTextEncode fed an empty string - which works, but it still tokenizes and encodes something through the text encoder every single run, for a result you're discarding.
It matters even more on the newer flow-matching, guidance-distilled models most of the current lineup has moved to. On those, CFG is typically pinned to 1 by default, and at CFG 1 the negative conditioning branch is mathematically inert - it never gets blended into the output at all. If your negative slot isn't doing anything either way, EmptyConditioning is the honest way to say so: skip the encode, skip the compute, and get a conditioning tensor that's structurally empty instead of "empty but expensively computed."
It's also useful anywhere else a CONDITIONING wire is structurally required but conceptually optional - a bypass path you're testing, a reference/guidance input on a node you want to leave dormant, or just tidying up a graph where you'd otherwise have a CLIPTextEncode sitting there purely as plumbing.
What's actually in the pack around it
Looking at the rest of ComfyUI-utils-nodes, this isn't a one-off idea - the author built the same "give it a real off switch" pattern elsewhere too: ReferenceLatentSwitch wraps the official ReferenceLatent node with a toggle that, when off, passes the input conditioning straight through unchanged. EmptyConditioning is the more literal version of that instinct: instead of toggling a pass-through, it gives you a genuinely blank starting point you can wire in directly.
Using it
There's nothing to configure - drop the node, connect its CONDITIONING output wherever a socket needs filling, done. No required inputs means no way to get it wrong. The only decision is where you use it: negative conditioning on a CFG-1 model, a disabled reference-latent branch, or any conditioning input you're leaving intentionally unused for this run.
Installing it
Same install as the rest of the pack - through ComfyUI Manager (search "ComfyUI-utils-nodes"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/zhangp365/ComfyUI-utils-nodes
Restart ComfyUI and it's in the node list under utils/conditioning. No model downloads, no extra Python dependencies - it's pure Python glue, so there's genuinely nothing to troubleshoot here beyond making sure the pack itself loaded (check the console on startup if the node doesn't show up).
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |