Nodes/ComfyUI-CheckpointWidgetRefresh/Checkpoint Widget Refresh
ComfyUI Node

Checkpoint Widget Refresh

Stop Restarting ComfyUI Just to See Your New Checkpoint

By ruminar·Created 4 months ago·Updated 3 months ago· 1
Checkpoint Widget Refresh

      You dropped a freshly-trained checkpoint into models/checkpoints, went to grab it in the CheckpointLoaderSimple dropdown, and… it's not there. It won't be, until you restart ComfyUI. ComfyUI caches the file list at boot, and the ckpt_name widget is typed against that snapshot - new files just don't exist from its point of view. That's the "dependency maintenance and missing-node ritual" side of the ecosystem that wears everyone down. Checkpoint Widget Refresh is a tiny button that fixes exactly this one annoyance, no restart involved.

      The name is a bit of a lie: CheckpointWidgetRefreshPanel has no inputs, no outputs, and no graph logic - its Python FUNCTION is literally noop. The real work lives in a frontend extension plus a backend API route. Drop the node on the canvas (no wiring needed), and a "Refresh Checkpoint Widgets" button appears. Click it, and it walks every node in your graph, finds combo widgets named ckpt_name (and start_checkpoint on the companion Checkpoint Name Cycler), and swaps their options for a freshly-scanned list.

      What makes it more than a UI hack is the backend half. The Python side clears ComfyUI's filename cache, rescans all registered checkpoint folders recursively, and then monkey-patches the INPUT_TYPES of CheckpointLoaderSimple, CheckpointNameSelector-type nodes, and CheckpointNameCycler on the fly. That matters because the loader's input is typed as the list of valid names - without patching the class definition, ComfyUI's validation would still reject your new file. If the checkpoint you had selected got deleted, it picks the nearest surviving neighbor and falls back gracefully.

      Install is painless: cd ComfyUI/custom_nodes && git clone https://github.com/ruminar/ComfyUI-CheckpointWidgetRefresh, or search "CheckpointWidgetRefresh" in ComfyUI Manager, then restart once. There's no requirements.txt, no model downloads, no heavy deps - pure JS plus the standard library. GPL-3.0, same as ComfyUI itself.

      One honest caveat the README leads with: this project is archived and superseded by ComfyUI-CheckpointHandpickerSuite, which keeps this refresh logic and adds cycling, status tagging, and preview tools. For a fresh install that suite is the better bet; this repo remains useful if you want the minimal version. It's also manual-only by design - no polling, click when you add or delete models. If you juggle checkpoints daily, that's five seconds well spent.

      Categoryutils/model

      Inputs (0)

      No inputs

      Outputs (0)

      No outputs