Derp Model Loader
Put your checkpoints on a deck and click to switch
- model
- clip
- vae
The Derp Model Loader is the flagship of the pack's loader family, and it solves a very specific 2 a.m. problem: you have eighteen checkpoints, you're not sure which one you meant, and scrolling a dropdown named final_final_v3_actually_final one more time is going to end you. Instead of a dropdown, this node hands you a deck - checkpoint cards you load once, then click to hot-swap. It's part of xcp_derp-UI (search "xcp_derp-UI" in ComfyUI Manager, by lordwedggie), under derpNodes/Loaders.
What it does
It loads SDXL-based checkpoints (.safetensors and .pt files) onto the deck and exposes three outputs: model (MODEL), clip (CLIP), and vae (VAE) - the same triple a stock Checkpoint Loader gives you, so wiring it into a standard pipeline feels familiar. The deck adds what stock ComfyUI never will:
- One-click switching - click a card to make it active, no menu, no scroll.
- Clear VRAM on new model selection - dumps the previous checkpoint from VRAM before loading the next. On by default, and the docs' phrasing is apt: "ComfyUI's memory management has enough problems without you hoarding gigabytes."
- Load Settings - save, load, rename, and duplicate deck arrangements. A "portrait models" deck, an "architectural renders" deck, whatever. The default profile is deliberately empty because, as the author notes, your models are scattered across seventeen folders and nobody can make sense of them but you.
- Refresh / Remove / drag-to-reorder - new models appear without restarting, individual entries can be evicted, and reordering is purely cosmetic but satisfies "your inner control freak."
How it works
Like every derp loader, this is a pure virtual shell - the Python do_nothing returns (None, None, None) for model, clip, and vae. The real loading happens in the JS layer: pick a checkpoint, the frontend writes a descriptor into the pack's wireless signal registry, and the xcpDerpSignalOut reconstruction engine resolves it into real loaded objects at execution time. The outputs are broadcast, not wired, which is why the pack's one hard rule applies: you need a derpRouter node in the workflow, or this is just a very confident paperweight.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/lordwedggie/xcp_derp-UI-Release
Restart ComfyUI. No requirements.txt, no pip installs, no model downloads - it loads the checkpoints you already own, and JS dependencies ship vendored. Manager users: search xcp_derp-UI.
Where people get burned
The Router requirement is the #1 gotcha, and it's worth repeating because it's the difference between "this node is broken" and "this node works": no Router, no model output. Second, scope - this loader is for checkpoints (model + clip + vae in one file). If you're loading separate diffusion and CLIP files, that's the Derp Diffusion Loader and Derp Clip Loader. Third, since this is a young pack with essentially no third-party docs yet, when a deck misbehaves the bundled derp_docs/Loader Nodes/Derp Model Loader.md is your best source of truth - and the author actually updates it.
The one genuinely annoying thing to know up front: because the outputs are wireless, dragging a wire from this node to a KSampler and expecting the classic wired behavior will confuse you. You route it through the Router instead. It's a different mental model, and once you've built your first derp loadout you'll see the point - but it is a learning curve, not a drop-in replacement.
Inputs (0)
No inputs
Outputs (3)
| Name | Type | Description |
|---|---|---|
| model | MODEL | β |
| clip | CLIP | β |
| vae | VAE | β |