Execution Blocker | Deforum
Conditionally skip the expensive half of your graph
- input
- output
Sometimes you want a whole branch of the graph to just not run. Not produce a dummy value - genuinely not execute. That's what Execution Blocker is for: when block is true, it blocks the downstream from running at all, using ComfyUI's native ExecutionBlocker mechanism. When block is false, it's a pure pass-through.
This is the difference between muting a branch and bypassing it. Bypassing still computes the node and discards the result; blocking never computes it in the first place. In a Deforum animation workflow where the expensive stuff - a big upscale, a video export, a second sampling pass - can easily double your render time, being able to switch it off at runtime from a condition is real money.
Inputs and output
input- the*value you want to conditionally pass through. Feed it anything: a latent, an image batch, a prompt.block-BOOLEAN. True stops the downstream from executing; false passesinputstraight through. This is the knob you wire a condition into - aLazy Conditional, a comparison, a user toggle.verbose-BOOLEAN, default false. When blocking, this controls whether ComfyUI reports why it blocked ("Blocked Execution") in the console. Leave it off unless you're debugging why a branch silently didn't run.- Output:
output- the originalinputwhen not blocked; nothing useful (the blocker) when blocked.
The pattern that matters
Wire the blocked branch to a fallback switch like Any Switch | Deforum and you get "use this branch when the condition is true, otherwise fall through to the next input" - with the skipped branch costing zero compute. That's the null-output placeholder idea from the ComfyUI plumbing layer, but at the execution level instead of the data level. It's also handy for toggling a whole output stage off during iteration: block the Save Video node while you're still testing, let it run once you're happy.
Gotchas
The block signal propagates downstream through everything fed by output - a blocked value can't flow into a node that's being blocked. Keep blockers at branch boundaries, not in the middle of a data path. And remember verbose only adds console noise; it doesn't change behavior, so when a branch mysteriously doesn't run, check block first.
Installing it
Part of deforum-comfy-nodes, the official Deforum ComfyUI pack. ComfyUI Manager: search "deforum" (comfyui-deforum), install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/deforum-art/deforum-comfy-nodes
Restart ComfyUI after. No extra pip packages, no model files - the pack runs on ComfyUI's own stack. Known upgrade hiccup: an orphaned deforum pip package causing load errors; pip uninstall deforum and restart.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| input | * | — | |
| block | BOOLEAN | — | |
| verbose | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | * | — |