LC Show Any 🔤
Peek at any value mid-wire without breaking it
- any
- any
The most common debugging move in ComfyUI is also the most destructive: you unplug something, drop a preview node on it, forget to plug the real wire back, and queue. A minute later you're staring at a graph that looks fine and produces the wrong thing. LC Show Any 🔤 fixes that by being a pass-through first and a display second. Wire it in-line, it shows the value on the node's face, and the same value comes out the other side - type intact. An INT stays an INT, a sampler name stays a sampler name. It can sit in the middle of a wire and nothing downstream notices.
How it works
It's a wildcard node: one input any, typed *, and one output any, also *, returning whatever came in unchanged. That type preservation is the whole trick. The usual way to display a value mid-graph is to route it into a text-ish node that stringifies it, which means you now have a string where you used to have a number. This one hands back the identical object.
The description it prints depends on what it's looking at:
- numbers and booleans render plainly - booleans as lowercase
true/false, notTrue - strings print as-is, and if the string happens to be JSON it gets prettified, which makes it genuinely useful for inspecting the workflow-ish payloads that float around modern graphs
- an IMAGE tensor shows its dimensions, batch and channel count; a MASK shows dimensions and batch
- a LATENT shows the shape of its
samplestensor - a list of plain values prints one per line; anything else gets summarised as a type and length with the first few items
It's also marked as an output node, meaning it always runs and the cache works backward from it. That's how the display stays current even when nothing downstream depends on it - and the flip side is that it keeps its branch executing when the rest of the graph would have been skipped as cached.
When you'd reach for it
Anything you can't see. Which sampler name is actually arriving after a combo selector, whether that boolean is genuinely true, the real batch size coming out of a resize, the filename list from a folder loader, the seed a sampler node actually resolved to. Then leave it in. That's the underrated case: a Show Any parked on a value you care about turns an opaque workflow into one that tells you what it's doing, and because it passes through, you can abandon it there without penalty.
Where it isn't the right tool: long multi-line text is cramped on a node face - the pack's LC Show Text is for that - and if you're inspecting the widget values of another node rather than a wire, LC Widget To String is closer.
Installing it
Part of the pack's single install. No pip dependencies: the repo doesn't ship a requirements.txt, and the pack runs on what ComfyUI already provides.
cd ComfyUI/custom_nodes
git clone https://github.com/lonecatone23/ComfyUI_LC123_nodes.git
Manager users: search ComfyUI LC123 Nodes, install, restart. Confirm the [LC123] loading from … and total-node lines in the console. The pack is under active development (1.42.2, 127 Python nodes plus a handful of JS-only UI pieces), so if the node face renders oddly after an update, hard-refresh the browser - the display and several other pack nodes are drawn by frontend JavaScript, and ComfyUI won't reload those by itself.
Common issues
"Nothing is connected" and it still runs. An unwired any is a wildcard input with no declared type, so ComfyUI has nothing to refuse. You'll get None on the face. Wire something before assuming the node is broken.
It shows a size, not the picture. Deliberately - this is a text readout, not a preview. For images you want to look at, use the pack's preview nodes or a core Preview Image.
Sockets connect that shouldn't. That's the wildcard, and it's a real cost. The ecosystem's standing complaint about anything-anywhere nodes is that type erasure makes a graph impossible to debug by eye, because a wire that connects may still be feeding the wrong kind of value. Use * where you need it, and keep typed wires where a mistake is expensive.
Nested folder, no nodes. The one install failure that accounts for most of them: if the zip unpacked into ComfyUI_LC123_nodes/ComfyUI_LC123_nodes/, __init__.py is one level too deep and none of the nodes register. The pack prints a warning naming the ignored path - read the console before you start reinstalling.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| any | * | Anything. Numbers, text, dropdown values and booleans show as-is. Images, masks and latents show their size. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| any | * | — |