Prompt Override Selector
A text box that knows its job
- prompt_override
Prompt Override Selector is a multiline text box with a dedicated output, and honestly, that's it. It takes whatever you type and passes it through untouched. No logic, no parsing, no wildcard processing - one STRING in, the same STRING out. So why does it exist? Because in a workflow with several prompt sources fighting for attention, a box that's named for its purpose is worth a thousand reroutes. You know exactly where to type when you want to throw out the presets and take manual control.
Think of it as the prompt-slot version of a well-labeled input. You've got a wildcard picker feeding one string, a preset list feeding another, and a text switch deciding who wins. Prompt Override Selector is the third contender in that switch - the "I'm overriding everything" lane that sits visibly on the canvas so future-you doesn't have to hunt through a pile of string primitives to find the one that matters. It's the same idea as the pack's Duck Text Multiline, but without the dynamicPrompts flag: this node does not expand {wildcards} or __tags__. It's a raw passthrough, and that's a feature - an override that does exactly what it says, no substitutions sneaking in.
The input and output
- prompt_override (STRING, multiline) - type your override text here. The
placeholdereven says "Prompt override," in case the name wasn't enough. - prompt_override (STRING) - the same text, on a wire you can feed into a CLIP Text Encode, a text switch, or anything else that wants a string.
The wire-able output is the whole trick: convert most text boxes in ComfyUI to inputs and you can do this with a plain Primitive String, but the dedicated node keeps the override slot always-visible and always-connected. It pairs naturally with the pack's Is String Empty - gate your switch on whether the override box is actually populated, so an empty override silently falls back to your default prompt instead of blanking it.
How to install it
This node is part of duckcomfy personal nodes, a personal utility pack that author duckcomfy re-implements to avoid dependency bloat. Install via ComfyUI Manager (search "duckcomfy personal nodes"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/duckcomfy/duckcomfy_personal_nodes
Restart ComfyUI after cloning. No models, no dependencies - the pack's pyproject.toml declares an empty dependency list, so there's nothing to download and nothing to fight your other nodes over.
Gotchas
Don't expect prompt processing of any kind. If you wire a randomizer or a LoRA syntax string through here expecting expansion, you'll get the literal text out the other side. And because the input is a required widget, it's always there - the "override" is whatever you last typed, even if that's nothing. If you want to branch on an empty override rather than send it onward, put an Is String Empty in front of it. That combination covers the actual failure mode this node exists to solve.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_override | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt_override | STRING | — |