ComfyUI Node

Pass Vae

A node that does nothing, on purpose

By r-vage·Created about a year ago·Updated 5 months ago· 23
Pass Vae
  • vae
  • vae

Let's be honest about what this is: a node that takes a VAE in and hands the exact same VAE back out. No processing, no options, no widget to fiddle with. If that sounds pointless, you haven't hit the ComfyUI bug it exists to dodge yet. The passers in this pack were created because some nodes misbehave when you feed them data from a bypassed node - the upstream node is muted, the wire goes dead, and a downstream node either throws or quietly produces nothing. Dropping a passer in between forces the value through a live, always-executing node so the downstream never sees a gap.

How it works

It's a one-line passthrough. vae goes in, vae comes out. The whole class is basically:

def passthrough(self, vae):
    return (vae,)

That's not laziness - it's the point. The passer exists to be a stable, always-connected hop in the graph. Put it in front of nodes that have trouble reading bypassed inputs, and the "the workflow doesn't work" messages stop.

Where it earns its keep

Two genuinely useful jobs beyond the bug workaround:

  • Managed groups. ComfyUI only lets you make a group out of two or more nodes. Drop a Pass Vae next to your VAE Decode and suddenly you have a collapsible, color-coded group you can tuck away. The author built the passers partly so his own big workflows could hide widgets and shrink the canvas.
  • Fan-out. Want to send one VAE to several places without drawing a spaghetti of duplicate wires? Route it through a passer per destination, and each group keeps its own tidy entry point.

There's a real parallel in rgthree's philosophy - the utility packs everyone installs "second" exist so large workflows stay workable, not to add generation capability. The passers are RvTools' version of that idea, and they're honest about it.

The inputs

There's exactly one: vae, which takes a VAE object - the output of a VAE Loader, or a VAE that came out of a checkpoint. The single output, also vae, wires into a VAE Decode, a Latent Upscale, or wherever you were already sending the loader. That's the entire schema, so there's nothing to misconfigure.

Installing it

This is part of the RvTools v2 pack, and it's a pure-python utility - no models to download, nothing heavy to build. Via ComfyUI Manager, search RvTools and install ComfyUI-RvTools_v2, then restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI-RvTools_v2

Then restart ComfyUI. Its requirements (opencv-python, pilgram, pynvml, piexif on top of the torch/numpy/Pillow ComfyUI already has) install automatically through Manager.

One caveat if you're loading an older workflow: the original RvTools repo was deleted, so Manager can't find nodes with the old names. This v2 pack renamed everything, including the passers - "Pass Vae [RvTools]" is the current name. And since the author has moved on to ComfyUI_Eclipse (which supersedes this pack), it's worth knowing that for brand-new builds, Eclipse is where the passers continue to evolve.

When to skip it

If you're not dealing with bypassed-node weirdness and your graph is small, you genuinely don't need this. It's a convenience and a workaround, not a feature. But the moment a bypassed branch starts acting flaky, or your canvas becomes a rat's nest, the passers are the cheapest fix in the box.

Category🫦 RvTools II/ Passer

Inputs (1)

NameTypeDefaultDescription
vaeVAE

Outputs (1)

NameTypeDescription
vaeVAE