Nodes/RedNode Studio/RedNode Pass (colour trigger)
ComfyUI Node

RedNode Pass (colour trigger)

A wire that flips your routing colors as the data goes through it

By RedNodeAI·Created 2 months ago·Updated 3 days ago· 4
RedNode Pass (colour trigger)
  • value
  • value
colors[]
always_runfalse

The Palette holds the colors, the Router nodes check them, and RedNode Pass is the bit that changes them as data moves. It's a pass-through with a side effect: anything you wire into value comes out the other side untouched, and as the chain reaches it, it switches which Palette colors are on. It's how a pipeline re-routes itself mid-run instead of waiting for you to flip a switch by hand.

Two inputs do the work. colors is a JSON list of which colors to switch when the chain reaches this node - edited by the small panel above the widget. always_run forces the pass to fire even when nothing upstream changed, at the cost of the cache: everything downstream of this node recomputes every queue. That's the IS_CHANGED trade dressed up honestly in a tooltip, and you should leave it off unless you genuinely need the re-route to happen every run.

The interesting design choice is the two ways the colors can change, and the node description splits them cleanly. In live mode, the colors follow this node's enabled/bypassed state - so a group containing a Pass acts as a switch: bypass the group, the pass is bypassed, and the palette reflects it. That's the "a group containing it acts as a switch" pattern, which gives you group-level routing for free. In on-execute mode, the colors change when the chain actually reaches the node during execution - which lands on the next run, because the palette state is consumed before it changes. The distinction matters: live mode is for "I toggle this and the graph reacts"; on-execute mode is for "when this branch runs, the next branch should be different."

Mechanically, when the node fires it sends a websocket message (rednode.pass_colors) to the browser, which updates the Palette's state - another instance of the pack's frontend-driven control pattern. That means it needs the UI present to have its effect, and it's an interactive workflow tool rather than a headless-API primitive.

Where does it fit next to the rest of the routing family? The Palette is the state, the Router is the decision, and Pass is the trigger. If you're building a multi-stage workflow where "after the draft pass, the detail branch should take over," a Pass sitting at the end of the draft branch does that automatically. If you never need mid-run re-routing, you can skip it and toggle the Palette directly - but the moment a pipeline should change its own course, this is the node.

Installation is the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/RedNodeAI/ComfyUI-RedNodeStudio.git

or search RedNode Studio in ComfyUI Manager, restart. No pip dependencies; works with any model.

CategoryRedNode/Control

Inputs (3)

NameTypeDefaultDescription
value*anything — it comes out the other side untouched
colorsSTRING[]which colours to switch when the chain reaches here, as JSON. The panel above edits this.
always_runBOOLEANfalsefire even when nothing upstream changed. Costs you the cache: everything downstream of this node recomputes every queue.

Outputs (1)

NameTypeDescription
value*