Pepe Console Print
Print from inside your workflow, right where the logs live
- value
- value
When a workflow misbehaves, you eventually want to print something and see what a value actually is at some point in the graph. ComfyUI's core doesn't give you a reliable way to do that - and the naive version has a nasty failure mode: ComfyUI caches aggressively, so a "print" node that sits on an unchanged branch simply doesn't run, and you see nothing. Pepe Console Print is the fix. It prints a message to the terminal running the ComfyUI server, every single time you queue, and passes whatever value you route through it along completely unchanged.
How it works
The mechanism is worth knowing because it's the same trick the community relies on across a whole family of utility nodes. ComfyUI skips nodes whose inputs haven't changed, comparing the result of each node's IS_CHANGED against the last run. This node's IS_CHANGED returns float("nan") - and NaN is never equal to itself, so the comparison always fails and the node is always re-executed. The KB calls this the always-rerun trick, and it's exactly what you want from a print node: no matter how boring the graph looks, your message fires on every queue.
The rest is straightforward. message is a multiline text field - put whatever you want to see. color is a dropdown with 15 ANSI colors (the usual set plus a bright variant of each), so your debug lines can stand out in a noisy terminal. On Windows it also pokes the console to enable ANSI escape handling, which is the kind of detail that means your colors actually render in cmd instead of dumping raw escape codes. The value input is a wildcard * socket, so you can hang it off an image, a latent, conditioning, a string, a number - whatever - and it passes through byte-for-byte identical.
Where to put it
Inline, on the wire you're curious about. Because it passes the value through, you can drop it between any two nodes without disturbing the flow. Use it to confirm a branch actually ran, to log an intermediate number, or to check whether a file got loaded. It's the ComfyUI equivalent of a print() you never have to remove.
The one gotcha that bites everyone
It prints to the server console - the terminal or CMD window you launched ComfyUI from - not the browser tab. First-time users stare at the frontend waiting for a message and see nothing, then assume it's broken. If you run ComfyUI as a background service or on a remote box, "the console" is wherever that process logs; that's where your message lands.
Installing it
It's in the ComfyUI-PepeUtils pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Pepehoschi/ComfyUI-PepeUtils.git
or search ComfyUI-PepeUtils in ComfyUI Manager and restart. No extra packages - it's pure Python and stdlib.
One honest caveat: because this node refuses to be cached, it re-runs on every queue. For a print node that's the desired behavior, but the same NaN trick poisons the cache for anything downstream of it - so don't leave it sitting on a hot path once you're done debugging.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| value | * | Any value to pass through unchanged | |
| message | STRING | Text printed to the ComfyUI server console when this node runs | |
| color | COMBO | Default | ANSI color used for the console message |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value | * | — |