ComfyUI Node

Dump

A print statement for your ComfyUI graph

By jn-jairo·Created 2 years ago·Updated 2 years ago· 5
Dump
  • flow
  • value
  • flow
mode_reprfalse
title

You're three nodes deep into a graph and something downstream is getting garbage. Is the upstream node actually producing what you think it is? Rather than guessing, wire the wire into JN_Dump and it'll tell you - straight to the console, no need to break the connection or reroute anything.

JN_Dump comes from JNComfy (jn-jairo/jn_comfyui), a sprawling grab-bag of a pack - audio TTS and voice conversion, face restoration, sampling tweaks, and a whole family of small logic primitives - built and maintained by one person. It's not a pack you'll see discussed anywhere; there's essentially no chatter about it in the community, which tracks with what it actually is: a personal toolkit the author made public, not a project chasing an audience.

How it works

Wire anything into value and JN_Dump prints it to the log when it runs. mode_repr (a checkbox) picks the format: off gives you a plain, readable string; on gives you Python's repr(), which is the one you want when the plain version is ambiguous - is that field an empty string or actually None? Is that a 5 or a 5.0? repr() shows you the difference. title is just a label, so when you've got several JN_Dump nodes scattered through a big graph, the log line tells you which one fired.

The one non-obvious part is flow. ComfyUI decides what to execute based on which nodes' outputs feed which other nodes' inputs - a debug node sitting off to the side, wired only into value, can end up executing in an order you didn't expect, or getting skipped entirely (more on that below). flow is a pass-through plumbing wire, not data: connect something into it and connect its flow output onward, and you pin JN_Dump into the actual sequence you care about.

The inputs and outputs that matter

  • mode_repr (boolean, defaults off) - plain print vs. repr().
  • title (optional text) - labels the log line.
  • value (optional, any type) - what you actually want to inspect.
  • flow (optional, any type) in and out - execution-order plumbing, not data.

Installing it

Through ComfyUI Manager, search for "JNComfy" or "jn_comfyui" and install. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/jn-jairo/jn_comfyui

Restart ComfyUI. JN_Dump has no model downloads and no heavy dependencies - it's a print statement, nothing more.

Common issues & troubleshooting

Nothing shows up in the log. Check two things. First, you're looking in the browser console instead of the terminal running ComfyUI - custom-node prints land server-side, not in the page's dev tools. Second, and more specific to this node: is_output_node on JN_Dump is false. ComfyUI only runs non-output nodes if something downstream actually needs their result. If flow doesn't lead anywhere, and nothing else depends on this node, ComfyUI may decide it has no reason to execute it at all - so an unconnected dump can silently just not run. Wire flow through to something (even back into the node you're debugging, if that's convenient) to force it.

You want a dump that always fires, no wiring required. The pack's own README lists a sibling, JN_DumpOutput, right next to this one - it's marked as an actual output node, so unlike JN_Dump it runs unconditionally. Not covered here, but worth knowing it exists if you keep fighting the flow-wiring requirement.

Can't tell an empty string from None. That's exactly what mode_repr is for - flip it on before you start guessing.

CategoryJN/Other

Inputs (4)

NameTypeDefaultDescription
mode_reprBOOLEANfalse
titleoptSTRING
flowopt*
valueopt*

Outputs (1)

NameTypeDescription
flow*