Nodes/WO Nodes/Multiline String
ComfyUI Node

Multiline String

The one text box that keeps your prompts in sync

By without-ordinary·Created about a year ago·Updated about a year ago· 1
Multiline String
    • string
    string

    This node is one text box. That's it. Type across as many lines as you want, and the whole thing comes out the other side as a single string. If that sounds too trivial to matter, you've probably never pasted the same paragraph of quality tags into five different single-line widgets and tried to keep them in sync by hand.

    Why you'd reach for it

    It's the value-node pattern in its purest form: one source, many consumers. You've got a block of shared text - your quality tags, your negative prompt, a base prompt that every sampler in the graph needs. Put it in one Multiline String node, then wire that output into every CLIP Text Encode (right-click each text widget and "Convert to input" first). Change the text once, and every consumer updates. No more hunting through the graph for the one widget you forgot to edit.

    Because the output is a plain STRING, anything with a STRING input accepts it - not just CLIP encoders, but filename text fields, dynamic-prompt nodes, and the rest. It's the plumbing layer doing its one job: killing repetition and keeping the graph legible.

    How it works

    There's no mechanism to speak of, which is refreshing. The node's entire function is return (str(string),) - it takes the text and passes it straight through. One input called string (multiline, empty by default), one output called string. No conversion, no escaping, no hidden joins. It exists because a surprising amount of ComfyUI text is stuck in single-line widgets, and this hands you a box that behaves like a normal text editor.

    The honest take

    ComfyUI core already ships PrimitiveStringMultiline, which does exactly this same one-box-STRING-out trick. So if you're eyeing this pack purely for the multiline box, don't - the built-in primitive covers you and you save yourself a custom-node install. This node earns its place if you're already running wo_nodes for its other utilities (like Join Strings, or the model-list nodes) and want your string stuff grouped under one WO-Nodes category. It's a convenience node, and it's fine as one. The author's README sets the expectation itself: "Stuff. Possibly also things."

    Installing it

    Both string nodes come from the same pack, so the install step is identical:

    cd ComfyUI/custom_nodes
    git clone https://github.com/without-ordinary/wo_nodes
    

    Restart ComfyUI afterward. Or, with ComfyUI Manager, search for WO Nodes and install from the UI. No model downloads, no GPU requirement, and the pack declares zero Python dependencies - you can't break your environment with this one.

    Gotchas

    • The output is a strict STRING. Don't try to feed it into a list-typed or COMBO input expecting magic; ComfyUI won't coerce it.
    • It's a box, not a processor. There's no join, no formatting, no placeholders - if you need to combine several text blocks, that's what the pack's Join Strings node is for.
    • Don't look for more inputs or fancy options; there aren't any. The whole node is a text field with a wire.

    For a one-purpose node it punches exactly at its weight: type once, wire everywhere, change one thing. The kind of quiet utility that never shows up in a screenshot but makes every workflow with it feel less fragile.

    CategoryWO-Nodes/Strings

    Inputs (1)

    NameTypeDefaultDescription
    stringSTRING

    Outputs (1)

    NameTypeDescription
    stringSTRING