ComfyUI Node

hswq_SimpleString

The SimpleString node you probably don't need

By ussoewwin·Created about a year ago·Updated 5 days ago· 23
hswq_SimpleString
    • stringout
    ◄string►

    hswq_SimpleString does exactly one thing: it holds text in a widget and hands it out as a STRING on an output called stringout. The input is string, a single-line text field, default empty.

    That's the entire node. If you're here because you saw it in a workflow and wondered what the trick was, there isn't one - the author's own description reads "Deprecated - use the core comfy string", and they're right.

    Why it exists at all

    Because it arrived with the Use Everywhere family, and the whole family is about breaking values out of widgets so they can travel. A prompt typed into a CLIP Text Encode can't go anywhere else. Feed the same text through a node that emits a STRING socket and now other nodes can read it - a second encoder, a save-filename prefix, a wildcard-ish utility that seeds a prompt from a file. ComfyUI's plumbing essay in one sentence: the widget becomes a value, the value becomes a wire.

    Core ComfyUI caught up with that years ago. PrimitiveString and PrimitiveStringMultiline are the first-party version, both are typed up front rather than inferred, and the multiline one exists precisely because prompts are multi-line. hswq_SimpleString is single-line only - the schema declares multiline: false - so for actual prompt text it's the worse tool of the two.

    One thing it is not

    Despite the everywhere/ category and the shared hswq_ prefix, this is not a broadcast node. I checked the family's node-recognition list in the frontend and SimpleString isn't in it - no virtual links, no regex matching, no queue-time graph rewriting. It's an ordinary node that returns its string from execute() and gets executed by the server like anything else.

    So: one output, and you wire it where you want it. Yes, a LiteGraph output can fan out to several inputs, but that's normal wires - visible ones, in your workflow file, all the things the rest of this family isn't. If you want the string to broadcast, put an hswq_AnythingEverywhere on it and let that do the magic.

    Using it

    Wire stringout into anything with a STRING input. The interesting move is the other direction: right-click a downstream node's widget and convert it to an input, then connect. A text prefix on Save Image's filename, a checkpoint-less prompt variant, a shared negative prompt - all reachable this way, and all reachable with a core primitive too.

    Install

    It rides along with the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ussoewwin/ComfyUI-NunchakuFluxLoraStacker.git
    cd ComfyUI-NunchakuFluxLoraStacker
    pip install -r requirements.txt
    

    Restart, then look under everywhere/deprecated.

    The dependency situation is silly for a node this small: requirements.txt installs nunchaku, the Florence-2 libraries, and the TensorRT-RTX CCSR stack for the pack's upscaler, because the pack imports all its submodules at startup and a missing one can take the entire pack down with it. None of it is needed for a text node. nunchaku is guarded on import, so non-Nunchaku and ROCm setups still load the rest.

    The verdict

    If you already have the pack installed, use it whenever you like - it's harmless. If you're choosing, use the core string primitive instead: you get multiline text, and you don't inherit a 13-node pack to hold one sentence. The one case where this node is genuinely convenient is when you want a string source sitting in the Use Everywhere bag of tricks, one folder down from the broadcast nodes it's meant to feed.

    Categoryeverywhere/deprecated

    Inputs (1)

    NameTypeDefaultDescription
    stringSTRING—

    Outputs (1)

    NameTypeDescription
    stringoutSTRING—