ComfyUI Node

SimpleBridge Load

Grab the value the Store left behind, anywhere in the graph

By XchanBik·Created about a year ago·Updated about a year ago· 0
SimpleBridge Load
  • dependency
  • value
bridge_namebridge1

You stashed something in a SimpleBridge Store, and now it needs to come back out - in a completely different corner of the graph. That's the entire job of SimpleBridge Load. It reads a value out of the same in-memory store by name and hands it to whatever's downstream. No wires across the canvas, no reroute nodes, no dragging.

The mechanism is a straight lookup. load_value checks the pack's module-level dict for your bridge_name and returns whatever's there. If nothing was stored under that name, it returns None and prints 'bridge1' has no stored value to the console - which is the first place to look when things break, because the node itself will happily pass None onward. That's the trap: an empty bridge doesn't error, it just quietly gives you nothing.

Two inputs, and the second one is the part people misunderstand:

  • bridge_name - must match the Store's name exactly (bridge1 is the default on both sides).
  • dependency - accepts any type and its value is ignored. Its only job is to create a graph edge so ComfyUI executes the Load after whatever you plug into it. Because the Store has no output socket, the graph has no idea the Store feeds the Load; dependency is how you force the ordering when you need the fresh value in a single run.

The output is one value socket with type * (any). It'll connect into whatever expects the thing you stored - a text input, a latent, an image, a seed. ComfyUI's any-type socket is deliberately loose, so the wire fits almost anywhere; whether the downstream node does something sensible with it is up to you.

Where people get burned, in order of frequency:

  • Stale data. The store is process-global, so the Load can hand you a value from a previous run rather than the current one. If both your Store and Load are live and their execution order is ambiguous, pin it with dependency, or just run the graph twice.
  • Nothing stored. First run, or ComfyUI was restarted, and the Load returns None. Wire that into a model input and you get a confusing error a few nodes later. Check that console line first.
  • Name drift. Rename one side and not the other, and you get an empty bucket, not an error.

This is the read half of the same "global variable" pattern the ComfyUI community has been asking for since 2023 - people keep wanting to reuse a widget value across disconnected parts of a graph, and the usual answers are cg-use-everywhere, Impact Pack's sender/receiver nodes, or a set/get extension. The Store/Load pair here is a tiny set/get: nothing persisted to disk, nothing saved with your workflow, wiped on restart. If that lifecycle works for you, it's the smallest thing that does the job.

Install via ComfyUI Manager (search "SimpleBridgeNode") or:

cd ComfyUI/custom_nodes
git clone https://github.com/XchanBik/ComfyUI_SimpleBridgeNode

Then restart ComfyUI. No extra Python dependencies, no model downloads - the whole pack is stdlib plus ComfyUI's own APIs. One curiosity: it installs a hook that prints "MINIMAL HOOK" debug lines to the console on every run. Harmless, just ignore the noise.

Honest take: for a quick "use the same seed in two samplers without a wire spanning the canvas" hack, this works and it's delightfully small. For anything that needs to survive a restart or be shared between workflows, the bigger packs are the better fit. But when you just want that one value in two places, this is the minimal answer.

CategoryXchanBik/Bridge

Inputs (2)

NameTypeDefaultDescription
bridge_nameSTRINGbridge1
dependencyopt*

Outputs (1)

NameTypeDescription
value*