MakeAnyList
Shovel any inputs into one list, no type fuss
- *
MakeAnyList is a collector: wire any number of values into it and it bundles them into a single list on its one output. The "Any" in the name is doing real work - the inputs and the output are all * type, so you can throw images, masks, strings, numbers, latents, or a mix of types into the same node and get a list out. It's the list-construction node for people who don't want to think about list types.
The Python side is about as short as a node can be: it gathers every non-None value that arrived at its inputs and returns them as one list. The inputs are dynamic - the frontend gives you as many input ports as you need, and anything left unconnected is simply skipped (that's the "only if v is not None" check). The single output is marked as a list, so downstream nodes that iterate (a for-each loop, a batch processor, a fan-out) can consume it directly. No required inputs at all in the schema; you create the ports you need.
Where this earns its place: any time a workflow needs "a pile of things, in order, as one value." Building a list of images for a batch process that wants an IMAGE list, collecting several text prompts for a loop, gathering a set of masks to process together. It also plays nicely with the pack's dynamic-port philosophy - the same frontend machinery that grows inputs on the switch nodes grows these.
A couple of honest caveats. First, it's type-erasing: because everything is *, whatever consumes the list has to be willing to receive a list of anything. That's the power and the hazard - a downstream node expecting strictly IMAGE lists may or may not accept the mixed bag you built. Second, there's no sorting or deduplication: the list order is the order the inputs are defined on the node, not the order you connected them, so if order matters (and for lists it usually does), check the port order.
The bigger-picture note: the community has a documented skepticism about wildcard-any nodes - the r/comfyui "Please Stop using the Anything Anywhere extension" backlash, which the KB's ecosystem doc records, argued that type-erasing routing makes graphs impossible to debug. MakeAnyList is much narrower than that (it collects, it doesn't reroute everywhere), but the same caution applies in miniature: use it to assemble a list deliberately, not to paper over type mismatches you don't want to think about. When the list you're building is genuinely mixed-type, it's the right tool; when you're using it to avoid wiring typed ports correctly, it'll cost you a debugging session later.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/Ginolazy/ComfyPanel
# restart ComfyUI
or ComfyUI Manager → "ComfyPanel". No models, standard deps. If the input ports don't appear, it's the usual frontend-extension refresh situation: hard-reload the browser after installing so the dynamic-port JS actually loads.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |