ComfyUI Node

Pass Through Node

A type-agnostic wire with a kill switch

By mephisto83·Created 2 years ago·Updated 2 years ago· 3
Pass Through Node
  • input_value
  • output_value
passitfalse

Sometimes the most useful node in a pack is the one that does nothing at all. PettyPaintPassThroughNode is a value wire: it takes whatever you give it and hands it back unchanged. No conversion, no math, no model loading. Just output_value = input_value, in any type the graph can throw at it. You reach for it when you're reworking a workflow and a node sits between two others but its type is getting in the way, or when you want a single cable you can later redirect without unplugging a dozen edges.

The name undersells the one interesting bit, which is the passit toggle. Flip it to true and the node returns None instead of the input. That's a gate, not a mute: most downstream nodes will choke on a None rather than quietly skip, so treat it as a "break this connection" switch, not a bypass. It's the graph-editing equivalent of pulling the wire out. Default is false, so in normal operation it's a pure pass-through.

The inputs and outputs that matter

Only three things on this node, which is the whole point:

  • input_value - any type, wildcard. Wire anything into it.
  • passit - boolean, default false. false passes through; true nulls the output.
  • output_value - the same thing you put in, in the same type.

Because both sides are wildcards (*), ComfyUI lets you connect it in places where a typed node would refuse. That's the real use case: you've got a branch that computes a MODEL or a STRING and you want to run it through a few intermediate nodes, or you're refactoring and want one place to unplug things. A plain reroute does the passthrough job with less ceremony; this node earns its keep when you also want the passit kill switch wired to something else in the graph.

Installing it

Part of the petty-paint pack, so install the whole thing once:

cd ComfyUI/custom_nodes
git clone https://github.com/mephisto83/petty-paint-comfyui-node

Then restart ComfyUI. If you use ComfyUI Manager, search the pack title "petty-paint-comfyui-node" and install from there instead - same result, one click. The pack's only declared dependency is Flask (Flask==2.1.2 in its requirements), which Manager will offer to install; this particular node doesn't need it, but the pack's server nodes do.

Common issues

The classic stumble is expecting passit to enable the output. It's the opposite: true gives you None. If a node downstream starts erroring with "NoneType has no attribute", check whether you left passit on. Otherwise the only real gotcha is that a None output isn't "no-op", it's "nothing" - wire the boolean from something like PettyPaintFileExists and you can build a conditional pass-through that actually cuts a branch mid-workflow.

If the output looks wrong, it isn't the node - it passes exactly what it received, byte for byte. That's not a bug, it's the feature.

CategoryCustom

Inputs (2)

NameTypeDefaultDescription
input_value*
passitBOOLEANfalse

Outputs (1)

NameTypeDescription
output_value*