Model Passer
A typed reroute for your model wire β boring, and that's the point
- model
- model
Model Passer is a reroute in the shape of a node: model in, identical model out, nothing else happens. If that sounds useless, you haven't yet built a workflow where the model wire from your loader has to reach four different places and the straight-line route drags across the entire canvas, fighting every other connection for space. That's the problem this solves - and unlike a generic Any reroute, its sockets are typed to MODEL, so you get clean, self-documenting wiring instead of a wildcard socket that accepts anything.
It's one node in a whole typed-passer family under Eclipse > Router > Typed - Model, CLIP, VAE, Latent, Mask, String, Audio, SEGS, Pipe, and so on. The pack (r-vage's ComfyUI_Eclipse) is a big plumbing-and-utilities suite, and the passers are its answer to the "messy noodles" problem the community complains about constantly - graphs too tangled to read. A passer gives you a place to jog a wire without changing what it carries.
How it works
Mechanically there is nothing to explain: model in, model out, wired through a type template so the input and output are pinned to the same model type. No widgets, no settings, no state. Because the type is fixed, ComfyUI can still type-check everything around it - you can't silently shove a latent down a MODEL socket and discover it at runtime.
You'll most often see it used in two patterns: breaking up a long loader-to-sampler wire so the graph reads cleanly, and giving a shared model a "tap point" that multiple branches can feed off without a knot of overlapping lines.
The one thing to keep in mind
A passer is not a cache and not a validator. The model is passed straight through by reference - no copy, no VRAM cost, nothing buffered. If you're using it to debug (is this model actually reaching my sampler?), you'd be better served by a Show Any node, which renders the value. A passer just organizes; it can't tell you whether the model is the one you think it is. And don't scatter passers everywhere - each one is another node to read. Use them where the wire genuinely crosses a crowded region, not as decoration.
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 beyond the pack's standard requirements. If a shared workflow referencing [Eclipse] nodes fails to load, remember the pack's v4.0 stripped legacy node IDs after the RvTools_v2 rename - run the built-in Workflow Migration Tool rather than reinstalling.
Common issues
Genuinely, almost none - the failure modes are all misuse rather than bugs. If a downstream node says it can't connect, you're feeding this node the wrong type, and the typed socket is doing its job by refusing. If your workflow changed and a model isn't arriving, the passer isn't the culprit - trace it back to the loader. A node with zero logic is hard to get wrong, which is precisely why people who've been burned by "helpful" wire magic reach for these.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMFY_MATCHTYPE_V3 | Model input to be passed through. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | COMFY_MATCHTYPE_V3 | β |