Flow-Manager
Run one stage of a big workflow at a time — without deleting anything
- NULL
Flow-Manager is the answer to a very specific, very familiar pain: you've built a ten-stage workflow, something downstream broke, and you want to re-run only the upscale stage to iterate on it - not the whole chain, and not the 45 seconds of dead frames before it gets there. ComfyUI lets you bypass nodes by hand, but doing that to every node in a stage, then remembering to un-bypass them later, is exactly the kind of busywork that makes people avoid big workflows in the first place.
This node turns ComfyUI groups into steps and gives you buttons to flip bypass on and off for whole steps at once. It's the lightest take on what rgthree's Fast Groups Bypasser does with its full dashboard - same idea, no menu system, just "run this step" or "run everything up to here."
How it actually works
Here's the thing that surprises people: the Python side of Flow-Manager is an empty shell. Its info_schema has no inputs at all and one NULL output, and its run() just returns None. Every piece of functionality you touch lives in the pack's front-end JavaScript (js/main.js), which ComfyUI loads because the pack ships a WEB_DIRECTORY.
The workflow is: you put a Flow-StepPointer node inside each group, then click "🔄 Refresh Steps List" on Flow-Manager. That scans the whole graph for pointers, reads each one's Step number and Name, works out which group each pointer sits in, and fills the dropdown. Then the real buttons do their thing by setting node.mode = 4 (bypassed) or 0 (normal) on every node whose top-left corner lands inside the relevant groups.
- "▶️ Enable only this step" - bypasses every node inside other groups, so just the selected step runs.
- "⏩ Enable until this step" - bypasses only groups with a step number after the selected one; everything up to and including it runs.
- "♾️ Enable Everything" - clears all the bypasses it set, putting every pointer's group back to normal.
Inputs and outputs
Nothing to wire, honest. The schema is empty on input and the output is NULL (it's an output node, so it'll happily sit at the end of a queue doing nothing). The controls are the dropdown and the three buttons on the node's face. You add the node, click refresh, pick a step, click a button.
How to use it
- Drag your workflow into groups - each stage gets its own group.
- Drop a Flow-StepPointer inside each group and give it a number and a name (
1 - Upscale,2 - VAE decode, whatever). - Add Flow-Manager, hit Refresh Steps List.
- Pick a step and hit the button you want.
One honest caveat: this is a niche tool, and its footprint shows it. It's barely used in the community, and it has real limitations (below). But for staging a pipeline while you debug, it genuinely beats hand-clicking twenty bypass toggles.
Install
No models, no Python deps, nothing heavy - this pack is a handful of files.
- Via ComfyUI Manager: search "comfy-flow" (or "aligjahed") and install.
- Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/aligjahed/comfy-flow
Then restart ComfyUI (the front-end JS only loads on a fresh start).
The gotchas, from the source
- Nodes must be physically inside the group. Membership is decided by a point-in-rectangle test on each node's top-left corner, so a node that straddles a group's boundary may not get toggled. Keep nodes fully inside.
- Nested groups break it. The code says so in so many words: it takes the last group containing a pointer, so nesting produces "unexpected behaviors." Don't nest.
- Anything outside a group always runs - "Enable only this step" only touches nodes inside pointer groups. If you have setup nodes floating loose in the canvas, they stay active no matter what. That's usually what you want, but know it.
- Refresh after you move or renumber anything. The dropdown is a snapshot, not live.
- Bypass state does persist in the workflow JSON, so you can save a workflow with a stage already disabled - which is either a feature or a trap depending on how you look at it.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| NULL | NULL | — |