π± PROJECT PAUSE
Pause a running workflow mid-generation
- input
- output
ComfyUI has a Cancel button, but it's a sledgehammer: it kills the entire queue. Project Pause is the middle ground - a node you drop into a workflow that lets you hit the brakes mid-run, actually look at what just rendered, and then let the rest of the job continue. If you've ever wished you could review a frame before committing to the upscale or img2img leg, this is the node that keeps saying "hold on."
It comes from Artha-Projekt, a small project-management pack by the GitHub user Cyrostar. It's a quiet pack - a handful of nodes, no big community footprint, nothing on Reddit about it - and this is easily the most interesting one in it.
How it works
Project Pause is a pass-through gate. Wire anything into the input socket - the any-type socket accepts literally any type of data - and whatever goes in comes back out unchanged on output. The value is irrelevant; the point is that the node executes.
The real machinery lives in the button the pack draws on the node. Click PAUSE and it POSTs to a tiny route ComfyUI's server exposes (/artha/project_toggle_pause_button), which flips a global pause flag. The next time the node executes it sees that flag and spins in place, sleeping in 0.1-second slices, until you click RESUME. That's the whole loop - no timers, no fancy scheduler hooks.
Two details make it not-horrible in practice. First, it's cancel-safe: each spin checks processing_interrupted(), so if you mash Cancel instead, it breaks out of the loop and sends a message back to the frontend so the button resets itself. Second, the node deliberately reports itself as always-changed, so ComfyUI never skips it as "nothing to do" - the pause always actually fires.
Where you'd actually put it
The obvious spot is between a Save Image and whatever runs next: generate β save β pause β upscale, or between frames of a video loop so you can eyeball the last render before burning more GPU time. That review step is exactly where you catch a broken prompt or a bad seed before wasting ten minutes on the slow half of a workflow.
The traps
Project Pause pauses the whole queue, not just your branch. ComfyUI executes in a single worker thread, and this node blocks it, so everything downstream - and anything queued after - waits. That's usually what you want, but it means you can't use it to pause only one leg of a parallel workflow.
The bigger gotcha: if you click PAUSE and walk away, nothing times out. It will wait for you forever. There's no auto-resume. If your ComfyUI is on a server you access remotely, that's a real footgun - a paused workflow is a stuck queue.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/Cyrostar/Artha-Projekt
Restart ComfyUI, or install it via ComfyUI Manager by searching "Artha-Projekt". Good news for the security-minded: this pack has zero Python dependencies, no model downloads, no API keys, and no network calls on install. It only imports things ComfyUI already ships (folder_paths, the prompt server, aiohttp). About as clean a custom node as you'll find in the ecosystem.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| input | * | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | * | β |