π§ Set Dehypnotic
Stash any wire under a name β Set Dehypnotic
- value
- *
Here's the thing nobody tells you about this pack: the README only mentions the range-to-string node, but the pack actually ships two other nodes that are the more interesting half. Set Dehypnotic is the write side of a "named variable" - you stash any connection under a name, and a matching Get Dehypnotic reads it back anywhere on the canvas. If you've ever run a wire across the entire graph because two nodes are 2000 pixels apart, this is the clean version of that.
The mechanism is worth understanding, because it's not magic and it's not a data store. Both nodes are pure frontend "virtual" nodes - the Python classes in the pack are just stubs so the node search finds them and the help panel works. All the real behavior lives in the pack's JavaScript, and at queue time ComfyUI prunes both nodes out of the prompt and reroutes the Get straight to the actual upstream source. Nothing gets copied or serialized; it's a label on a connection.
What you set on this side:
- name - the one that matters. A plain string, and your Get nodes pick the exact same name to read it back.
- value - optional, and deliberately type-agnostic. Wire anything here: an image, a latent, a CLIP, an int, a string. The node adopts whatever type you plug in.
The output is a passthrough of value, so you can either cable a nearby node directly out of the Set or ignore the wire and let a Get elsewhere do the reading. Same value either way. The input and the output mirror each other's type, and if you unplug the input the node reverts to the wildcard *.
Where it shines is keeping a graph readable. Long cables are the enemy of a workflow you still want to understand next month, and this is a named reroute: Set: seed next to your sampler, Get: seed wherever the value is consumed, no 500-pixel spaghetti. It also plays across subgraphs, which plain wires can't do.
Two grounded gotchas. Names are unique within scope - if you paste a duplicate Set, the frontend quietly appends _0, _1 and re-pairs its Getters, so check the titles if a value suddenly stops landing where you expect. And because these are frontend-only, a headless or API-only ComfyUI setup never executes them - they exist to tidy the graph, not to compute. Nothing about this node is overhyped, which is exactly why it works.
Installing is the same as the rest of the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/Dehypnotic/comfyui-range-to-string
Restart, and it's under Dehypnotic / π Wireless Links. No dependencies, no models, nothing to pip install. The Manager route exists but the README's documented path wants security_level = weak in the Manager config for URL installs; the clone above needs none of that.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| name | STRING | The variable name. A Get Dehypnotic node reads this value by picking this name. | |
| valueopt | * | Wire anything here to store it under the name. A Get Dehypnotic node (or this node's own passthrough output) reads it back. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | The same value you wired in. Connect a nearby node directly here, or read it from anywhere with Get Dehypnotic. |