Smart Show Anything
Inspect any value in the graph without breaking the wire
- anything
- output
Every ComfyUI user eventually hits the moment where they think "what is actually in this wire right now?" and the answer is a blank stare at a node that won't tell you. Smart Show Anything is the tap you install for exactly that: it accepts any type, renders it as readable text in the node UI, and passes the value through unchanged so your graph keeps working. Debug node, zero opinion about your data.
The input is a single wildcard port called anything - the star type means it accepts CONDITIONING, LATENT, images, model objects, dicts, lists, whatever you connect. It returns output of the same type, untouched. That passthrough is the key detail: it's an output node (so it appears in the workflow and can be a terminal), but it also forwards the value, which means you can drop it inline - splice it into the middle of a wire - and inspect without forking anything. The recursive object unfolding in the backend formats nested structures (dicts inside dicts, conditioning dictionaries with their tensors) down to a readable depth, so when a node hands you a conditioning object that's secretly a list of [tensor, dict] pairs, you actually see it instead of a Python repr blob.
The front-end half is a small JS extension the pack ships. On execution it turns the value into one or more read-only multiline text widgets right on the node - no browser console spelunking, no digging through logs. The widgets are read-only and slightly faded so you can't mistake them for editable fields, and the node resizes itself to fit. When you reload a workflow it restores the last shown values, which is handy if you're comparing outputs across runs. The extra_pnginfo path even stores the displayed values into the workflow, so they persist with the saved graph.
Where it actually earns its keep: checking what a seed actually resolved to, verifying a conditioning dict picked up the concat_latent_image key you expected, confirming a text node's cleaned output before it hits an encoder, or watching a list-returning node's shape change between runs. It's the ComfyUI equivalent of a print() you never have to remove, because it's already a passthrough.
Fair warnings. Because it's a wildcard passthrough with UI, it does add a small amount of overhead if you leave a dozen of them in a heavy graph - keep them to the wires you're actually curious about. And for tensors, "anything" means the formatting shows shapes and summaries rather than pixel values - it's a debug readout, not a preview node; for actually looking at images you still want the standard preview. Recursive unfolding is capped at a depth of five to avoid blowing up on pathological objects, so deeply nested structures get truncated rather than printed in full.
Install through ComfyUI Manager (search "Smart Helper Nodes") or:
cd ComfyUI/custom_nodes
git clone https://github.com/slvslvslv/ComfyUI-SmartHelperNodes
Restart ComfyUI and hard-refresh the browser tab so the JS extension loads. No pip dependencies (empty requirements.txt), no models, no config - it's a pure helper.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| anythingopt | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | * | — |