Inspect
See What's Actually Flowing Through That Wire
- item
- *
When a workflow misbehaves, the first question is almost always "what is actually coming out of that node right now?" Inspect answers it the low-tech way: it prints the value to the terminal and hands it back untouched. No graphs, no image preview, no fuss. Just a yellow INSPECT: line in the console so you can see exactly what's on the wire.
It earns its place the moment you're debugging something type-flaky. ComfyUI's * wildcard inputs (which this pack uses a lot, in Any String and the chunk nodes) accept anything, which is great until the wrong thing shows up. Drop Inspect inline between two nodes and the console tells you whether you're looking at a latent dict, a tensor, or a list of chunks you didn't expect.
How it works
Inspect is nearly empty under the hood. It takes one wildcard input, calls the rich console to print it in bold yellow, and returns the exact same object. That pass-through is the whole trick: wire it into the middle of a connection and it's a spy on the wire, not a transform. It's flagged as an output node too, so it's happy sitting at the end of a branch as a debug tap.
The inputs that matter
Just one, honestly:
- item (
*wildcard) - anything: a string, an image tensor, a latent dict, a list of chunks. Whatever you hand it, it prints.
The single output is also *, the identical object you fed in. If you're logging a result, that's fine - nothing downstream depends on this node's "result," which is exactly why it's safe to leave in the graph.
Where people get burned
- It prints to the terminal, not the browser. The console where ComfyUI runs is the audience. If you're driving ComfyUI headless or from another machine and never look at its stdout, Inspect is invisible to you. You'll sit there wondering why nothing shows up.
- It only prints when it actually runs. ComfyUI caches node results, so if nothing upstream changed since the last execution, Inspect has nothing new to say. Nudge a seed, toggle the node, or change an upstream widget and watch the terminal light up.
- Latent dicts print ugly. A
{"samples": tensor(...)}line is not readable by eye, but the shape and dtype in the tensor repr still tell you what you need.
Install
Same as any custom node pack. Easiest is ComfyUI Manager (it ships with ComfyUI these days): open Manager, search ComfyUI-Vivax-Nodes, install. Or clone by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/vivax3794/ComfyUI-Vivax-Nodes
then restart ComfyUI. The only Python dependency is rich, which Manager installs for you; cloned by hand and hitting an import error, run pip install rich in ComfyUI's environment. No models, no keys.
One ecosystem note: a custom node pack is arbitrary code that runs with your user account when it loads. This is a small personal pack with a single contributor, and it's only a few hundred lines - worth a skim of the repo before you trust it with anything sensitive, same as any node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| item | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |