Textarea
A real box to type prompts in, and a live view of what your text nodes are saying
- STRING
ComfyUI's default text widgets are tiny single-line boxes, which is borderline hostile when you're writing a serious negative prompt or a long style block. Textarea is the fix: a proper multiline text box that sits on your graph, lets you type your prompt by hand, and doubles as a live display for text arriving from other nodes. It's an output node, so it counts as a legit end of a branch - but it still passes text through, so you can both watch it and feed it onward.
How it works
The backend is intentionally small. It takes an optional input_text and returns whatever text it ends up with, both as a result you can wire onward and as UI data that paints onto the node. The personality comes from the front-end widget, which adds a real multiline textarea to the node bound to a hidden text slot. What you type lives in that textarea, and the widget serializes it into the workflow JSON - so your prompt survives saving, closing, and reloading the workflow, which stock ComfyUI text widgets don't always do gracefully for you.
The subtle bit is which text wins. If you leave input_text disconnected, the node outputs exactly what you typed in the textarea. If you connect an upstream text node, the incoming text takes over - the node displays it in the textarea and outputs it. So it's a toggle by wiring, not by a setting.
The inputs that matter
- input_text (STRING, optional) - wire a text source here and this node becomes a monitor that shows you exactly what that upstream node produced, then passes it on.
Output is a single STRING. Connect it to a CLIP Text Encode for a prompt you typed, or just leave it hanging as a debug display. Because it's marked as an output node, ComfyUI treats it as a valid workflow endpoint.
Why you'd reach for it
Two genuinely different jobs. First, it's a comfortable place to author long prompts or negative prompts - big text box, survives reloads, wires straight into CLIP. Second, it's a debugging aid: when you're building a chain with nodes like Merge Texts and want to see what the merged string actually looks like before it hits the encoder, drop a Textarea on the end and read the answer. That alone has saved me from comma soup more than once.
How to install it
ComfyUI Manager β search "ComfyUI AstroCorp Nodes" β install β restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/AstroCorp/ComfyUI-AstroCorp-Nodes
Restart and it's under "ππ AstroCorp ππ". No models, no real Python dependencies - the pack's pyproject.toml declares zero (the tensorrt line in requirements.txt only serves the pack's ONNX upscaler nodes, irrelevant here).
Common issues
The main gotcha is the override behavior: if a connected input_text is supplying text, your typed textarea contents stop being used - the incoming value wins. If you type something, run, and the output doesn't match, check whether you left an input wired in; disconnect it to go back to manual.
Because it's an output node, an idle Textarea with nothing connected still runs as a workflow endpoint. That's harmless, but if you use it purely as a display, remember it's not free - it marks the graph as needing to run through to that point.
It's a small pack from a small author, but this node punches above its weight. If you've ever squinted at a tiny text field wondering where your prompt went, this is the two-minute fix.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| input_textopt | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | β |