ViewComfy - Show Error Message
Kill the Workflow With a Message You Actually Control
ComfyUI fails loudly, but usually with a message nobody asked for. Show Error Message flips that: it halts execution on purpose, with wording you chose. Feed it a boolean and some text, and when the condition is true it stops the workflow dead and shows your message. When the condition is false, it does nothing and lets everything continue. That's validation as a node - and it's the missing link between "workflow that runs" and "workflow that behaves like a product."
The inputs are three: show_error (a BOOLEAN, default True - the on/off switch for whether to abort), error_message_part_1 (a multiline string, defaulting to "Workflow Execution Failed"), and the optional error_message_part_2 (another multiline string, appended to the first). There are no outputs; it's an output node that either raises an exception or returns quietly. Why two message parts instead of one? So you can wire part one as a static label and part two as a dynamic value from the graph - the actual offending number, the filename, whatever - and get a composed message like "Image is too large 2048px" without touching anything by hand.
How it fits the pattern: the pack's own example workflow is the perfect illustration. Load an image, measure it with Get Image Size, run a Compare, and wire the boolean into Show Error Message: if the image exceeds your limit, the workflow stops with "Image is too large" instead of limping forward into a node that chokes or a user who's confused. It's the guard-rail node for building ComfyUI apps or APIs - the thing that turns "silent bad output" into "clear, intentional failure." It composes beautifully with the pack's Compare and Conditional Select nodes, which is clearly how the authors use it.
The one thing to keep in mind: this raises a real exception, so it's a hard stop, not a soft warning. If show_error is true the run is dead - downstream nodes don't execute, and whatever you had mid-flight is lost. Use it for genuinely fatal conditions (bad input, missing file, out-of-range value), not for things you'd rather handle gracefully by routing around. For "abort the bad branch but keep the good one," Conditional Select or the Anything Inversed Switch is the gentler tool.
Also worth knowing: with the default show_error of True, the node will abort every run until you wire it to something. If you drop it in and see mysterious failures before you've connected the boolean, that's why - either flip the widget to False or wire a real condition in.
Installation is standard for the pack: ComfyUI Manager → search "ViewComfy-Utils" → install, or clone by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/ViewComfy/ViewComfy-Utils
Restart ComfyUI after. No extra dependencies beyond stock ComfyUI, no model downloads, MIT licensed. If you're exposing workflows to other people - through an app, an API, or just a shared file - this is the difference between "it broke" and "here's exactly why," and that difference is worth a lot.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| show_error | BOOLEAN | true | — |
| error_message_part_1 | STRING | Workflow Execution Failed | — |
| error_message_part_2opt | STRING | — |
Outputs (0)
No outputs