Flow Output
The dead-end node that keeps ComfyUI from pruning your branch
- dependency
A node that does nothing on purpose - no inputs to speak of beyond an optional dependency, no outputs at all. JN_FlowOutput's entire job is being the terminal point of one of JNComfy's (jn-jairo/jn_comfyui) flow-control chains, the sibling to nodes like JN_Flow, JN_StopIf, and JN_Exec that use a manual flow/dependency wire to force execution order.
Why this exists
Here's the ComfyUI mechanic this node is built around: the executor only runs nodes that lead, directly or transitively, to something marked as an output node - a Save Image, a Preview, or anything else flagged is_output_node=True. A node with no consumers just gets pruned, skipped entirely, even if it's sitting right there in the graph. That's a problem for this pack's flow-control chains, because a sequence like DatetimeNow → CoolDown → Exec might not produce any image or file at all - it's pure side effect. Without something at the end marked as an output node, ComfyUI would look at that whole chain, see it leads nowhere useful, and never run it. JN_FlowOutput exists purely to be that anchor.
How it works
It takes one optional input, dependency (type *, the generic wildcard this pack's own patch enables), and produces nothing. What matters isn't what it does with the value - it doesn't do anything with it - it's that the node itself is marked is_output_node=True, which tells ComfyUI's executor "this needs to run," which in turn drags everything upstream of it into the execution plan.
The inputs and outputs that matter
dependency(any type, optional) - wire in theflowoutput from the last node in your chain (JN_Flow, JN_StopIf, JN_Exec, JN_CoolDown - any of them). There is noflow-named input here, justdependency, so connect whatever's coming out of the previous node into this socket.
No outputs at all - this is a genuine terminal node, the end of the line.
How to install it
Via ComfyUI Manager: search "JNComfy", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/jn-jairo/jn_comfyui
then restart ComfyUI. Small, single-author pack, no public discussion we could find anywhere and no entry in our knowledge base - this "terminal anchor" pattern for output-node pruning isn't documented outside the pack's own source, so treat this article as the reference rather than searching for prior art.
Common issues & troubleshooting
Your flow chain of side-effecting nodes just doesn't run at all. This is the single most common trap with this whole node family - if the last node in a chain built from Flow/StopIf/Exec/CoolDown doesn't lead anywhere, ComfyUI silently skips the entire branch as dead code, no error, nothing in the log. Wire the end of the chain into JN_FlowOutput's dependency input and it will run.
You want to inspect a value at the end of a chain, not just anchor it. JN_FlowOutput doesn't display or print anything - it's a pure anchor. If you want to see a value at the end of your run, use JN_DumpOutput instead (or in addition), which is also a terminal output node but actually prints what you feed it.
Nothing seems different whether this node is there or not, in a graph that already saves an image. That's expected - if your graph already has a Save Image or Preview node downstream of everything, the pruning problem this node solves doesn't apply; you only need JN_FlowOutput for chains that produce no other output.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| dependencyopt | * | — |
Outputs (0)
No outputs