Agent runtime
Message editor
The project chat input supports rich text, file mentions, line mentions, image attachments, model selection, permissions, queued messages, and external-agent runtime controls.
Sending messages
Type in the editor and press Enter to send. Use Shift + Enter for a newline. Markdown shortcuts are handled by the Tiptap editor.
When a response is streaming, the send button becomes a stop button. If you write another message during a stream, the queue button adds it to the queue instead of interrupting the current turn.
Queue panel
Queued messages appear above the editor. Each queued item can be sent now, edited, or removed. Send now stops the current stream and sends that queued item.
File mentions
Type @ to open project file search, then choose a file. You can also drag a file from the file tree into the editor. File tabs expose Mention in chat, and code selections can mention exact lines.
Mentions give the agent a structured reference instead of plain pasted paths.
Slash commands
Type / to open the slash command menu. Native project threads currently expose /plan-mode. External-agent threads do not show native slash commands.
Image attachments
Use the paperclip button or drop images into the editor. Attachments are enabled only when the selected native model supports vision. If the model is text-only, the editor disables attachment picking and clears incompatible staged images.
Model and permission controls
Native threads show the selected model, a model picker, and the permission picker. The context stats control shows session token usage against the model context window when that information is available.
External-agent threads show a runtime badge and the runtime config options reported by the ACP agent, such as model, thinking level, or mode. If the required external binary is no longer available on PATH, the editor blocks sending and points you to Settings.
Prompts and approvals
Tool approval and interactive question overlays appear over the bottom of the editor. You can approve, deny, answer, go back through multi-step prompts, or refuse when the prompt allows refusal.
