Nodes/Shima/Shima String
ComfyUI Node

Shima String

The string primitive with a Use Everywhere superpower

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima String
    • text
    text
    override
    allow_external_linkingfalse

    On the surface, Shima String is the most boring node imaginable: a text box in, a string out. ComfyUI core ships that for free. What makes this one worth knowing is that it's built for the pack's "island" architecture - a string value that can broadcast across a whole workflow without a single wire.

    This is the exact "one source, many consumers" problem the plumbing layer exists to solve: you have a project name, a style tag, or a filename prefix that needs to reach five different nodes. Normally you'd type it five times, or convert widgets to inputs and fan a primitive out. Shima String instead plugs into the pack's Use Everywhere (UE) integration, so with the right toggle flipped, any matching string input anywhere in the group can receive this value automatically. It's a typed primitive that also knows about the island topology.

    The inputs

    • text - the value, a multiline box.
    • override - an optional string input that replaces text when connected. This is how you let an upstream node drive a value that still has a sensible fallback in the widget.
    • allow_external_linking - the interesting one. The tooltip is blunt: "If ON, this node broadcasts/receives OUTSIDE the Island (ignores group regex)." On by default? No - default is off, so the node only links within its own island group. Flip it on to let the value escape the group and broadcast workflow-wide. This is the same toggle the whole pack carries on its nodes; here it's the whole point.

    Output: text, a STRING.

    Installing it

    Part of KDB-USJP/shima_wf:

    cd ComfyUI/custom_nodes
    git clone https://github.com/KDB-USJP/shima_wf
    

    Restart ComfyUI. The Use Everywhere matching is provided by cg-use-everywhere, which the pack's installer clones automatically on first run - that dependency is what actually makes allow_external_linking do anything.

    The honest advice

    If you never use the island/UE workflow style, ComfyUI's own String primitive is identical and you don't need this. The value only appears once you start organizing workflows into groups and relying on auto-linking - then a single Shima String becomes the authoritative source for a value that every node in the island picks up, and changing it in one place beats editing a dozen widgets. The one trap is allow_external_linking defaulting to off: if you expect a string to propagate and nothing happens, that toggle is the first thing to check.

    CategoryShima/Utilities

    Inputs (3)

    NameTypeDefaultDescription
    textSTRING
    overrideoptSTRING
    allow_external_linkingoptBOOLEANfalseIf ON, this node broadcasts/receives OUTSIDE the Island (ignores group regex)

    Outputs (1)

    NameTypeDescription
    textSTRING