Merge List
Concatenate two or more ComfyUI Lists into one run
- *
You've got two separate Lists - maybe seeds from one Create Range and more seeds from another, or prompts split from two different text boxes - and you want them processed as one continuous run instead of wiring up two parallel graphs. Merge List concatenates ComfyUI Lists together into a single List-processing output.
How it works
Like the pack's other bundling nodes, it starts with no fixed sockets and grows dynamic inputs as you connect things - wire something to the last empty socket and another appears. Each connected List gets concatenated onto the output in the order you connected them, so if the first input has three items and the second has two, the result is a five-item List that runs downstream nodes five times total, first input's items in order, then the second's.
The README notes that Create List and Merge List both adapt their output type from the first connected input - so whatever type the first List you wire in carries, that's what the merged output is typed as. It's built for combining Lists of the same kind of value, not mixing types; if you need to carry different types together through one wire, that's Pack's job, and it works on a completely different principle.
The inputs and outputs that matter
No fixed required or optional inputs - every socket is dynamic. Connect two or more ComfyUI Lists to the growing sockets. The single output, typed * and marked as a List (is_list: true), is the concatenation of everything you fed in, still in List-processing mode, ready to wire straight into whatever you were feeding the individual lists into before.
How to install it
Search "ComfyUI-List-Utils" in ComfyUI Manager and install, or clone directly:
cd ComfyUI/custom_nodes
git clone https://github.com/godmt/ComfyUI-List-Utils.git
Restart ComfyUI. No models, no extra Python dependencies to worry about - this is straightforward list concatenation, nothing that touches the GPU or downloads anything.
Common issues & troubleshooting
Merged list runs way more times than you expected. That's not a bug, it's the point - merging is additive. If input A has ten items and input B has ten items, the merged output has twenty, and everything downstream runs twenty times. If you were expecting the lists to line up item-by-item instead (item 1 of A paired with item 1 of B), concatenation isn't what you want; that's a different operation entirely and this pack doesn't have a zip-style node for it.
Second input's type doesn't match and the connection fails, or the merge produces odd results. The output type follows the first connected input. If your second List is a genuinely different type, ComfyUI's socket typing will usually refuse the wire outright before you even get to run it - which is your cue to convert one side first, either with Any Cast if you're confident the underlying values are compatible, or by rethinking whether you actually want Pack instead.
You actually wanted to merge PyLists, not Lists. If your values are bundled as PYLISTs rather than ComfyUI List-processing outputs, this node won't accept them directly - reach for Merge PyList instead, which does the same concatenation on raw Python list values without touching per-item execution.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | The concatenated ComfyUI List-processing output. |