ComfyUI Node

Stop

A breakpoint for your ComfyUI graph

By Smirnov75·Created 2 years ago·Updated about a year ago· 315
Stop
  • In
  • *

Programmers get breakpoints. ComfyUI users get a big red "Queue" button and a workflow that either runs start to finish or doesn't run at all. mxStop closes that gap: drop it in the middle of a graph and execution halts right there, waiting for you to look at what you've got before committing to the rest.

Why you'd reach for it

Think of any multi-stage workflow: a base generation, then a hi-res pass, then an upscaler, maybe a video interpolation chain stacked on top. Each stage costs real GPU time, and there's no point paying for the back half if the front half already looks wrong. Normally your options are "run the whole thing and find out" or "manually disable half the nodes and re-enable them later," which gets old fast on a graph with more than two stages. mxStop turns that into: run up to the checkpoint, look, then either continue or go fix something upstream - without touching a single wire.

It's a small node solving a real, boring, recurring problem, which puts it in the same bucket as most of what a serious ComfyUI user ends up installing: it doesn't generate anything, it makes working with a big graph less painful.

How it works

mxStop interrupts the run the moment execution reaches it - functionally the same as hitting the Cancel button, except it remembers where it stopped. A Continue button appears in the node's top-right corner; click it, or just hit Queue again, and the run picks up from that exact point instead of starting over. Combine that with ComfyUI's normal caching (nodes whose inputs haven't changed don't recompute) and resuming past the checkpoint is usually near-instant if nothing upstream changed.

One thing worth being clear on: the interrupt is global, not scoped to whatever branch the node sits on. ComfyUI runs one queue at a time, so a Stop node anywhere in the graph pauses the entire run, not just the wire it's sitting on. And if your graph has more than one mxStop, they act like sequential breakpoints - Continue/Queue gets you to the next one, not straight to the end.

The input and output that matter

There's exactly one of each, and that's the whole point:

  • In - accepts literally anything (type *). Whatever you plug in - a LATENT, an IMAGE, a MODEL, doesn't matter - passes straight through unchanged once you continue.
  • Output is the same wildcard *, carrying that same value onward.

Because both ends are wildcard-typed, you can splice mxStop into almost any wire in your graph without ComfyUI complaining about a type mismatch - right after your KSampler, right after VAE Decode for a visual check, wherever you want the pause to land.

Installing it

Through ComfyUI Manager: search ComfyUI-mxToolkit (or just mxToolkit), install, restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/Smirnov75/ComfyUI-mxToolkit

Restart ComfyUI afterward. This is one node out of five the pack ships (Seed, Stop, Slider, Slider2D, and an alternative Reroute) - installing it gets you all of them, filed under utils/mxToolkit in the node browser. The README doesn't call out any model downloads or extra Python dependencies, and that tracks: this is a pure graph-logic/UI pack, not anything touching inference, so it's about as low-risk an install as custom nodes get.

Common issues

The one that actually matters: mxStop is built for a human sitting at the browser, not for API calls. The whole mechanism depends on someone clicking Continue (or requeuing) to resume. If you're triggering this workflow headlessly - through comfy.icu's API rather than the ComfyUI UI - there's nobody there to click anything. The interrupt still fires, but nothing resumes it, so a run that hits an mxStop node from an API call just stops. If you want checkpoint-and-inspect behavior in an automated pipeline, this isn't the tool; you'd split the workflow into two separate API calls instead and inspect the output between them yourself.

Smaller thing: the Continue button lives on the node itself, in the corner, not in a separate toolbar - easy to miss the first time you use it if you're scanning the top of the ComfyUI window instead of the node.

Categoryutils/mxToolkit

Inputs (1)

NameTypeDefaultDescription
In*

Outputs (1)

NameTypeDescription
**