Prompt input
also called composer (community), message composer (community), chat input (community), prompt box (community)
The composer at the bottom of an assistant interface: a growing text area with attachment, model and send controls attached to it.
A prompt input is a text area that has been promoted to the most important control on the page. It is multiline by default, because the thing people type into it is a paragraph rather than a phrase. It grows as they type and stops growing at a ceiling, so a long request stays visible without pushing the conversation off the top. And it carries a strip of its own controls inside its border: attach, model, tools, send. That strip is what makes it a component rather than a field, and it is the reason the whole assembly gets a name.
The nearest neighbour is a search field, and the differences run deeper than the number of lines. A search field expects a few words, submits on Enter without ceremony, and offers a clear control because a stale query is noise. A prompt input expects a considered request, treats what you typed as a draft worth protecting, and offers no clear control at all, since wiping a paragraph by accident is a real loss. A comment composer sits between them: multiline like the prompt, but addressed to people, and posting is final in a way that asking a model is not.
Enter sends and Shift plus Enter inserts a newline. That convention arrived from chat clients and it is now near universal, which does not make it free: it is the reason people send half-written prompts, and it is why the draft has to survive a send that fails and why a paragraph break has to be discoverable by someone who has never been told the shortcut. The send control does two jobs and should look like one button doing both: disabled while the field is empty, active once there is content, and swapped for a stop control while a response is streaming, in the same place, because stopping is the most time-critical action in the entire interface.
The growth deserves a ceiling and a reservation. Let the box expand to a few lines and
then scroll inside itself, and reserve that room in the layout from the start so the
transcript above does not lurch upward on the second line. The field is a real
textarea with a real label, not a content-editable div, unless something in the
design genuinely needs rich text; attachments render as a
file attachment row inside the composer’s border rather than
floating beside it; and the model picker belongs in the footer strip because the
answer changes with it, which makes it part of the request rather than a setting
buried in a menu.
Which word?
| If you want | say |
|---|---|
| the box you type an assistant request into | prompt input |
| input that runs to several lines | text area |
| the input is for searching, not for data entry | search field |
Related
See also: Natural language interface · Model selector · Generative UI