Output String
The missing print statement for ComfyUI text nodes
Ever wired up a node that generates or transforms text - a wildcard-expanded prompt, something an LLM node spat out, a string built from three concatenated pieces - and had absolutely no way to see what it actually produced before it silently flowed into your CLIP encoder? That's exactly the gap Output String fills. It's the smallest node in the nui-suite pack, and it does exactly one thing: take a string in, and show it to you.
Think of it as print() for a ComfyUI graph. There's no processing, no transformation, nothing to configure. You plug a STRING into it, run the workflow, and the resolved text shows up in the node itself in the UI. That's the whole feature, and honestly that's the point - half the friction of using text-generation or wildcard-style nodes is not knowing what they actually picked on a given run, and this closes that loop with zero setup.
How it works
Output String is marked as an output node in its schema, the same category Save Image or Preview Image fall into. Output nodes are terminal - they're the end of a branch in the graph, and ComfyUI renders whatever they produce back into the UI once the run finishes. For an image node that means a thumbnail; for this node it means the literal text you fed it, printed on the node.
Because it's terminal, Output String doesn't pass anything further downstream - check the schema and you'll see it declares no outputs at all. If you want to both inspect a string and keep using it (say, feed it to a CLIP Text Encode after checking what a Dynamic Prompts node picked), you need to branch the wire before it reaches this node - a Reroute, or just running two separate wires out of the same STRING output. Output String only ever sits at the end of one of those branches.
The inputs and outputs that matter
There's exactly one input to worry about:
string(required,STRING) - whatever text you want surfaced. No multiline flag, no default, no tooltip from the author - it just takes what you give it.
No outputs. That's not a documentation gap, it's the whole design - this is a leaf node, not a pass-through.
How to install it
It ships as part of the small nui-suite pack alongside two other nodes (Dynamic Prompts Text Gen and Feeling Lucky Text Gen - see their own pages if you're using this to debug either of those).
- ComfyUI Manager - search nui suite, install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/space-nuko/nui-suite, then restart ComfyUI.
The README doesn't call out any Python dependencies or model downloads for this pack, and given what the three nodes do, that tracks - there's nothing here that needs a model file or a heavy library. It's a light, old-school utility pack from one of ComfyUI's early custom-node authors (space-nuko also wrote things like the OpenPose Editor and Disco Diffusion nodes back in ComfyUI's early days), not something under active heavy development, but there's also very little in three nodes this simple that can go wrong once it's installed correctly.
Common issues & troubleshooting
The node shows up but displays nothing. Check that the upstream node is actually producing a STRING and not, say, a CONDITIONING or some custom type that happens to render as text elsewhere in the UI - Output String only accepts genuine STRING connections, and ComfyUI won't let you wire a type mismatch in the first place, so if the connection succeeded the input is fine. More likely: the upstream node produced an empty string on that particular seed or run.
You want to keep using the text after inspecting it. Remember this node is a dead end - nothing comes back out of it. Split the wire before Output String, don't try to chain anything after it.
Import fails on startup. This is a tiny, dependency-free pack, so an import failure almost always means the clone didn't land where ComfyUI expects (double-check it's directly under custom_nodes/nui-suite, not nested a folder deeper) or ComfyUI wasn't restarted after the install. If ComfyUI Manager shows it installed but the node's missing from the search palette, restart - Manager installs the files, it doesn't hot-load new node classes into a running instance.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| string | STRING | — |
Outputs (0)
No outputs