ComfyUI Node

Print

The debug node that prints a label to your console

By adrianschubek·Created about a year ago·Updated about a year ago· 1
Print
  • input
  • output
prefix
message

When a workflow isn't doing what you expect, the first question is always "did this branch even run?" That's what ZeugPrintPass is for: you drop it on a wire, give it a message, and every time the workflow executes it prints that message to ComfyUI's console - then passes your data straight through so it doesn't disturb the graph. It's a breadcrumb for your own pipeline.

What it is

ZeugPrintPass lives in the zeug → Extra menu. Three inputs: input (any type), prefix (a STRING, default empty), and message (a STRING, default empty). One output, output, which is whatever you fed in - the node never touches the data, which is the whole point of a passthrough.

When the workflow runs, the node prints prefix + message to the terminal (the console where ComfyUI itself logs), then hands the input through unchanged. It also has OUTPUT_NODE set, which in ComfyUI terms means it reports a result to the frontend and won't be pruned as unused - so it's safe to hang off a wire purely for observation.

When you'd reach for it

  • Confirming a branch executes at all: put it on a conditional path, label it "positive path", and check the console when you queue a run.
  • Marking milestones in a long workflow - "encoding done", "upscale started" - so you can tell where time is going.
  • Tagging which of several paths actually ran when you're debugging a switch or a conditional.

It's the ComfyUI-native equivalent of a print() in code, which is a genuinely useful debugging habit in a graph editor where nothing is visible by default.

The one thing that trips everyone up

It prints the label, not the value. prefix and message are static text - the node does not print the contents of input. So if you wire a string in and expect to see it in the console, you'll get your label and nothing else. That's the design (it's a marker, not a dump), but it surprises basically everyone on first use. If you need to see an actual value, convert it to text with ZeugFloatToStr or ZeugIntToStr and build it into the message yourself, or use a show-text node from a bigger pack.

How to install it

Ships in comfyui-zeug (German for "gear" or "stuff"), a small GPL-3.0 pack by Adrian Schubek:

  • ComfyUI Manager: search zeug in the Custom Nodes Manager, install ComfyUI-Zeug.
  • Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/adrianschubek/comfyui-zeug

Restart ComfyUI. Zero dependencies, no model downloads - just torch and ComfyUI's own modules.

Common issues

Beyond the label-vs-value gotcha: remember the output is visible in the console/terminal, not in the UI. If you're running ComfyUI via a desktop shortcut with no visible terminal, you may see nothing at all - look for a console window or check the logs. And since it's a passthrough, removing it from the wire changes nothing about your graph's behavior - so when you're done debugging, it's safe to delete. That's the best thing about it: a debug node that leaves no trace.

Categoryzeug/extra

Inputs (3)

NameTypeDefaultDescription
input*
prefixSTRING
messageSTRING

Outputs (1)

NameTypeDescription
output*