How to Design AI Chat Composer UX
A build playbook for AI intent capture: Chat UX patterns plus ChatGPT vs Claude vs Perplexity vs Gemini composer teardown lessons.
The composer is where intent becomes a request. Before streaming, memory, or artifacts matter, a person has to know what they can type, attach, switch, and spend. Calm defaults win habit. Visible cost and depth controls win intentional research. The wrong posture makes your product feel either empty or overwhelming on first contact.
This guide is a binder for that job. It stitches the Chat UX framework, composer patterns like tool switching, and the live ChatGPT vs Claude vs Perplexity vs Gemini comparison into one build playbook. Each pattern below shows a shipped product shot, then a referral to try the interactive demo on the pattern page.
Key takeaways
- Match the default bar to the funnel: calm messaging for habit, cost-visible depth for research, empty ecosystem pull for workspace AI.
- Surface tools when the next message needs a mode change. Hide them when they compete with sending the first message.
- Model and effort controls belong before send when cost, latency, or quality variance is real. After send is too late.
- Attachments and voice are first-class intents, not overflow trivia. Preview what will go in the prompt.
- Skip a busy composer chrome when your product only supports plain chat and every control is a distraction.
What composer UX actually means
Composer UX is the input system that captures intent before the model runs. It includes the text field, starter hints, tool and mode switches, attachments, voice, and any model/effort controls that change what happens on send.
Chat UX treats the composer as intent capture: slash commands, context chips, tool switching, and multimodal intake all exist so the model gets a clear job. Agentic products extend that with consent chips when the next step needs connectors.
If you only read one distinction: the default bar shapes who sends the first message. The power controls shape who trusts the tenth.
The core pattern: a calm, send-ready bar
Start with an empty messaging bar and light starter pills. ChatGPT hides depth behind a calm default so more people send something. Power appears after the habit of asking exists.
Real-world example

ChatGPT · Empty messaging bar. Starter pills hint at jobs without mode chips crowding send. Full teardown
Pattern: Tool Switching in Composertry the interactive demo on the pattern page.
A calm bar is not a barren bar. The send affordance, attach path, and one discoverable tools entry still need to be obvious.
Pattern spine: tools, context, and multimodal intake
A text box alone is not a system. Shipped products compose the bar with siblings that change how intent is captured.
1. Tool switching in the composer
Let users change search, reasoning, image, or computer modes without leaving the draft. Claude keeps model and effort visible before send.
Real-world example

Claude · Model and effort already visible. Cost and depth are decisions before send. Full teardown
Pattern: Tool Switching in Composerchange modes without abandoning the draft already in the bar.
2. Context chip management
Show what the next turn will use (files, @mentions, connectors) as dismissible chips. Invisible context creates surprise; overcrowded chips create clutter.
Real-world example

Perplexity · Connectors and research depth live in the composer when the job is search-first. Full teardown
Pattern: Context Chip Managementsurface attached context as dismissible chips before send.
3. Slash commands and follow-up priming
Teach structured intents without a settings maze. Slash menus and follow-up chips reduce blank-page anxiety after the first response.
Real-world example

ChatGPT · Tools stay one click from the calm default. Discovery without permanent chrome. Full teardown
Pattern: Slash Commandsoffer structured intents without forcing a settings maze.
4. Multimodal and voice intake
Attachments and voice are intents, not accessories. Gemini keeps the bar light and leans on Drive and Google surfaces for power users.
Real-world example

Gemini · Empty bar with ecosystem depth behind plus. Workspace AI posture. Full teardown
Pattern: Multimodal Inputtreat files, images, and voice as first-class intents in the bar.
Four product bets: what the default bar implies
The same composer job produces four interfaces. Steal the posture that matches your funnel. Full table and steal rules live in the composer comparison.
ChatGPT: calm messaging first
Hide power so more people send a first message. Starter pills hint at jobs without mode chips.
Real-world example

ChatGPT · Habit bar with attach nearby. Depth stays secondary until needed. Full teardown
Claude: cost and effort before send
Make model and effort visible so users choose depth deliberately. Defaults assume web search can be on without hiding the tradeoff.
Real-world example

Claude · Model choice is a first-class pre-send control, not a buried setting. Full teardown
Perplexity: research depth up front
Force research intent early with modes and connectors. People arrive to search, not to chat idly.
Real-world example

Perplexity · Search-first composer. Modes communicate the product bet immediately. Full teardown
Gemini: ecosystem pull
Keep the bar empty and pull power users into Drive and Google tools. Steal this when workspace depth is the moat.
Real-world example

Gemini · Empty default, ecosystem power under plus. Workspace-native posture. Full teardown
Hide power or show cost?
This is the highest-leverage product decision for the composer.
- Hide power when activation rate matters more than configuration. ChatGPT's calm bar is the reference.
- Show cost and effort when wrong depth wastes money or latency. Claude is the reference.
- Force research modes when the product is search, not chat. Perplexity is the reference.
If you show every control on day one, you teach users the product is complex before they taste value. If you hide cost forever, you teach them surprise bills.
Decision checklist
Prefer a send-ready default with progressive disclosure over a control panel that demands a tutorial before the first prompt.
Add composer chrome when
- Users must pick modes that change retrieval or spend
- Attachments or voice are common first intents
- Wrong model choice creates failed or expensive runs
- Connectors appear only for some query classes
- Starter pills measurably raise first-message rate
Keep the bar minimal when
- You only support plain text chat today
- Every extra control hurts mobile send rates
- Power users already reach settings another way
Anti-patterns to refuse
- A wall of mode chips that delays the first send
- Hidden model switches that change answer quality without notice
- Attachments with no preview of what enters the prompt
- Voice capture that fires tools without a confirmation path
- Starter pills that promise jobs the product cannot do
- Disabled send with no explanation of what is missing
What to ship next
Pick a posture from the comparison, then ship one default bar and one progressive tools entry. Measure first-message rate and tool discovery separately. They trade off.
- Read the composer comparison and steal one default-bar rule.
- Spec the bar with tool switching and context chips as references.
- Add model/effort only if cost or quality variance is real for your users.
- Cross-check against Chat UX so the composer feeds the rest of the conversation system.
Explore related reference
- AI chat composer UX compared
- Claude vs ChatGPT composer deep dive
- Tool switching pattern
- Slash command pattern
- Multimodal pattern
- Designing Better AI Chat (Part 1)
- AI Chat Interface Playbook
Found this useful? Share it with your network.
Frequently asked questions
What is AI chat composer UX?
Composer UX is the input system that captures intent before the model runs: the text field, starter hints, tool and mode switches, attachments, voice, and any model or effort controls that change what happens on send.
Should the default bar hide power or show cost and effort?
Hide power when activation rate matters more than configuration (ChatGPT calm bar). Show cost and effort when wrong depth wastes money or latency (Claude). Force research modes when the product is search-first (Perplexity).
When should model or effort controls appear?
Surface model and effort before send when cost, latency, or quality variance is real. After send is too late. Skip them when you only support plain chat and every control hurts first-message rate.
How should attachments and voice appear in the composer?
Treat attachments and voice as first-class intents, not overflow trivia. Preview what will enter the prompt, and keep a clear path for confirmation when voice can fire tools.
ChatGPT vs Claude vs Perplexity vs Gemini: which composer posture fits?
Steal ChatGPT calm messaging for habit. Steal Claude cost-visible depth for deliberate runs. Steal Perplexity research-up-front modes for search. Steal Gemini empty-bar plus ecosystem depth for workspace AI.