Show Any (TJ)
See what's actually inside any wire without breaking it
- any
- output
The universal debug viewer that never breaks your graph
Show Any (TJ) is TJ_NODE's lightweight universal inspection node: plug any value into it and it renders a human-readable view of what's actually flowing through that wire, while passing the original value through untouched on the output slot. String, number, list, dict, tensor, plain Python object - it figures out what it's looking at and shows you something useful.
The reason this earns a place in your workflow is the passthrough. Most debug nodes terminate the flow; this one sits in the flow, so you can leave it permanently spliced into a wire and it never changes anything downstream. It's the node you add when a workflow is "working" but you don't trust what's actually inside a value - which, in ComfyUI, is most of the time.
How it works
The backend is a straightforward any-type sink: any (or the text widget) in, and _tj_any_to_text() renders a safe text summary for the UI. Tensors get a summary rather than dumping raw numbers - shape, dtype, that kind of thing - and JSON/dicts get pretty-printed. There's a copy button so you can grab the rendered text. Crucially, the output is the original object, not the rendered string, so downstream nodes see exactly what they'd have seen without the node.
It also has the pack's wireless hooks: get_name receives a value wirelessly (from a Set Node), and setnode_name re-publishes it, so you can tap into a provider without touching the graph - the "wireless provider inspect" use case.
The inputs that matter
Three:
any- the value to inspect. Accepts any type; this is the one you'll actually use.get_name- pick a wireless provider instead of wiringanydirectly.setnode_name- optionally re-publish the value under a name for other nodes.
Output: output (the original value, untouched).
Install it
Part of TJ_NODE, no extra deps:
cd ComfyUI/custom_nodes
git clone https://github.com/designloves2/ComfyUI-TJ_NODE.git
Or ComfyUI Manager → search TJ_NODE, restart. Category: ✨ TJ_Node/Preview.
Where people get burned
The main trap is expectation: Show Any shows you a summary, not necessarily the whole object. A tensor is summarized (shape/type), not printed element-by-element - if you need raw values, that's what the copy-to-clipboard and a downstream debug node are for. Second, don't mistake it for Smart Show (TJ) - that sibling is the fancier one with file loading, edit mode, and embedded Get; Show Any is the minimal, always-safe inspect node. And remember it's an output node: leave it connected as a passthrough and it renders on every run, which is exactly what you want for debugging but a tiny amount of extra UI work on production runs. You can bypass it without consequences, since it never alters the value passing through.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — | |
| get_name | COMBO | 1 options: (none) | |
| setnode_name | STRING | — | |
| anyopt | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | * | — |