ComfyUI Node

Prompt Tabs

Prompt tabs in a single node — stop deleting your good prompts to try new ones

By id-fa·Created about a year ago·Updated 7 days ago· 2
Prompt Tabs
    • text
    • label
    text
    tabs_data

    There's a moment every prompt tinkerer knows: you've dialed in a prompt you love, and now you're about to ruin it to try something different. The community has been asking for a tabbed-prompt node for a while - the idea showed up on r/comfyui back in 2024 as "when I'm experimenting, I often want to keep my original prompt so I can return to it later" - and Prompt Tabs is exactly that idea, done as a single notepad node. It holds as many named prompt tabs as you want, and outputs whichever tab is currently active. Delete nothing, experiment freely, click back.

    How it works

    The node is a text box with a tab bar. Click a tab to switch; click + to add (tabs wrap onto multiple rows, so "no limit" is genuine); double-click to rename; × to delete - with a confirmation dialog, and at least one tab always survives. The active tab's content is what the node outputs, and it keeps a label alongside so you know which prompt you're looking at even after you've toggled away.

    Under the hood there's a tabs_data widget that stores all the tab content (managed by the UI - don't edit it by hand), and the whole thing depends on a small piece of frontend JS in web/. The README is upfront that if the frontend fails to load, the node degrades to a plain multiline text box. So keep ComfyUI reasonably current; this is a UI-first node.

    Inputs and outputs

    Two inputs, two outputs, and the only one you touch is text:

    • text - content of the currently selected tab (tooltip: "Text of the currently selected tab.").
    • tabs_data - internal tab storage, managed by the UI.
    • Outputs: text (active tab's content) and label (active tab's name - Tab 1, Tab 2, or your rename).

    Wire text into a CLIP Text Encode, and flipping tabs becomes your whole prompt-selection UI. The label output is the quietly useful one: feed it to a Save Image prefix and every variant gets filed under the tab name it came from. No more "which prompt made this one" archaeology.

    Installing it

    Same pack as everything else in PromptPalette-F:

    cd ComfyUI/custom_nodes
    git clone https://github.com/id-fa/ComfyUI-PromptPalette-F prompt-palette-f
    cd prompt-palette-f
    pip install -r requirements.txt
    

    Restart, find it under Prompt Palette-F. Or install via ComfyUI Manager by searching "Prompt Palette-F" (you may get a slightly older snapshot of the repo). No models, no heavy dependencies - the pack's only pip requirement, googletrans, belongs to the translate variant, not this node.

    The honest take

    It's a simple node with a simple job, and the limits are equally simple: tabs are all in one node, so you can't wire different tabs to different outputs, and the label only tells you the name of the active tab. If your workflow genuinely needs per-prompt branching, that's what the pack's PromptPalette_F checkboxes are for. But for the classic "keep the good one, try three alternatives, go back" loop, this is the node that makes the workflow itself your memory. It's the kind of small quality-of-life tool you install for one workflow and end up using in all of them.

    CategoryPrompt Palette-F

    Inputs (2)

    NameTypeDefaultDescription
    textSTRINGText of the currently selected tab.
    tabs_dataSTRINGInternal tab storage (managed by the UI).

    Outputs (2)

    NameTypeDescription
    textSTRING
    labelSTRING