Active error triggering
Raise an error on purpose when a signal fires
- void
Active error triggering (class BatchIteratorErrorException) does exactly what its display name says: it raises an error on purpose. When singal comes in true, the node throws - the run stops, ComfyUI shows you the error, and you get a hard, visible halt exactly where you put the node. It's the pack's version of an assert or a breakpoint for graph debugging.
Where you'd use it: you have a loop or a branch that sometimes produces a condition you don't want to silently continue past - a value you know is wrong, a state you want to inspect, a case that shouldn't happen. Wire the suspect boolean into singal, and when it flips true the workflow stops right there so you can see the state instead of letting a bad run finish and print garbage. It's a debugging tool, not something that belongs in a polished production workflow - it's supposed to hurt when it fires.
How it works
singal true → prints a line to the server console and, unless silent_mode is on, raises an exception that halts the run. silent_mode true → returns an ExecutionBlocker instead, which quietly skips downstream without erroring - the gentler version. singal false → passes through, nothing happens. The output, void (BOOLEAN), echoes the signal.
The inputs that matter
singal(BOOLEAN, defaultfalse) - the trigger. When true, things stop. (Yes, the author's spelling: "singal." It's consistent across the pack.)silent_mode(BOOLEAN, defaultfalse) -trueswaps the hard error for a silent block.
Installing it
No dependencies, no model files. ComfyUI Manager → search "AsyncOutput" → install and restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/teddy1565/ComfyUI-AsyncOutput
It's under AsyncOutput/BatchIterator/SystemTools.
Where people get burned
The trap is leaving it in a workflow you actually run. Unlike a normal error that means something's broken, this node errors because you told it to, so when it fires during a real batch you may stare at the traceback wondering what broke - the answer is "the node you forgot to remove." silent_mode exists for exactly that fear, but then the halt is silent and easy to miss. The sibling BatchIteratorStoreProbe is the softer version of the same idea: instead of halting, it prints the internal state you care about and keeps going. If you're mid-debug, probe first, throw later.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| singal | BOOLEAN | false | — |
| silent_mode | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| void | BOOLEAN | — |