Reference Prompt (old id)
TaggedPrompt is Reference Prompt before the rename — same @tags, different id
- text
TaggedPrompt is the node that started this pack, back when it was one idea and one name: a prompt box where typing @ pulls up your reference files. In version 0.1.2 the author renamed it to Reference Prompt, and left TaggedPrompt behind as a subclass with DEPRECATED = True - hidden from the node search, fully functional for every workflow that saved it. Display name: Reference Prompt (old id).
That's the whole story of the node's identity. The interesting part is what it does, because it's the least conventional node in the pack.
Who should care
Anyone feeding more than one reference image (video, audio) to a partner or edit model. The default ComfyUI way is: one Load Image per reference, each wired into image_1, image_2, …, and a prompt that has to say "image 3" and mean the third wire. Add a fourth reference and you're rewiring, renumbering, and re-reading your own prompt to check which wire is which. Reference-driven editing is now the mainstream way to hold a character's identity across shots, and multi-reference prompts are normal - which makes that bookkeeping the annoying part of an otherwise good workflow.
This node removes the wires. You mention @Alex in the text and the file gets plugged into the model for you when you queue. The canvas stays two nodes whether you use one reference or fourteen.
Inputs and outputs
On the server side it is almost insultingly simple: a single required text string input, multiline, and a single text string output that hands it straight back. That's the entire Python node.
The work happens in the frontend, and the pack says so in a comment: "The tagging and wiring happen in the frontend when the prompt is queued; by the time this runs, @tags have already been rewritten to 'image N'". The old id gets the same frontend treatment - the JavaScript maps TaggedPrompt onto ReferencePrompt internally - so an old workflow gets the @ autocomplete, coloured tags, the thumbnail strip, hover previews and the queue-time wiring identically.
What that means in practice:
- Tag colours tell you the truth before a run does. Blue is a file that exists in an enabled library. Red is an unknown name, or a plugged-in file you've since unplugged or muted. Purple means the library entry's file is gone from disk. Grey struck-through means you switched that library off on this node. Red, purple and grey all refuse the queue rather than run with a different file than you meant.
@Alexbecomes "image 1" in the prompt the model receives, numbered by input order. Your canvas keeps the readable tag.- The model's own limits are respected. The node asks the model what it accepts - Nano Banana 2.1 takes 14 images, Seedream 5.0 pro 10, GPT Image 2.5 16, Qwen Image 3 Edit just 3 - and refuses to queue if you've tagged more than that.
- A stray
@wordtyped into a model's own prompt box is left as plain text, and e-mail addresses are ignored, so[email protected]doesn't become a reference file.
Mechanically this is why the pack needs Nodes 2.0: it's built on the modern node frontend, where DOM widgets and runtime-added outputs exist. On the classic canvas there's no sane way to do the strip and the @ popup.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/PixelMonkey77/comfyui-reference-library
Restart, or use ComfyUI Manager's Install via Git URL. Nothing to pip install, nothing to download - pyproject.toml lists zero dependencies.
Then turn on Settings → Comfy → Nodes 2.0 → Modern Node Design (Nodes 2.0). Be honest with yourself about this one: Nodes 2.0 is the frontend rewrite that broke rendering in several long-established packs, and some people have good reasons to stay on the legacy canvas. If you're one of them, this pack is not going to work for you.
Common issues
Can't find it in the search menu. Correct - you add Reference Prompt. Old workflows keep working because the id still resolves.
"A Reference Prompt with tags isn't connected to any model it can fill." You tagged files but nothing downstream takes them. Connect text to the model's prompt.
Models with one images input. Nano Banana Pro and friends take all references as a single batch, so the node can't fill numbered inputs. On the canvas it grows an extra images output for exactly this - wire text to prompt and images to images. The old TaggedPrompt node does the same thing once it's running against the current frontend.
Tags stop working when a folder moves. Libraries store full paths. Move the folder and the tags go purple, one at a time. There's no re-link-everything button; use ✎ on each asset and Replace file….
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |