Beautify
The debug node this pack is secretly loved for
- data
Beautify is the pack's debug node, and - funnily enough - the node people actually gush about. When the author posted the JunctionBatch + Loop update back in 2023, a reply called it "the most powerful debug node we have to date. I finally can see exactly what's happening with any output on the workflow," and someone else chimed in with "I use beautify everywhere now." For a pack that describes itself as "random nodes ... have varying quality," that's a decent reputation to have.
It solves a real ComfyUI pain. When you wire a custom pipe type - a Highway pipe, a Junction pipe - into a normal node, ComfyUI can't show you what's inside; you just get a wire and a guess. Beautify takes whatever you connect to data (it's a * wildcard, so it accepts anything) and recursively prints the structure as text in the UI. No outputs, because it's an output/display node: it exists to be the last thing on a wire while you're figuring out what that wire actually carries.
How it works
The mode enum picks how deep the inspection goes:
basic- the minimal view: types and keys, not contents.more- everything frombasicplus the actual values, but it stops expanding when it hits a non-iterable object (like a tensor or a model).full- recursively expands as much as possible. This is where you'll actually find theRevisionDictinnards of a Highway or Junction pipe.json- triesjson.dumpson the input. Clean output when the data is serializable; if it isn't, you get"Cannot convert to JSON."straight from the source.wat- dumps the object throughwat-inspector, which shows everything, including memory-ish internals. This is the "I have no idea what this thing is" escape hatch.
The heavy lifting is beautify_structure in the pack's utils.py - a recursive formatter that walks lists, dicts, and the pack's internal RevisionDict pipe structures and lays them out as readable text.
The inputs that matter
There's genuinely one input that matters: mode (the five-way enum above). The optional data is a wildcard that accepts any single output - stick it on the end of a Highway pipe, a Junction pipe, a list, a dict, or a plain tensor and hit run. Start with more for day-to-day checks, jump to full when you're debugging the pack's own pipes.
How to install it
Standard for this pack - ComfyUI Manager, search "ComfyUI-0246", or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/Trung0246/ComfyUI-0246
then restart. No models, no heavy deps. One caveat: wat mode needs wat-inspector, which is in the pack's requirements.txt but is very much an optional extra - if it's not installed you'll get an import error when you pick wat. If you never use that mode, don't worry about it.
Common issues & troubleshooting
"Cannot convert to JSON." Expected - your data has tensors or custom objects in it. Switch to full, which doesn't try to serialize, just print.
wat mode errors out / nothing shows. wat-inspector isn't installed or your ComfyUI Python env lost it. It's the only dependency this mode needs; pip install wat-inspector into ComfyUI's Python fixes it.
Nothing appears in the UI. Beautify's output goes through the node's ui text result - check that the node isn't muted or bypassed. A muted output node prints nothing and tells no one.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | 5 options: basic, more, full, json, wat | |
| dataopt | * | — |
Outputs (0)
No outputs