IsInputDisabled
The other side of 'is anything connected?'
- input
- Is Input Disabled
The sibling of HasInputvalue, but thinking in negatives. Where that node returns True when something is connected, this one returns True when the input is absent - None or disconnected - and it throws in an invert_output switch so you can flip the polarity without rewiring your graph.
The mental model that makes this useful: you're building a workflow with optional branches, and you want downstream behavior to respond to a branch being off. Maybe an optional reference image, an optional end-frame for video, an optional LoRA. When the branch is disabled, this node says so with a clean boolean, and you can route that boolean into a switch, a FloatIfElse, or a condition that changes what the graph does with the missing piece.
How it works
Straightforward presence check with a polarity toggle. The input socket is wildcard-typed (*), so it accepts any type. The node checks whether that input is None:
- With
invert_output = False(default): returnsTrueif input is disabled (None),Falseif it has a value. The name of the node matches its default behavior. - With
invert_output = True: returnsTrueif the input is enabled (has a value). Effectively same asHasInputvalue.
That's the whole mechanism - one presence test, one boolean, one toggle. Because it's presence-based, it works regardless of what type flows through the socket, which is why the input is *.
The inputs that matter
input- the optional, wildcard input you're probing.invert_output- the polarity flip. DefaultFalse(returns True when disabled).
One output: a BOOLEAN named Is Input Disabled.
Installing it
Ships in ComfyUI-Przewodo-Utils. ComfyUI Manager → search the pack title, or:
cd ComfyUI/custom_nodes
git clone https://github.com/przewodo/ComfyUI-Przewodo-Utils.git
Restart ComfyUI. No extra dependencies for this one - it's plain Python.
Where people get tripped up
The naming is the trap. "Disabled" here specifically means "the input is None," which in ComfyUI mostly means "nothing is connected" - but it can also mean "an upstream node output None." A bypassed node or a failed loader both read as "disabled." Usually that's exactly what you want, but if you're trying to distinguish "bypassed on purpose" from "quietly broken," this node can't tell the difference either.
And the obvious one: this pack ships both this node and HasInputvalue, which are the same check with inverted polarity and slightly different defaults. Pick one as your house style. The reason both exist is the author built them for different workflows, but you genuinely don't need both in any single graph - choose the polarity that reads naturally to you and stick with it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| invert_output | BOOLEAN | false | Invert the boolean output. When False: returns True if input is disabled (None). When True: returns True if input is enabled (has value). |
| inputopt | * | Any input to check if it's disabled/disconnected. Returns True if this input is None or disconnected, False if it has a value. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| Is Input Disabled | BOOLEAN | — |