Nodes/ComfyUI-Helper-Nodes/Checkpoint Selector
ComfyUI Node

Checkpoint Selector

It's not a checkpoint loader, and that's fine

By teward·Created 2 years ago·Updated 2 years ago· 9
Checkpoint Selector
    • chkpt_name
    chkpt_name

    Let's get the confusion out of the way immediately: Checkpoint Selector does not load a checkpoint. It outputs the checkpoint's name as a string. If you wire it where you'd wire a model, you'll get a type error and a small crisis.

    So what's it for? Naming. The Helper-Nodes Save Image node needs model_name as a forced wire input, so it can record which model produced the image in the file's metadata. This node is the cleanest way to feed it: a dropdown of your installed checkpoints, one output, done.

    How it works

    The dropdown is populated from folder_paths.get_filename_list("checkpoints") - everything in your ComfyUI/models/checkpoints folder, including subfolders. You pick chkpt_name, and the node returns that same filename string. That's mechanically all it does. The pack's source docstring muses about passing the selection "into a conditioner or LoRA loader," but don't read too much into that: this is a string node. The model itself still comes from the stock Load Checkpoint node, which you'll keep in your graph as always.

    Inputs and outputs

    • chkpt_name - one required input, an enum of every checkpoint in your folder.
    • chkpt_name output - the same filename, as a string. Realistically you're wiring this into Save Image's model_name.

    That's the whole node. No model loading, no VRAM cost, no MODEL/CLIP/VAE outputs.

    The honest take

    If you never touch metadata, you can skip this node entirely - the same dropdown exists right on Save Image's model_name widget. What it earns its keep doing is giving the model choice a home on a wire, so one selection feeds the save node and anything else that wants to know the name. It also sidesteps a genuine footgun: if you rename or move the checkpoint later, the filename embedded in old metadata no longer matches a folder listing, and a selector makes that mismatch obvious instead of silent.

    One thing to appreciate: because it's just a name, the node is free. No multi-gigabyte load, no hash computation, no VRAM. It's the cheapest node in the pack.

    Install

    ComfyUI Manager → search ComfyUI-Helper-Nodes, install, restart. Manual path:

    cd ComfyUI/custom_nodes
    git clone https://github.com/teward/ComfyUI-Helper-Nodes
    

    Then restart. The pack's extra pip deps (piexif, whratio) install automatically with Manager. No models ship with it - the dropdown is yours.

    Troubleshooting

    The one real gotcha is expectations: if the dropdown is empty, your checkpoints folder is empty or ComfyUI hasn't finished scanning it. If you try to wire the output into a MODEL input and it refuses, that's by design - you want Load Checkpoint for that, and this node only for the name.

    CategoryComfyUI-Helper-Nodes/models

    Inputs (1)

    NameTypeDefaultDescription
    chkpt_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    chkpt_name