ComfyUI Node

Bundle Get

Pull one named value out of a bundle, dot-notation and all

By Stibo·Created 5 months ago·Updated 2 months ago· 9
Bundle Get
  • bundle
  • value
keyvalue1

The Bundle system is the centerpiece of Nifty Nodes, and Bundle Get is the read half of it. Where Bundle Pack stuffs a pile of named values into one BUNDLE wire, Bundle Get reaches back in and pulls out a single value by its key. It's the difference between dragging a bundle everywhere and actually using it.

What the Bundle system is, fast

ComfyUI wires move one typed value per connection. That's fine until a workflow has fifteen settings - seed, steps, dimensions, prompts, flags - that all need to travel together, and your graph turns into a rat's nest of parallel wires. A bundle is the fix: one BUNDLE wire carries a whole dict of named values. The same idea as rgthree's Context nodes, done with explicit named keys instead of fixed slots. Bundle Pack creates them, Bundle Get reads from them.

How Bundle Get works

It takes a required bundle input and a key string - default value1 - and outputs the value stored at that key, or None if the key doesn't exist. The output is a wildcard * socket, so it plugs into whatever type the stored value actually is: an int into an int input, an image batch into an image input, and so on.

The feature that makes this genuinely useful is dot notation. Keys are path-like: settings.width reads into a nested structure, lora.0.strength digs into a list, render.output.format goes arbitrarily deep. So you can pack a whole settings object once and read individual fields wherever you need them, instead of unpacking everything everywhere. The key field is plain text, so wiring is just typing the right path - and the author's tooltip is unambiguous about it: "Use dot notation for nested keys, e.g. 'settings.width'."

This is the node you reach for when you want one value out of a shared bundle without dragging a Bundle Unpack (with its 32 outputs) into the middle of a clean section of graph.

Where the keys come from

Keys are set on the Pack side by renaming the value slots - double-click the slot label and your new name becomes the key. Get just needs the string to match. So the contract is: whatever you renamed the slot on Pack, type that (or that dot-path) into Get. Mismatch quietly returns None rather than erroring, which is friendly but means typos are silent.

Install

Part of Nifty Nodes for ComfyUI. Manager: search "Nifty Nodes for ComfyUI" → Install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Stibo/comfyui-nifty-nodes

Restart ComfyUI. No models, no keys, no heavy dependencies - the bundle nodes are pure Python. The pack is MIT-licensed, built on the v3 comfy_api.latest API, and new enough (v2.1.0, mid-2026) that updating it is part of the install ritual.

Gotchas

Two things bite beginners. First, None on a bad key is silent - there's no error telling you the key was misspelled, so debug with a Bundle Unpack or Debug Any if a value mysteriously comes up empty. Second, remember the bundle is a snapshot traveling along the wire: if you read a value early in the graph, later Bundle Set operations on a different copy of the bundle won't retroactively change what you already read. The bundle flows forward, like everything else in ComfyUI.

Categorynifty/bundle

Inputs (2)

NameTypeDefaultDescription
bundleBUNDLEThe bundle to read from.
keySTRINGvalue1Key to read from the bundle. Use dot notation for nested keys, e.g. 'settings.width'.

Outputs (1)

NameTypeDescription
value*