πββ¬ Display String Multiline
The same string viewer, for text that runs on
- text
- unique_id
Display String Multiline is the sibling of this pack's Display String node, and it does exactly what the name says: take a multiline string, render it on the node, and pass it through. If you're inspecting anything longer than a sentence - a full prompt, a block of negative prompts, a multi-line description - this is the one to grab, because the read-only display box is multiline in both cases and wraps properly.
Honestly, for most people this is the better default of the two. The single-line variant is fine for a filename; anything that isn't a filename is usually multiline. They share the same JS under the hood - the frontend extension registers both node classes and gives them identical behavior.
How it works
Same machinery as Display String, with one difference in the input: the text field has multiline enabled in addition to forceInput. The node is an output node (OUTPUT_NODE = True), so it acts as a graph endpoint - ComfyUI runs the chain feeding it so the value can be displayed. On execution, the frontend fills a read-only widget with the text, and the widget's serialized value is deliberately cleared on save so your workflow JSON stays clean.
Inputs and outputs
text- the multiline string you wire in. Like the single-line version,forceInputmeans you can't type directly into the node; feed it from a multiline text node or any upstream STRING output.- Outputs:
text(pass-through) andunique_id(the node's id string, used internally by the display logic).
Installing it
Install the whole pack - the node ships inside Super Loader. Via Manager, search "Super Loader", or:
cd ComfyUI/custom_nodes
git clone https://github.com/markuryy/ComfyUI-SuperLoader
Restart ComfyUI afterward. No pip dependencies, no model files, MIT license.
Gotchas
- Still can't type into it. Multiline input doesn't mean free text entry on the node -
forceInputis set, so wire it from a text node. - The displayed text doesn't survive a workflow save/reload; it repopulates on the next run. Don't treat it as persistent annotation.
- It only updates when executed, so a bypassed upstream leaves an empty box - which, as with the single-line version, is itself the debugging hint.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| text | STRING | β |
| unique_id | STRING | β |