Persist + Display Resolved Prompt
The SickOllie persistent prompt node
- text
Every ComfyUI user has hit the same wall: your Prompt Core assembles something like portrait of NAME wearing OUTFIT_A, SCENE and resolves it into a real string at execution time, but by the time you drag the saved PNG back onto the canvas the placeholder tokens are gone from memory and you're staring at the template instead of what actually ran. Persist + Display Resolved Prompt is SickOllie's fix for that exact moment. It's a tiny Classic-family node that sits in the middle of your prompt wire and does three quiet jobs: show you the resolved string, bake it into the saved workflow, and write it out as its own PNG metadata field so it survives even when the rest of the graph doesn't.
The name is doing exactly what it says. This node never generates anything and calls no API. It's a string pass-through with a side effect, and the side effect is the point.
How it works
Wire it inline after the last Log or Regex step and before your text encoder. The text input is forced as an input socket, so it expects the final processed prompt, and the node always executes - its IS_CHANGED returns a sentinel that defeats ComfyUI's caching, because if it ever got skipped your PNG metadata would be stale. On each run it writes the resolved string into the workflow's PNG workflow chunk (via the node's own widget and a backup property) and into a separate resolved_prompt text field alongside it. That second field is the clever bit: ComfyUI's stock Save Image stuffs any EXTRA_PNGINFO entries into PNG text chunks, so tools that read metadata can find the exact prompt even if the full graph chunk is missing.
Two inputs, one output - that's the whole surface. text (required) is the final prompt; saved_prompt is a read-only multiline display that repopulates when you reload a saved workflow. The text output feeds straight into Generation Core's positive_text (or any text encoder).
Installing it
This ships in the SickOllie pack, so install the pack, not the node:
cd ComfyUI/custom_nodes
git clone https://github.com/sickollie/SickOllie
or search "SickOllie" in ComfyUI Manager. The folder must sit exactly one level under custom_nodes, you need Python 3.10+, and the pack's only real neighbor is rgthree-comfy (Loader Core needs it; this node doesn't). Restart ComfyUI and hard-refresh with Ctrl+F5.
Where people get burned
Mostly on expectations. This node records what ran at execution time; it won't show you a preview of the next queue. And for the baked value to survive a PNG round-trip you need to be saving PNG with prompt/workflow metadata enabled on your Output Core - a JPEG or a re-encoded host upload has nowhere to keep it. If you're on the Studio workflow, don't bother hunting for this one: SickOllie built the persistent resolved-prompt display straight into Studio's Prompt Core, so Classic is where this standalone node still earns its keep.
It's a small utility, but it's the kind of small utility that keeps a production workflow honest. When you're six months deep into a LoRA test campaign, "what string actually produced this file" is not a detail you want to reconstruct by hand.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Connect the final prompt after all Logs and Regex processing. | |
| saved_promptopt | STRING | Read-only display. The executed prompt is persisted here in saved PNG workflows. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |