Nodes/Kraken Tools/πŸ™ Kraken Checkpoint Loader
ComfyUI Node

πŸ™ Kraken Checkpoint Loader

Know exactly which checkpoint made that image (and which version of it)

By krakenunboundΒ·Created 8 months agoΒ·Updated 8 months agoΒ· 2
πŸ™ Kraken Checkpoint Loader
    • MODEL
    • CLIP
    • VAE
    • model_name
    • ckpt_sha10
    β—„ckpt_nameβ–Ύβ–Ί
    β—„weight_dtypeβ–Ύβ–Ί
    β—„compute_hashtrueβ–Ί

    The πŸ™ Kraken Checkpoint Loader is a stock checkpoint loader that stops lying to you. Every ComfyUI user has had the moment: you render something great, come back two weeks later, and can't reproduce it because you updated your model folder and have no idea which .safetensors was in the graph. This node fixes that by handing you the model's filename and the first 10 characters of its SHA-256 hash as plain string outputs, alongside the usual MODEL, CLIP, and VAE.

    It's one of the 15 nodes in the Kraken Tools pack (krakenunbound/comfyui-kraken-tools), a MIT-licensed grab-bag of QoL nodes built around the idea that your workflow should tell you what it did. Nothing here calls a remote service - it's a local loader with better bookkeeping.

    How it works

    Under the hood it's a thin wrapper over ComfyUI's own comfy.sd checkpoint loading. Pick a file from ckpt_name (populated from your ComfyUI/models/checkpoints folder), and the node loads MODEL/CLIP/VAE exactly like the stock loader. The difference is the metadata side: compute_hash (on by default) streams the file in 16MB chunks, computes SHA-256, and returns the first 10 hex chars. Because re-hashing a 7GB checkpoint on every queue run would be rude, the result is cached by file path and modification time - same file, same hash, instant.

    weight_dtype is the other input that matters. default lets Comfy pick the dtype, which is the right choice for most people. fp16 / bf16 / fp32 are there if you want to force a precision - think "I'm on an older card and want to guarantee fp16 to fit VRAM," not "I must tweak this daily." If you're chasing that last bit of quality on a Flux-class model, fp8 via a dedicated quantized checkpoint is a bigger win than fighting dtype here.

    The outputs that matter

    Three of the five outputs are the standard hand-off: MODEL β†’ KSampler, CLIP β†’ CLIP Text Encode, VAE β†’ VAEDecode (or let a KSampler like Kraken's own handle decode). The two you're actually here for:

    • model_name - the filename you selected, as a string. Wire it to a text display or a Save node's filename token and your PNGs start self-documenting.
    • ckpt_sha10 - first 10 chars of the SHA-256. That's your version fingerprint: if two folders have the same name but different hashes, you can tell which exact weights were loaded. Route it into a text preview node and your output metadata carries it.

    This is the classic "which of my 47 DreamShaper variants actually produced this" problem, and ckpt_sha10 is the answer in one string.

    Install

    The pack installs the normal way. ComfyUI Manager β†’ search "Kraken Tools" β†’ Install, then restart. Or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/krakenunbound/comfyui-kraken-tools
    cd comfyui-kraken-tools
    pip install -r requirements.txt
    

    Restart ComfyUI and the πŸ™ nodes appear. Two pack-wide gotchas: the README's clone command still shows a placeholder URL (yourusername/kraken_tools.git) - use the repo URL above, and note the repo folder is comfyui-kraken-tools. Also, the pack's __init__.py flips on TF32 and cudnn benchmark globally at import; harmless on modern cards, but it's a thing that happens to your runtime just by having it installed.

    Where people get burned

    • Hash returns empty. compute_hash failing silently returns "" rather than blocking your graph - usually a permission issue reading the file or an unusual path. Not a node bug, but easy to mistake for one.
    • dtype isn't a free upgrade. Forcing fp32 on a model that doesn't need it just eats VRAM. Leave default unless you have a concrete reason.
    • The hash is a fingerprint, not a checksum. First 10 chars is plenty to tell two checkpoints apart (collisions are effectively impossible among the handful you own), but it isn't a full-file integrity check. If you need that, run sha256sum yourself.

    The stock loader works fine and you can keep using it. This node earns its place the moment you start caring about reproducibility - which, if you've ever rebuilt a folder of models, is sooner than you think.

    CategoryKraken/Loaders

    Inputs (3)

    NameTypeDefaultDescription
    ckpt_nameCOMBO0 options:
    weight_dtypeCOMBO4 options: default, fp16, bf16, fp32
    compute_hashBOOLEANtrueβ€”

    Outputs (5)

    NameTypeDescription
    MODELMODELβ€”
    CLIPCLIPβ€”
    VAEVAEβ€”
    model_nameSTRINGβ€”
    ckpt_sha10STRINGβ€”