List Extend
List Extend — glue two lists together (and don't use the deprecated one)
- list_a
- list_b
- list
Concatenate two lists without modifying either one. That's the whole node: list_a plus list_b, appended in order, returned as a fresh list. It's the kind of utility that looks trivial until you're building a workflow that needs to merge "base styles" with "extra tags" or combine two batches of prompts before a fan-out, and suddenly you're very happy it exists.
Here's the thing you need to know before you drop it in: this specific class is deprecated. The source marks it DEPRECATED = True with the internal name ListExtendDEPRECATED(batch). It still works - the code path is intact - but sfinktah moved the maintained versions into the *Ovum family (ListExtendOvum for Python lists, plus the Concat/Extend variants in the data utilities). If you're building new graphs, use ListExtendOvum. If you loaded an old workflow that references this class, leave it alone; it'll keep running.
How it works
Two inputs, one output, straight from the schema:
list_a- the first list.list_b- the second list, whose elements get appended afterlist_a's.
Both are typed * (any), so they work with lists of strings, ints, or even lists of image objects. The output is a new list containing list_a's elements followed by list_b's - importantly, it does not mutate list_a or list_b. That's the "Extend vs append" difference: if you need the original lists to stay intact for other branches of the graph, this is the non-destructive choice (the pack's ListSplice node, by contrast, does mutate in place - different tool for a different job).
A shared quirk of this list family: NewPointer forces IS_CHANGED to return NaN, so the node never caches and always re-executes. Fine for loops, mildly wasteful otherwise.
Where you reach for it
- Merging prompt ingredients. Concatenate a fixed style list with a variable tag list before joining them into a prompt string downstream.
- Combining batch sources. If two branches each produce a list of filenames or seeds, extend merges them into one list for a single fan-out.
- Building a working copy. Since it's non-mutating, you can use it to append to a list you still need elsewhere, without a copy node.
Install
Part of comfy-ovum, so install once:
cd ComfyUI/custom_nodes
git clone https://github.com/sfinktah/comfy-ovum
or search comfy-ovum in ComfyUI Manager and restart. No models, no keys.
Gotchas
- It's deprecated - the menu may show it under a "DEPRECATED(batch)"-style name. Grab
ListExtendOvumfor new work. - Non-list inputs raise a
ValueError(Input must be a Python list), so convert upstream. - It concatenates, it doesn't dedupe - if both lists contain the same value, you get both copies. For dedup, the pack has
UniqueList.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| list_a | * | — | |
| list_b | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| list | * | — |