Nodes/comfy-ovum/Concat Lists Ovum
ComfyUI Node

Concat Lists Ovum

Join two lists without the mutation headache

By sfinktah·Created about a year ago·Updated 10 months ago· 7
Concat Lists Ovum
  • list_a
  • list_b
  • list

Concat Lists Ovum does one thing: takes two lists and returns a new list with the second appended to the first. Non-mutating, so your inputs stay untouched - you get list_a + list_b as a brand-new list, not a modified copy of either one. It's in the ovum/lists/python category of the comfy-ovum pack, and it's the kind of node you stop noticing after you've placed it once, which is the best thing you can say about a utility like this.

Why reach for it? Mostly list-building for batch operations. You've got a list of base prompts from one node and a list of style additions from another, and you want the combined list feeding into a batch or a loop. Or you're assembling a list in pieces - a couple of fixed values plus a generated set - and concat is how you glue them. Because it's non-mutating, you can chain it without worrying about a node downstream silently corrupting a list you still need elsewhere. That determinism matters more than it sounds in ComfyUI, where shared state between runs is a classic source of "worked yesterday" bugs.

The forgiving inputs

Both inputs are typed *, which in Ovum means "accept anything and figure it out." The node is deliberately tolerant:

  • list_a - a list, or a bare value. A scalar like 42 or "hello" gets wrapped into a one-element list automatically.
  • list_b - same, and blank/None counts as an empty list.

So [1, 2, 3] + 7 gives [1, 2, 3, 7], and an empty list_b just returns list_a. It never errors on a missing second input. The output is a single list socket.

That forgiving behavior is the small but real difference from the stricter variants in the pack. If you're wired into a "batch" context (ComfyUI's own list-flavored sockets like image batches), the pack's BatchExtendOvum is the sibling that plays by ComfyUI's batch rules - this one is the plain-Python-list node, which is what you want when the downstream node expects an actual Python list and not a batch.

Installing it

It ships in sfinktah/comfy-ovum. ComfyUI Manager: search comfy-ovum and install. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum

Then restart ComfyUI. The pack's requirements are a few small pure-Python helpers; no models, no GPU deps, nothing heavy.

Gotchas

Not many, honestly. The main one is remembering which family you're in - ConcatListsOvum is the Python-list version; if the socket you're attaching to wants a ComfyUI batch, grab the ovum/lists/comfy variant instead. And because it wraps scalars rather than rejecting them, a typo that sends a single value where you meant a list will silently produce a one-element result instead of an error. That's usually what you wanted anyway. For plain list merging this is the one I'd reach for.

Categoryovum/lists/python

Inputs (2)

NameTypeDefaultDescription
list_a*
list_b*

Outputs (1)

NameTypeDescription
list*