Nodes/Quality of life Suit:V2/Debug Text route _O
ComfyUI Node

Debug Text route _O

Spy on a string without cutting the wire

By omar92·Created 3 years ago·Updated 5 months ago· 181
Debug Text route _O
    • STRING
    text
    prefixdebug

    Regular Debug Text _O is a dead end: it prints your string and stops there. Debug Text route _O is the same trick with a wire running through it - it prints the value and passes it straight out the other side. You drop it mid-route, look at the console, and the string keeps flowing to wherever it was already going. No re-connecting, no bypassing, no "let me just see what's here for a second."

    That distinction sounds trivial until you've got a long pipeline and a value you want to inspect at step four without dismantling steps five through nine. This is the node you reach for when you suspect a string is being mangled somewhere in the middle of a chain - a Concat Text _O inserting the wrong separator, a Replace Text _O matching more (or less) than you expected, a RandomNSP term landing in the wrong slot. Tap the wire, read the console, move on.

    How it works

    Mechanically it's a print plus a pass-through. The source prints the same QualityOfLifeSuit_Omar92:<prefix>:<text> line to the terminal as its dead-end sibling, then returns the text untouched. Inputs are identical too:

    • text - the STRING to inspect (and pass through).
    • prefix - default "debug", the label printed before the value so multiple debug nodes don't blur together.

    The single output is a STRING carrying the exact same text that went in. That's the whole trick - nothing is modified, no trimming, no formatting. What you see in the console is byte-for-byte what reaches the next node.

    One honest caveat: the value only prints when the node actually executes, and since it sits inline in a route it runs in the normal execution order. If it's upstream of a node that gets pruned or skipped, you'll get no line - which, again, is information.

    Where it fits

    Use the route version when you want to keep the graph intact; use the dead-end version when the string has nowhere else to go anyway. In the pack they live side by side under O/debug/text, and both belong to the modern O/text suite rather than the deprecated STR-typed string nodes. If you're assembling prompts across multiple nodes and the final CLIP encode isn't seeing what you built, this is the cheapest instrument you own - tap the wire right before the encode and see the truth.

    Installing it

    It's part of the Quality of Life Suit pack (omar92/ComfyUI-QualityOfLifeSuit_Omar92) - install the pack once and every O/ node comes along. Via ComfyUI Manager, search "Quality of Life Suit". Or clone:

    cd <ComfyUI>/custom_nodes
    git clone https://github.com/omar92/ComfyUI-QualityOfLifeSuit_Omar92.git
    

    Restart ComfyUI (not just a browser refresh). No models, no extra pip packages for this node. Like every node in the pack, it appears in the O/ menu. Note the pack's config.json defaults autoUpdate to true, so it may pull new commits on startup; flip that to false if the folder changing out from under you is a problem.

    Common issues

    • The line doesn't print. Remember the console is the terminal that launched ComfyUI, not the browser tab. And check that the node isn't inside a bypassed or muted group.
    • Text looks fine in the console but wrong in the output. Then the corruption happens after this node - move the debug route further downstream.
    • You've left ten of these in a shared workflow. Different prefixes help, but for anything you're exporting to the community, delete them first. Nobody wants your debug noise in their console.

    It's a boring node that does exactly one thing - and when a string-based workflow is misbehaving, that one thing tends to be the difference between a two-minute fix and a two-hour teardown.

    CategoryO/debug/text

    Inputs (2)

    NameTypeDefaultDescription
    textSTRING
    prefixSTRINGdebug

    Outputs (1)

    NameTypeDescription
    STRINGSTRING