ComfyUI Node

StringHasher

A Text Node That Knows When It Changed

By Zeks·Created 2 years ago·Updated 10 months ago· 3
StringHasher
    • string
    string

    StringHasher looks like a joke. You give it a string, it gives you back... the same string. No transformation, no hashing output, no visible effect. But it exists for a very real ComfyUI annoyance: the engine decides what to re-run based on whether a node's inputs changed, and plain text widgets are easy for it to treat as "already done."

    This node's trick is its IS_CHANGED hook. ComfyUI calls that hook to decide whether the node needs to re-execute, and StringHasher returns a hash of the string - so when you edit the text, the hash changes, and the node (and whatever hangs off it) re-runs. When the text stays the same, the hash is stable and it doesn't waste a pass. In other words: it's a text passthrough with honest change detection bolted on.

    When you actually reach for it

    The standard use case is forcing downstream re-execution. Some workflows hit the classic "I changed the prompt but the graph didn't regenerate" or a middle node caches its output so a text edit upstream never propagates. Threading your text through StringHasher gives ComfyUI a concrete signal that the input changed, so the whole chain refreshes.

    It also earns its keep as a wiring trick: because it outputs a real STRING, you can tap any text node's value into the graph in a way that participates in change detection - useful for debugging "why didn't this re-run?" situations without rebuilding the workflow.

    What you set

    One input, string. One output, string - the identical text, unchanged. The entire behavior is the change-tracking, which is the point.

    Honest caveat: this is a niche tool in an already-niche pack. If you've never hit a stale-cache text problem, you may never need it. But when you do hit one - and you will, eventually, with a big graph and an edited prompt that stubbornly refuses to regenerate - a node whose whole identity is "I noticed you changed me" is a clean, minimal fix that doesn't add any moving parts.

    Install

    Part of comfyui-rapidfire, zero extra dependencies. Install via ComfyUI Manager (search "comfyui-rapidfire") or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Zeks/comfyui-rapidfire
    

    then restart ComfyUI.

    Categoryutils

    Inputs (1)

    NameTypeDefaultDescription
    stringSTRING

    Outputs (1)

    NameTypeDescription
    stringSTRING