Eden_Debug_Anything
Finally see what a node is actually outputting
- input
- input
The single most frustrating ComfyUI debugging moment is the mystery wire: you know a node is doing something, but you can't see what, because the thing traveling down the wire is a dict, a tensor you can't eyeball, or a value that isn't shown anywhere in the UI. Eden_Debug_Anything exists for exactly that moment. Plug any input into it, run the graph, and it prints a detailed breakdown of the value's type and contents to your ComfyUI console - then passes the value straight through so you can keep building.
It's the pack's own answer to "what the hell is this node outputting?", and once you've used it a few times you'll wonder why every pack doesn't ship one.
How it works
It's an output node (flagged OUTPUT_NODE) with a single wildcard * input and a single ANY output that passes the value through unchanged. When it runs, it prints to the console, with the detail level shaped by what it finds:
- None - says so plainly.
- Tensors - prints type, shape, and dtype. That's the big one:
shape=torch.Size([1, 512, 512, 3])tells you in one line whether your "image" is actually an image or a latent or a mask-shaped oddity. - Dictionaries - iterates every key and prints each value's type, plus shape for tensors, length for lists, and a preview for strings. Perfect for inspecting latent dicts or any node that returns structured metadata.
- Lists/tuples - length plus the type of the first element.
- Strings - a 50-char preview.
The console output is your ComfyUI terminal - the window where you started it, or wherever logs appear. The node itself renders nothing fancy in the UI; its output IS the log.
The workflow-saver pattern
When a workflow errors or misbehaves, the fastest diagnosis is: break the chain, insert Eden_Debug_Anything at the suspicious wire, run, read. You'll learn three things instantly: what type the value actually is (half of ComfyUI's "expected X, got Y" errors), what shape a tensor has (is it batched? does it have the channel count you assumed?), and what a dict contains (which is how you find out that your "result" node returns {"images": ...} and you've been wiring from the wrong key). Because it passes input through to output, you can even leave it in place as a permanent logging probe during development - it costs almost nothing at runtime.
Inputs and outputs
- input - anything. Truly anything, it's wildcard-typed.
- input (output) - the exact same value, unchanged, so you can keep the wire flowing onward.
Installing
Part of edenartlab/eden_comfy_pipelines (Eden.art nodesuite), installed once for everything:
cd ComfyUI/custom_nodes
git clone https://github.com/edenartlab/eden_comfy_pipelines.git
cd eden_comfy_pipelines
pip install -r requirements.txt
Restart ComfyUI, or ComfyUI Manager β search "Eden". No models, no dependencies.
Gotchas
The main trap is forgetting where the output goes: the console, not the canvas. If you run this and see nothing, check that you're looking at your ComfyUI terminal window - and remember it only prints when the graph is actually queued and run. Also, since it's an output node, ComfyUI treats it as a terminal point; don't be surprised if it shows up as a "sink" in the graph even though it passes data through. And one more: for tensors it shows shape and dtype but not pixel values - if you need to see an image, preview it with a real preview node, not this one.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| input | * | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| input | ANY | β |