Nodes/ComfyUI-CRZnodes/CRZ Custom Dropdown
ComfyUI Node

CRZ Custom Dropdown

Your own dropdown menu, comma-separated, no Python required

By CoreyCorza·Created 12 months ago·Updated 12 months ago· 42
CRZ Custom Dropdown
    • *

    CRZ Custom Dropdown is the node you reach for when the CRZ Dropdown can't help - because what you want isn't a list of models or samplers, it's your list. Camera angles. Lighting setups. Character names. Prompt fragments. You type the options yourself, separated by commas, and the node turns into a dropdown that outputs whichever one you pick.

    It comes from ComfyUI-CRZnodes, CoreyCorza's dashboard-node pack. It was added early on precisely because the author's own workflow needed it - in the launch thread on r/comfyui, someone asked for "preselected values, being selectable in a dropdown menu" and the author replied with exactly this node a comment later, then showed the double-click-to-edit behavior in a screenshot. It's the rare case of a feature request answered within the thread.

    How it works

    The options live in a hidden widget on the node, stored as a JSON string. To set them, double-click the dropdown area and ComfyUI prompts you for a comma-separated list. That's the whole configuration flow:

    • double-click the dropdown → type Option 1, Option 2, Option 3 → done.
    • The parser trims each entry and, if an entry looks like a plain number, converts it - so 1, 2, 3 becomes integers, and 0.5, 1.5 becomes floats. Everything else stays a string.
    • The node supports strings, ints, and floats, per the README.

    On the Python side, the dropdown value starts as a float (that's the hidden widget's type) and gets "smart-converted" back - whole numbers become ints, non-whole numbers stay floats, and anything that was a string passes through. It's a small piece of type-magic so the output matches what you probably wanted.

    The output is typed * (any), so it plugs into whatever expects the type you configured.

    Inputs and outputs

    • No required or optional inputs you set by hand - the two hidden widgets (dropdown, dropdown_options) are the configuration store.
    • * (output) - the selected option, converted to the best matching type.

    That's the whole schema: nothing to wire in, one output to wire out. Double-click the label text on the left to rename the node.

    Installing it

    Pack install, one time for everything: ComfyUI Manager → search ComfyUI-CRZnodes → install → restart. Or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/CoreyCorza/ComfyUI-CRZnodes.git
    

    No requirements, no models - the README says so directly.

    Where it gets fiddly

    Two honest warnings. First, some people do report the CRZ dropdowns not working in their setup at all - there's a Help thread on r/comfyui from someone who tried CRZ nodes for exactly this use case (stitching prompt parts together) and couldn't get them going. If your menu doesn't appear or the selection doesn't stick, the usual suspects are an old frontend or a conflicting UI-overriding node pack; the author has traced at least one rendering conflict to another pack. Try a recent ComfyUI frontend and disable suspect packs one at a time.

    Second, the type-conversion magic can surprise you. Because everything starts life as a float on the wire, an option you typed as a string like "01" or "3.14" may come out converted rather than verbatim. For prompt stitching you mostly want strings, so if you're feeding the output into a text concatenation, keep an eye on whether a numeric-looking option arrives as a number and causes a type mismatch downstream. When it works, it's great; just verify the output type once when you set up a new list.

    CategoryCRZ

    Inputs (0)

    No inputs

    Outputs (1)

    NameTypeDescription
    **