Nodes/ComfyUI-FlowChain/Workflow Continue (FlowChain ⛓️)
ComfyUI Node

Workflow Continue (FlowChain ⛓️)

Stop mid-batch, or actually skip the expensive part of a workflow

By numz·Created 2 years ago·Updated about a year ago· 170
Workflow Continue (FlowChain ⛓️)
  • input
  • output
type
continue_workflowtrue

WorkflowContinue is FlowChain's conditional brake pedal, and it behaves very differently depending on where you use it - which is the first thing people trip over. In a plain workflow it lets you stop a batch early during development. Inside a workflow loaded as a subworkflow it does something much more interesting: it deletes a whole branch of the graph so it never computes at all.

That second mode is the reason the node exists. ComfyUI normally computes everything wired into your graph, and "if this boolean is false, don't run this expensive upscale" is the kind of conditional you cannot express with stock nodes. FlowChain's whole pitch, and the reason people tolerate its quirks, is that it handles conditionals properly - something the built-in group-node system famously can't. The author is open about this: "if you don't have any conditional parts, indeed, there is no difference" from group nodes. This node is the difference.

How the two modes work

  • Standalone (just sitting in a workflow): if continue_workflow is True, everything passes through untouched. If it's False, only the first image or latent makes it through. The source literally returns input[0].unsqueeze(0) for the false case. That's a great dev tool: run one item, inspect it, fix your prompt, don't burn a 40-frame batch every time.
  • Inside a Workflow node: the loaded subworkflow is inlined into your graph, and when continue_workflow is False, every node downstream of the WorkflowContinue is removed before execution. Nothing computes, nothing wastes VRAM. Wire a boolean into it and you've got a real conditional branch.

The inputs

Three, all required:

  • input (IMAGE) - the images or latent to pass (or stop).
  • type - none, IMAGE, or LATENT. Pick what you're actually carrying; the LATENT mode slices samples (and carries the noise_mask along if present) rather than the raw tensor.
  • continue_workflow (BOOLEAN, default True) - the switch. This is the one you actually drive from elsewhere in the graph.

The output is a single wildcard socket named output. Wire the boolean from a toggle, a comparison, or any node that emits a BOOLEAN.

Installing it

Same as the rest of the pack: ComfyUI Manager → search FlowChain → install and restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/numz/Comfyui-FlowChain.git
cd Comfyui-FlowChain
pip install -r requirements.txt

There's no model download and no heavy dependency - the pack's only pip package (gradio_client==0.8.0) belongs to the LipSync node, not this one.

Gotchas

The standalone stop mode only handles IMAGE and LATENT - don't expect it to throttle a batch of strings or conditionings. And remember which mode you're in: if you're running the subworkflow directly to debug it, a False will silently pass one item instead of erroring, which can look like your workflow "only generated one image". Also note the conditional delete happens inside the Workflow node's merge pass, so it only works when the workflow is chained - a bare WorkflowContinue on a loose canvas can't prune anything downstream.

CategoryFlowChain ⛓️

Inputs (3)

NameTypeDefaultDescription
inputIMAGE
typeCOMBO3 options: none, IMAGE, LATENT
continue_workflowBOOLEANtrue

Outputs (1)

NameTypeDescription
output*