Nodes/LiamUtil/Display Text @Liam
ComfyUI Node

Display Text @Liam

The always-useful 'show me the string' node

By ai-liam·Created 2 years ago·Updated 2 years ago· 2
Display Text @Liam
    • text
    text

    Every ComfyUI user eventually hits the same wall: a workflow runs fine but you have no idea what string a node actually produced. Did the LLM node return the prompt you asked for? What did that wildcard expand to? Is the merge leaving a stray comma? This node is the answer - it takes a text input and shows it to you on the graph. That's all it does, and it's exactly what most people want from a "show text" node: dead simple, no configuration, wire it in and read the result.

    It's an output node, which in ComfyUI means it marks the end of a branch - the workflow only finishes once everything feeding it has run, and it'll force evaluation even if the string upstream is otherwise unused. Handy when you're probing a value that isn't connected to anything that renders.

    Inputs and outputs

    One required input: text, a STRING with forced input - meaning you must wire it from another node; there's no box to type into. One output: text, the same string, passed through. The pass-through matters: you can drop this node mid-pipeline to inspect a value and still keep feeding it onward, rather than treating it as a dead end.

    How it works

    Nothing clever - the string is rendered in the node's UI widget on each execution and returned unchanged. There's no history view, no markdown, no copy button. If you need to see a long conversation transcript or an image-side preview, this isn't it; it's a single-string display, and it stays out of your way.

    Installing it

    Part of LiamUtil:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ai-liam/comfyui-liam
    pip install -r requirements.txt
    

    or ComfyUI Manager → search LiamUtil → install → restart. The only pip dependency is opencv-python, and this node doesn't even touch it - it's pure plumbing.

    Where people get burned

    The "forced input" is the one gotcha: because you can't type into it, beginners sometimes think it's broken when it shows up empty in the node menu. Wire it to something - an LLM reply, a prompt encoder's text, a Merge Text output - and it fills in. Also note that because it's an output node, leaving it in a workflow adds a small evaluation cost and forces that branch to run even when you thought you'd disconnected it. There are beefier display tools in the ecosystem with history and rich text, but for a quick "what's in this string," this one does the job with zero setup and is well worth the two seconds it takes to add.

    CategoryLiam/text

    Inputs (1)

    NameTypeDefaultDescription
    textSTRING

    Outputs (1)

    NameTypeDescription
    textSTRING