Checkpoint Selector
The dropdown that makes your model choice reproducible
- model
- ckpt_name
Every ComfyUI graph starts the same way: a Load Checkpoint node with a dropdown, and you pick the model. It's so routine you stop thinking about it - which is exactly why Checkpoint Selector is worth a look. It's this pack's replacement for that first node, and the difference is that it doesn't just load the model, it records the choice. The selected checkpoint becomes part of the pack's image_info metadata, gets written into the saved image, and comes back out when you load the image later. Same dropdown, but now the graph remembers what it used.
It's the flagship of the pack's selector family (Checkpoint, Unet, Diffusion Model, Lora, VAE, CLIP and friends), all sharing the same pattern: a dropdown over a models folder, an IPT-Model value out, and a right-click model-info action.
How it works
At execution the node takes the checkpoint filename from its dropdown, resolves it against what's actually in ComfyUI/models/checkpoints, and wraps it as an IPT-Model value. It does not load the weights itself - the actual load happens later, once, when the value reaches the pack's Load New Model node, which pulls model, CLIP, and VAE out of the checkpoint file together. That deferred loading is the pack's whole trick for avoiding redundant loads when several branches of a graph reference the same model.
Outputs:
model- theIPT-Modelvalue for the loader pipeline.ckpt_name- a passthrough of the selected filename, handy for labels, XY-plot axes, or writing the name into metadata yourself.
The optional sha256 input feeds the right-click View Model Info... action, which looks the checkpoint up on Civitai by hash so you can confirm the file you're running is the exact release you think it is - genuinely useful when you've accumulated seven files named model_v7.safetensors in a year.
Why you'd replace a working Load Checkpoint
If you never re-open your own old images and never share graphs, honestly, you won't miss it - stock Load Checkpoint works fine. The payoff is the pack's reproducibility loop: open a saved image with Image Reader and the checkpoint, CLIP, VAE, LoRA stack, sampler, and seed all reconstruct from metadata. The selector is the checkpoint side of that promise. For anyone doing batch runs across several checkpoints, it also centralizes the choice - one dropdown at the top instead of a loader buried mid-graph.
The one trap
Folder placement, same as every selector: this node reads ComfyUI/models/checkpoints. Drop a checkpoint into unet or diffusion_models (or a subfolder the picker doesn't scan) and it won't appear in the dropdown until you move it and restart ComfyUI. Also remember the distinction from the pack's other selectors: checkpoints bundle model + CLIP + VAE; use Unet Model Selector or Diffusion Model Selector when you're working with split-architecture backbones instead.
Installing
Part of kinorax/comfyui-info-prompt-toolkit:
cd ComfyUI/custom_nodes
git clone https://github.com/kinorax/comfyui-info-prompt-toolkit.git
cd comfyui-info-prompt-toolkit
pip install -r requirements.txt
or install "Info-Prompt-Toolkit" via ComfyUI Manager, then restart. No model files - it only references checkpoints you already own. Feed its model output into Load New Model or Image Info Context, and the choice starts riding along in your metadata.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| checkpoint | COMBO | Select checkpoint | |
| sha256opt | STRING | Cached SHA256 used by View Model Info fallback |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | IPT-Model | — |
| ckpt_name | * | — |