ComfyUI Node

Mask Passer

A typed reroute for masks, so your graph doesn't look like spaghetti

By r-vageΒ·Created 10 months agoΒ·Updated a day agoΒ· 31
Mask Passer
  • mask
  • mask

Here's the honest truth about Mask Passer: it does nothing to your data. A mask goes in, the same mask comes out, untouched. What it does do is let you bend a wire - take a mask that's crossing the whole canvas and route it through a small node so the graph stays readable. It's a reroute, but one that's explicitly typed to masks so the input and output sockets match exactly, which is the thing a plain Any reroute can't guarantee you.

In a plumbing pack like this one (r-vage's ComfyUI_Eclipse), passers are a whole family - there's a typed passer for models, CLIPs, VAEs, latents, strings, audio, SEGS, and so on, all living under Eclipse > Router > Typed. Mask Passer is the one for MASK. If you've ever traced a mask wire from a segmenter across ten nodes to a compositor and lost it in a tangle, you know the appeal: click it, drop it, and suddenly the mask takes a tidy detour instead of a diagonal slash across your workflow.

How it works

One input, one output, both typed to match a mask. The schema ties them together with a type template (this pack is written against ComfyUI's newer backend-authoring API, so "match type" is how the socket type gets pinned rather than a hardcoded string). Because it's a true pass-through with a fixed type, ComfyUI's type checking still works - you can't accidentally wire a latent into it and discover the mismatch at runtime instead of at connect time.

There's nothing to configure, no widgets, no gotchas. It exists purely so you can keep a graph legible, which the node-plumbing layer of the ecosystem exists to fight for: repetition and illegibility are the two enemies, and a passer is a legibility tool.

When to reach for it

Use it when a mask has to travel a long way or cross other wires and you want to break the line. Use it when you're reorganizing a graph and don't want to trace twenty connections. Don't use it as decoration - every extra node is one more thing to read. And don't expect it to fix anything: if a mask isn't arriving downstream, a passer won't heal it; it'll just move the problem closer to you.

Install

Part of ComfyUI_Eclipse (r-vage). ComfyUI Manager, search ComfyUI_Eclipse, or:

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

Restart ComfyUI. No model downloads, no notable dependencies - the pack's requirements (opencv, aiohttp, etc.) are already satisfied in most ComfyUI installs. One warning for shared-workflow users: the pack was renamed from RvTools_v2 and v4.0 removed legacy node IDs, so a pre-v4 workflow that won't load needs the built-in Workflow Migration Tool.

Common issues

There's almost nothing to go wrong here - which is the point. The one thing worth saying: if you're replacing a reroute with this and a downstream node suddenly complains, check the output socket type. A plain Any reroute accepts anything and spits anything; this passer declares MASK, so it refuses mismatches at connect time. That's a feature, not a regression.

CategoryπŸŒ’ Eclipse/ Router/ Typed

Inputs (1)

NameTypeDefaultDescription
maskCOMFY_MATCHTYPE_V3Mask input to be passed through.

Outputs (1)

NameTypeDescription
maskCOMFY_MATCHTYPE_V3β€”