Console Log Relay
Peek at any value mid-graph without breaking the wire
- value
- value
ComfyUI's graph view shows you wires, not values. When a node is feeding garbage into your sampler, you usually can't tell - the preview node shows images, but a STRING carrying an empty string or a MODEL that's None just silently produces a broken run. Console Log Relay is the pack's answer to that: a debug node that prints whatever flows through it to the ComfyUI server console, then passes the value along untouched. Think of it as a print() you can drop anywhere in the graph.
It lives under Info-Prompt-Toolkit/Debug, and the author's design is refreshingly honest about what a debug node should be: it doesn't transform anything, it doesn't add a UI panel, it just tells you the truth about what's on the wire and gets out of the way.
How it works
The node accepts value of any type - MODEL, CONDITIONING, STRING, INT, latent, you name it, thanks to its match-type socket. When it executes it prints a line to the server console (the terminal where you launched ComfyUI), including:
- the node's ID, so you can tell which relay is talking,
- the optional
labelyou set, as a prefix, - the value's Python type,
- the value itself, truncated to about 120 characters.
Then it returns value unchanged on the other side. The output socket is the same match-type as the input, so the node is fully transparent - you can splice it into an existing wire and your workflow's behavior doesn't change, which is exactly what you want from an inspection tool.
The enabled boolean (default true) is the mute switch: flip it false and the node logs nothing, relaying purely. That's a nicer pattern than deleting the node when you're done debugging - you can leave relays in place and just turn them off, or toggle a whole batch of them off for a clean production run.
The one input worth your attention
label is the one you'll actually set. Give each relay a distinct label like "positive end" or "sampler seed" and the console output becomes instantly greppable - invaluable when you've got three relays in one graph and can't remember which is which. Without a label the node prints a dash.
The gotcha that gets everyone
The output goes to the server console, not the browser. People wire this node in, look at ComfyUI's UI, see nothing, and assume it's broken. The Python console running ComfyUI is where the log lands, so keep that terminal visible while debugging. The value is also truncated to ~120 chars - fine for checking a string isn't empty or an INT isn't NaN, but if you're dumping a huge prompt or conditioning tensor, you'll only see the head of it.
When to use it (and when not to)
Use it when a downstream node is misbehaving and you need ground truth: "is this prompt actually empty?" / "did the tagger return anything?" / "what seed did my generator produce this run?" It's the fastest single-node sanity check in the pack.
Don't use it as a permanent part of a workflow you run at scale - it prints on every execution, and in a big batch that's a wall of console spam. That's what the enabled toggle is for: leave it on during the debugging session, flip it off, and leave the relay in place.
Installing
Part of kinorax/comfyui-info-prompt-toolkit:
cd ComfyUI/custom_nodes
git clone https://github.com/kinorax/comfyui-info-prompt-toolkit.git
cd comfyui-info-prompt-toolkit
pip install -r requirements.txt
or install "Info-Prompt-Toolkit" via ComfyUI Manager, then restart. No model files, no extra dependencies - it's a pure logging utility, and one of the least risky nodes in the pack to add to a working install.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| value | COMFY_MATCHTYPE_V3 | Pass-through value to log to the server console | |
| enabled | BOOLEAN | true | If false, this node logs nothing and only relays the value |
| labelopt | STRING | Optional message prefix shown in console logs |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| value | COMFY_MATCHTYPE_V3 | — |