โธ๏ธ Paused. Resume or Stop, Pick ๐
Stop your workflow mid-run and eyeball the result before it continues
- input
- output
Some workflows have an expensive back half - a long upscale, a video render, a chained refinement pass - and you don't want to find out at the end that the input going into it was wrong. This node is a manual checkpoint: drop it in the middle of your graph, and the workflow halts right there, rings a bell, and waits for you to physically click Resume (send it through) or Stop (kill the run) before anything downstream executes.
How it works
It accepts literally anything - text, an image, a mask, a model, whatever type is flowing through that part of your graph at the moment - and passes it straight through unchanged once you hit Resume. There's no logic applied to the value itself; it's purely a gate. Because the node type is a generic wildcard on both sides, ComfyUI won't validate that what you connect out the other end makes sense, so it's on you to keep the input and whatever's downstream consistent - if input is receiving an IMAGE, whatever you connect output to needs to expect an IMAGE too.
The seed widget doesn't do anything creative here - there's no randomness for it to control. Its job is purely to stop ComfyUI's execution cache from skipping the node on a re-run. Without something forcing a change each time, ComfyUI would treat an unchanged pause node as "nothing to do" and silently bypass the pause entirely on subsequent runs - which defeats the whole point of a manual checkpoint.
A practical use the author calls out: a long upscale chain where you want to sanity-check an intermediate image before committing GPU time to the expensive part. Wire the pre-upscale image through a Pause Resume node, and you get a chance to bail before you pay for a slow upscale on a bad generation.
The inputs and outputs that matter
input(required, any type) - whatever you want to gate.seed(default 1) - not creative randomness, just there to keep the node from being cached and skipped.- Output:
output- the same value, unchanged, forwarded once you click Resume.
How to install it
Through ComfyUI Manager: search Bjornulf_custom_nodes, install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/justUmen/Bjornulf_custom_nodes
cd into the folder and run pip install -r requirements.txt (a venv is the tidier option), then restart ComfyUI. This node itself needs nothing exotic beyond the shared pack dependencies - pausing and resuming is pure Python/JS logic, no external calls.
Common issues
If the workflow doesn't seem to pause at all, check that the node is actually connected inline - input needs something feeding it and output needs to lead somewhere, or ComfyUI may not even schedule the node to run. If it pauses once and then just sails through on every subsequent run without waiting, that's the seed-caching issue above: change the seed (or set its control widget to increment/randomize) so ComfyUI can't treat the node as unchanged. And if you never hear the alert bell despite the node visibly pausing, that's a much smaller problem than it looks - the pause state itself is always visible right there in the node UI, so you don't actually need the sound to know it's waiting on you.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| input | * | โ | |
| seed | INT | 1 | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | * | โ |