List: Checkpoints (lab)
Turn your checkpoint folder into a list worth queueing
- selection
- list
- count
List: Checkpoints (lab) takes a multi-select of everything in your models/checkpoints folder and turns your picks into a LIST you can feed straight into a queue node. On its own it does nothing interesting. Hooked to Generic Queue (lab) or XY Plot: Queue (lab), it's how you sweep five checkpoints across one workflow without rebuilding the graph each time.
This is the node you reach for when the question is "does this prompt work better on DreamShaper or CyberRealistic?" instead of any single answer. You select the checkpoints you care about, the list drives a batch, and the grid at the end answers it for you.
How it works
The selection widget is populated from the same source ComfyUI's core CheckpointLoaderSimple uses - folder_paths.get_filename_list('checkpoints') - so whatever you'd see in a normal loader's dropdown is here, just multi-selectable. It's a snapshot at load time: if you drop a new model in the folder, refresh the workflow (or restart) before you expect to see it.
The one toggle that matters is with_extension, default true. On, you get names like dreamshaper_8.safetensors; off, it strips to dreamshaper_8 via the file stem. Keep it consistent with what your loader expects - most ComfyUI loaders accept either, but a mixed list is asking for a mismatch on one entry.
Inputs and outputs
- selection - the multi-select widget. Click the checkboxes for every checkpoint you want in the list.
- with_extension - whether filenames keep their
.safetensors/.ckptextension.
Outputs are the standard pair you'll see across all of ComfyLab's list nodes:
- list - your selected checkpoint filenames, in selection order.
- count - an
INTwith the number of entries. Throwaway, but useful for sanity checks or pagination math.
Where it plugs in
The natural target is XY Plot: Queue (lab), and there's a real performance reason to care about which input you connect it to. The queue iterates all of dim2 before advancing dim1, so the slow operation should live on dim1. Loading a checkpoint is the slowest thing in a typical workflow - connect this list to dim1, put your seeds or CFG values on dim2, and the checkpoint loads once and stays in VRAM while everything else varies around it.
Install
ComfyLab Pack is one install for all its nodes (they display with a "(lab)" suffix). ComfyUI Manager: search ComfyLab Pack, install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/bugltd/ComfyLab-Pack.git
cd ComfyLab-Pack
pip install -r requirements.txt
Restart after. No model files, no heavy dependencies beyond opencv-python and friends. The whole pack is workflow tooling - nothing to drop into models/.
Gotchas
- Stale list - newly added checkpoints won't show up until the workflow reloads.
- Extension mismatch - the
with_extensionsetting has to agree with what your loader eats. When in doubt, keep extensions on; loaders are usually fine with them.
One honest caveat: if you're varying one checkpoint across many prompts, this node is overkill and a plain loader is simpler. It earns its keep the moment you want to compare several models in a single run.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| selection | SELECTION_LIST | — | |
| with_extension | BOOLEAN | true | keep file extension? |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| list | LIST | list of checkpoint file names |
| count | INT | number of values |