Y7 Sampler Select (Name)
The sampler dropdown that won't take a wire — until this node
- sampler_name
The built-in KSampler has a problem that's easy to hit and weird to explain: its sampler_name is a hardcoded dropdown - what ComfyUI calls a COMBO widget - and COMBO widgets have no input socket. You can't feed a sampler choice into the sampler from another node, and no built-in node outputs a sampler name as a string either. So the moment you want a single control that drives "which sampler" across your whole graph, you're stuck editing widgets in three places.
Sampler Select (Name) is the workaround, and it's about as simple as a node gets. It's one dropdown and one output: pick a sampler, get the name out as a linkable value that any node accepting a sampler name will happily accept. It ships in the Y7Nodes pack, a grab-bag of small quality-of-life utilities the author describes, honestly, as "probably only useful to me."
How it works
The trick is in the typing. Instead of declaring its output as a plain STRING, the node declares it as comfy.samplers.KSampler.SAMPLERS - the exact same combo list the built-in KSampler uses internally. ComfyUI sees that as a compatible type for any node whose sampler_name input accepts that list, so you get a genuine linkable socket rather than a string that nothing will connect to.
The dropdown lists all 44 samplers ComfyUI knows, including the newer cfg_pp variants (euler_cfg_pp, dpmpp_2m_cfg_pp) that show up when you install the reference-model samplers. Output is a single sampler_name value.
Where it earns its keep
Two scenarios. First, sampler A/B rigs: if you're comparing dpmpp_2m_sde against euler_ancestral across a dozen generations, you can wire the choice from one node instead of clicking through every KSampler in the template. Second, workflow hygiene - one visible dropdown at the top of the graph that controls the sampler everywhere downstream.
One honest caveat: the plain built-in KSampler's own sampler_name is still a widget, so you can't wire into that. You target nodes that expose sampler name as a connectable input - advanced sampler nodes and several custom ones do. If you're only using vanilla KSamplers, this node gives you nothing to plug into, so check what your sampler actually exposes first.
Installing it
This is one node from the Y7Nodes pack, so you install the whole pack:
cd ComfyUI/custom_nodes
git clone https://github.com/yushan777/ComfyUI-Y7Nodes
cd ComfyUI-Y7Nodes
pip install -r requirements.txt
Then restart ComfyUI. Or use ComfyUI Manager → Custom Nodes Manager → search "Y7Nodes" → Install. For a 20-line node, that's a lot of ceremony - but if you already have the pack for the other utilities, you won't notice.
Verdict
It's the kind of node you either immediately understand or don't need at all. If you've ever muttered "why can't I wire this sampler selection," this is the answer; if you haven't, move along - nothing to see. There are no hidden failure modes here: it either connects to a node that accepts a sampler name or it doesn't, and the dropdown tells you everything.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| sampler_name | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sampler_name | euler,euler_cfg_pp,euler_ancestral,euler_ancestral_cfg_pp,heun,heunpp2,exp_heun_2_x0,exp_heun_2_x0_sde,dpm_2,dpm_2_ancestral,lms,dpm_fast,dpm_adaptive,dpmpp_2s_ancestral,dpmpp_2s_ancestral_cfg_pp,dpmpp_sde,dpmpp_sde_gpu,dpmpp_2m,dpmpp_2m_cfg_pp,dpmpp_2m_sde,dpmpp_2m_sde_gpu,dpmpp_2m_sde_heun,dpmpp_2m_sde_heun_gpu,dpmpp_3m_sde,dpmpp_3m_sde_gpu,ddpm,lcm,ipndm,ipndm_v,deis,res_multistep,res_multistep_cfg_pp,res_multistep_ancestral,res_multistep_ancestral_cfg_pp,gradient_estimation,gradient_estimation_cfg_pp,er_sde,seeds_2,seeds_3,sa_solver,sa_solver_pece,ddim,uni_pc,uni_pc_bh2 | — |