CLIP Name Selector
A dropdown that loads nothing (on purpose)
- clip_name
- model_type
Most ComfyUI loaders bake a filename into a widget. That's fine until it isn't: you want to A/B two text encoders, or a workflow has three branches that each need a different CLIP, and now you're opening nodes and hunting dropdowns to change one string. The CLIP Name Selector is the tiny node that fixes that - it hands you the filename as a wire, and it never loads a single weight.
What it actually is
One widget, two outputs, zero VRAM. It reads the model folders and builds a dropdown containing every text encoder it can find - safetensors, .bin, and .gguf, merged into one sorted, de-duplicated list. Then it tells you which kind you picked.
The interesting bit is model_type. It's an integer, not a dtype: 0 means a regular file, 1 means the name ends in .gguf. That's the whole trick. This pack ships both a normal-style CLIP loader path and its own GGUF loader, and model_type is how you route between them automatically - pipe it into whatever switch or index node you favour and the graph picks the right loader for the encoder you chose.
Inputs and outputs
clip_name (required) is the dropdown. Behind it the node calls ComfyUI's file listing for clip, text_encoders, and the pack's own clip_gguf key, so anything you've dropped in models/text_encoders shows up. In current ComfyUI clip is just a legacy alias for text_encoders, so think of it as one folder.
Outputs:
clip_name- STRING, the filename exactly as ComfyUI knows itmodel_type- INT, 0 for a normal file, 1 for.gguf
Wire clip_name into a CLIP loader's clip_name input (right-click that widget → Convert widget to input). If your frontend refuses to connect a plain STRING to a combo socket, the same pack ships String To Combo, which outputs the wildcard * type and will plug into just about anything.
Install
ComfyUI Manager → search Practical-Tools → install → restart. It's published to the Comfy Registry, so Manager finds it. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/wenchengxiang/ComfyUI-Practical-Tools.git
# restart ComfyUI
Nothing extra to download for this node; its dependencies are just Python (gguf among them, for its sibling GGUF loaders). Encoders live in:
ComfyUI/models/text_encoders/ # also readable as models/clip/
Where people get burned
It selects names. It does not validate anything. Nothing checks that the file is a real text encoder, or that it matches the model you're about to sample with - a wrong pick fails later and further away, at the encoder or the sampler, where the error is less obvious.
If the dropdown comes up empty, there's nothing in models/text_encoders (a .gguf encoder goes in the same folder, not a special one). The file list is cached and only re-checked when a folder's modification time changes, so after dropping files in, hit refresh or restart before re-adding the node.
And the usual plumbing tax: once you've wired a selector into a loader, the string you picked lives in your node, not the loader's widget. Rename the file on disk and saved workflows keep the old name. Also worth knowing - ComfyUI's own "widget control mode" setting, switched from After to Before, makes widget values reliably reflect what actually runs. Set that once per install if you're going to be shuffling model choices around.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| clip_name | COMBO | 0 options: |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| clip_name | STRING | — |
| model_type | INT | — |