Nodes/ComfyUI-GadgetNodes/Prompt Palette
ComfyUI Node

Prompt Palette

A searchable prompt library that lives inside your workflow

By 2daadv·Created 6 months ago·Updated 21 days ago· 1
Prompt Palette
      file_name

      Before we go any further, the honest truth about this node: it has no outputs. Prompt Palette is not a node that feeds your graph. It's a reference library that lives on the canvas - a searchable, collapsible tree of prompts you maintain in YAML files, with a text area that shows the prompt you clicked so you can copy it. If you came here expecting to wire "select prompt" into a CLIP encoder, that's not this. But for people who reuse the same character, style, and quality blocks across every workflow, it's a genuinely nice way to keep a tag library in one place.

      How it works

      The pack ships with a prompt/ folder in its root (it's created automatically on first load). Every *.yaml or *.yml file in there becomes an entry in the node's file_name dropdown. Each YAML file is a nested dictionary, and the nesting becomes the tree:

      Character:
        Female:
          Casual: "1girl, casual clothes, smile, looking at viewer"
          Formal: "1girl, formal dress, elegant pose"
      Background:
        Outdoor: "outdoor, sunny day, blue sky, nature"
      Quality:
        Base: "masterpiece, best quality, highly detailed"
      

      Click a leaf and its string lands in the text area on the right. There's a search box that filters the tree live and highlights matches - handy when the library gets big. And there's an Edit YAML File button that opens the current file in your OS default editor, so you edit prompts in real text files rather than through some bespoke UI.

      The whole thing is a custom DOM widget, which is both the charm and the risk.

      The input you actually touch

      The only input in the schema is file_name, the dropdown of YAML files. There are no outputs - RETURN_TYPES is empty, so when you run the graph, this node just... exists. It's a browsing tool, not a pipeline stage.

      That design has a knock-on effect worth planning for: since it can't wire into the graph, it's at its best as a companion to a workflow - you keep it on the side, click a prompt, paste it into your actual prompt node. A low-tech but honest workflow.

      Install

      ComfyUI Manager (search "ComfyUI-GadgetNodes") or clone + install:

      cd ComfyUI/custom_nodes
      git clone https://github.com/2daadv/ComfyUI-GadgetNodes.git
      pip install -r ComfyUI-GadgetNodes/requirements.txt
      

      Then restart and create your first file under ComfyUI/custom_nodes/ComfyUI-GadgetNodes/prompt/. The pack reads YAML via PyYAML, which usually ships with ComfyUI already.

      Where people get burned

      • Files don't appear until restart. The file_name list is built at node-creation time, so a new YAML file needs a ComfyUI restart (or a fresh node) before it shows in the dropdown.
      • Nodes 2.0 breaks the UI. This is a custom DOM widget built for the classic LiteGraph frontend. The README explicitly warns the palette "may not display or operate" on the new Nodes 2.0 UI. If the tree never renders, that's why - the Python side reads YAML fine, the widget is the fragile part.
      • Every leaf must be a string. The tree assumes leaf values are prompt strings. If you nest a dict where the parser expects a string, the UI gets confused.

      There's essentially no community chatter about this node anywhere, which tracks - it's a niche convenience from a small pack. Judge it on whether you actually maintain a reusable tag library. If you do, this is a tidy home for it. If you just wanted a node that outputs a selected prompt, you'll be disappointed - but that's a different tool.

      CategoryGadget/prompt

      Inputs (1)

      NameTypeDefaultDescription
      file_nameCOMBO0 options:

      Outputs (0)

      No outputs