Nodes/DemonAlone-nodes-ComfyUI/Checkpoint Selector
ComfyUI Node

Checkpoint Selector

Grab a checkpoint's name without loading it

By DemonAlone·Created 7 months ago·Updated 23 days ago· 3
Checkpoint Selector
    • ckpt_name
    • ckpt_name_str
    ckpt_name

    Most of the time when you pick a checkpoint in ComfyUI, you're using Load Checkpoint, which reads the filename and loads the model, CLIP, and VAE into memory in one step. Checkpoint Selector deliberately does only the first half. You pick a name from your models/checkpoints folder, and it hands that name back out - as a combo value and as a plain string - without touching your VRAM at all.

    Why you'd want the name without the weights

    The obvious case is labeling. If you're running an XYZ-style sweep across several checkpoints - the kind of workflow this whole pack leans toward - you often want the checkpoint's name available as text: to build a filename, to stamp it into a grid label, to feed it into a string-concat node alongside your sampler and CFG so your saved outputs are self-documenting. Load Checkpoint gives you the loaded model, not a clean string you can drop into a filename.

    It's also useful anywhere you want to reference "which checkpoint" as data flowing through the graph without committing to loading it right there - say, picking the name early, routing it somewhere for logging or comparison, and only loading the actual weights conditionally later.

    The inputs and outputs

    • ckpt_name (required) - a dropdown populated from whatever's sitting in your models/checkpoints folder at the time the graph loads.

    Two outputs: ckpt_name (the combo value itself, useful for wiring into any other node in this pack - or elsewhere - that expects a checkpoint-name-shaped combo input) and ckpt_name_str (a plain STRING, ready for concatenation, filenames, labels, or logging).

    This node does not load a model, CLIP, or VAE - for that you still need Load Checkpoint (or CheckpointLoaderSimple) somewhere in the graph. Think of this as the label-only half of that node.

    How to install it

    ComfyUI Manager: search DemonAlone-nodes-ComfyUI, install, restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/DemonAlone/DemonAlone-nodes-ComfyUI
    

    then restart. No extra dependencies - it's just reading the same folder ComfyUI's built-in checkpoint loader already reads.

    Common issues & troubleshooting

    The dropdown is empty. It reads from models/checkpoints the same way Load Checkpoint does. If that folder is empty or your ComfyUI instance points somewhere else (an extra_model_paths.yaml redirect, or a hosted/cloud environment where models come from a platform-managed catalog rather than a local folder), you'll see nothing to pick from. Confirm at least one checkpoint is actually visible to Load Checkpoint first - if that dropdown is also empty, the problem is your model path, not this node.

    My workflow still runs the "wrong" checkpoint. This node only outputs a name - it has no influence over which model actually gets loaded unless you separately wire its ckpt_name output into a loader that consumes it. If you changed the selection here and nothing changed downstream, check whether Load Checkpoint elsewhere in the graph is set independently.

    Why not just use Load Checkpoint's own name? You can, if you don't need it as a standalone value - but Load Checkpoint doesn't expose the filename as a separate string output, only the loaded model/CLIP/VAE. This node exists specifically to give you that string without the loading side effect.

    Categoryutils

    Inputs (1)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:

    Outputs (2)

    NameTypeDescription
    ckpt_name
    ckpt_name_strSTRING