Latent Passthrough
Carry a latent across the graph without the wire spaghetti
- latent
- latent
Latents are the heavy freight of ComfyUI - every generation moves them around, and the wires carrying them are the ones that turn a clean graph into a rat's nest. wcx_LatentPassthrough is a typed passthrough for exactly that: a LATENT in, the identical LATENT out, nothing changed in between. Its job is legibility, not transformation.
The use case is the one the node-plumbing KB doc calls the "one source, many consumers" pattern. You have a latent coming out of a VAE encode, and it needs to reach a KSampler, a latent inspect node, and maybe an img2img branch. Drag three wires from one socket and the graph starts looking like a bad haircut. Route it through a Latent Passthrough once and suddenly the branches have a clean, labeled origin. It's the same organizational trick as a reroute node, just purpose-built for one type.
The input is a single optional latent socket (declared forceInput, so it takes wired values), and the output is latent. Leave the input unwired and you get None out - which, again, is the right shape for an optional downstream input to see when a branch should be skipped. That makes it handy as a "mute this path" point: disconnect the input, and downstream optional inputs quietly do nothing instead of erroring.
Three honest things to know:
- It stores nothing and validates nothing. If you want a node that holds a latent with a widget, that's not this. This reroutes a value that already exists.
- ComfyUI has
forceInputbuilt in. You can already convert widgets to inputs and drag wires anywhere without a passthrough. The node exists to give those wires a named, stable anchor - value is organizational, not functional. - It won't save you VRAM or speed. A passthrough is a pointer shuffle in the graph, not a copy. No performance cost, but also no benefit - it's purely about the graph being readable.
Install is the pack's standard light route - no requirements, no model files:
# ComfyUI Manager: search "ComfyUI-Practical-Tools" → Install → restart
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/wenchengxiang/ComfyUI-Practical-Tools
# restart ComfyUI
It's the most boring node in the pack, and that's the point. When a workflow grows past a screenful, the difference between "I can see what feeds what" and "I give up" is usually a few well-placed passthroughs.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| latentopt | LATENT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |