Skip to main content

Chat Features Overview

Chat & Conversations map with the Chat Features cell highlightedChat & Conversations map with the Chat Features cell highlighted

Open WebUI provides a comprehensive set of chat features designed to enhance your interactions with AI models. This page provides an overview of the key chat capabilities, with links to dedicated pages for more detailed information.

Core Chat Features​

A new chat with the model selector and prompt suggestions

A response rendering LaTeX, a table and a mermaid diagram

The same response continued, with a rendered mermaid diagram and a task list

A response with a syntax-highlighted code block

  • πŸ“ Folders & Projects: Transform folders into powerful project workspaces with custom system prompts and attached knowledge bases.

  • πŸ”— URL Parameters: Configure chat sessions through URL parameters, enabling quick setup of models, tools, and other features.

  • βš™οΈ Chat Parameters: Control system prompts and advanced parameters at different levels (per-chat, per-account, or per-model), and fill placeholders in a shared system prompt with chat or user variables.

  • ✨ Autocomplete: AI-powered text prediction that helps you write prompts faster using a task model.

  • πŸ—¨οΈ Chat Sharing: Share conversations locally or via the Open WebUI Community platform with controllable privacy settings.

  • ⬇️ Response Auto-Scroll: The view follows a response down the page as it is generated. Turn it off with Response Auto-Scroll in Settings > Interface to keep the scroll position where you put it, which is useful when you want to read earlier parts of a long answer while the rest is still streaming.

  • πŸ“Ž Default Upload Mode: How a file you attach in a chat is handled before you touch anything. Settings > Interface > File > Default Upload Mode switches between Using Focused Retrieval, the default, where the file is chunked and searched by relevance, and Using Entire Document, where its whole content goes into the conversation. It sets the starting point for each new attachment; you can still change an individual file's mode by clicking it after it is attached. See Retrieval Modes for what the two modes mean.

  • πŸ’¬ Reference Chats: Attach another conversation to the current one, so the model can work from what was said there. Pick it from + > Reference Chats, which lists your own chats, or drag a chat out of the sidebar and drop it on the message input, which also works for a chat that is not yours. The conversation goes in whole, as plain text, with no chunking and no vector search. Any chat you are allowed to read can be attached, including one shared with you and one sitting in a folder shared with you.

  • 🍴 Fork a Chat: Branch a conversation into an independent copy from any assistant response. The Fork chat action on a message copies the history from the start of the conversation up to that point into a new chat titled <original title> (fork), keeping the original's folder and pinned state, so you can take a different direction without touching the original. Forking requires the Chat Import permission (chat.import, allowed by default; admins always pass). Without it the Fork chat action is not shown on a message at all. Forking is also unavailable while a response is still streaming.

  • πŸ—ΊοΈ Chat Overview: A map of the whole conversation, on the Overview tab of the chat controls panel. Open the panel with the Controls button in the chat's top bar, or with the Toggle Controls shortcut once you have given it keys, and the tab is listed as soon as the chat has a message in it.

  • πŸ” History & Search: Navigate and search your previous conversations, or allow models to search them autonomously via native tools.

  • πŸ‘οΈ Sidebar Hover Previews: Resting the pointer on a chat in the sidebar opens a small preview of its most recent messages, scrolled to the end, so you can identify a conversation without opening it. Only one preview is shown at a time, and moving to another row replaces it. Turn it off with Chat Hover Previews in Settings > Interface > Chat if you would rather have a quiet sidebar, are sharing your screen, or are on a connection slow enough that the previews lag. Previews need a pointer, so they do not appear on a touchscreen.

  • πŸ“± Swipe the Sidebar: On a phone or tablet, drag right with one finger to pull the sidebar in and left to push it away. It tracks your finger and dims the conversation behind it as it moves, a quick flick settles it either way, and every chat row carries an always-visible three-dot menu (β‹―) so its actions are reachable without a hover.

  • πŸ•’ Temporal Awareness: How models understand time and date, including native tools for precise time calculations.

  • πŸŽ™οΈ Voice Mode: Start a hands-free voice conversation with your model using the Voice Mode button. The overlay includes a mute/unmute toggle to temporarily silence your microphone without ending the session, useful in noisy or public environments.

  • 🧠 Reasoning & Thinking Models: Specialized support for models that generate internal chains of thought using thinking tags.

  • πŸ’¬ Follow-Up Prompts: Automatic generation of suggested follow-up questions after model responses.

  • ⏱️ Automations: Schedule prompts to run automatically (hourly/daily/weekly/monthly/custom RRULE) and manage recurring runs.

  • βœ… Task Management: Let agentic models keep a structured task/todo list in chat for multi-step workflows and transparent progress tracking.

  • πŸ€– Sub-agents: Let a model delegate focused work to parallel sub-agents that run the same model and tools, and report back.

  • ⏰ Timers: One-shot timers that send a prompt back into the chat when they fire, so a model can pick something up later.

  • πŸ”” Notifications: Per-user webhook targets that notify you when a chat finishes or fails, a channel message arrives, or a calendar alert triggers, plus a notify tool the model can call.

  • ⌨️ Keyboard Shortcuts: Rebindable shortcuts for the common actions, managed in Settings > Keyboard.

  • Expand the Message Box: As soon as your prompt runs onto a second line, a button appears in the top right of the message box. It opens Input, a full-height editor that shows the whole prompt at once, with the same rich text and formatting toolbar behaviour you have set for the message box. What you write there goes into the message box as you type, so close the editor with the βœ• in its header, Esc or a click outside and the text is sitting in the message box ready to send. A single long line that only wraps does not bring the button out.

  • Skill Mentions: Use $ in the chat input to mention and activate Skills on-the-fly, injecting their manifests into the conversation.

  • Chat Input Commands: Typing a trigger character in the chat input opens a suggestion menu:

    TriggerOffers
    /Built-in commands (below), plus your Prompts and Skills
    @Models to switch to, plus attachable context: knowledge bases, collections, files, folders, and web or YouTube URLs
    #Attach knowledge and files
    $Mention and activate skills
    :Emoji

    / and @ used to offer only prompts and only models respectively; both now cover much more.

  • Built-in Slash Commands: these act on the chat or the interface rather than being sent to the model:

    CommandWhat it does
    /compactCompacts the conversation now, instead of waiting for it to cross the threshold. Only offered when Context Compaction is enabled, and not while a response is generating. It reports what happened: the context was compacted, or it was skipped because the chat is too short, empty, or compaction is disabled.
    /statusOpens a status panel for the chat showing Context usage, Queued messages, Tasks currently running, and the Chat ID.
    /forkCopies the conversation up to the current message into a new chat, so you can branch off without disturbing the original.
    /modelOn its own, reports which model the chat is on, listing all of them in a multi-model chat. Followed by a model id, /model gpt-5.1 for example, it switches the chat to that model.
    /settingsOpens the Settings dialog.
    /temporaryTurns temporary chat on or off for the chat you are about to start. The menu entry shows the current state beside it, On or Off.

    /compact, /status and /fork only show up once the chat has messages, and are typed on their own with nothing after them. /model and /settings are always offered, an empty chat included, and /model is the only one that takes anything after it.

    /temporary is the mirror image: it appears only before a chat exists, since the setting cannot change once messages are saved. It is also left out when the Temporary Chat permission is withheld, and when an administrator has enforced temporary chat, because in that case there is nothing left to toggle. Turning it on switches you to a new temporary chat and marks the URL with ?temporary-chat=true.

    /fork requires the Chat Import permission (chat.import, allowed by default; admins always pass). Without it the command is left out of the / menu, alongside the Fork chat action on a message. Typing /fork out by hand and sending it still runs the built-in command, which reports Access prohibited.

    Choosing Model from the / menu opens the model picker rather than running the command, with the search box focused (on desktop), so you can change model from the keyboard alone. Typing an id matches a model's id exactly, never its display name, and an id you do not have reports Model not found: <id> and changes nothing. A successful switch replaces the current selection outright, so a multi-model chat drops back to the single model you named.

  • Writing & Content Blocks: Responses from models that include colon-fence blocks (e.g., :::writing, :::code_execution, :::search_results) are automatically rendered as formatted content in a styled container with a copy button. This is commonly used by newer OpenAI models to distinguish different types of output (prose, code results, search results) from the main response text.

    Each block is headed by its type (Writing, Code Execution), unless the model put attributes in braces on the opening line, as in :::writing{variant="email" subject="Short question" recipient="[email protected]"}. Then subject becomes the heading and recipient follows it, so a chat holding several drafted emails shows their subjects instead of one identical Writing heading after another. A heading too wide for the row is cut short and shown in full when you rest the pointer on it. The recipient is plain text: it is not a link, and there is no send action. Attributes are read only from between the braces, so a key="value" written in ordinary prose on that opening line is ignored, as is a brace that is never closed, and a block with no attributes looks exactly as it did before.

  • Structured Response Editing: Clicking the edit icon on an assistant response that contains tool calls, reasoning blocks, or code-interpreter output opens a structured editor instead of a plain textarea. Each output item (text, thought, tool call, code block, web/file/computer search) becomes its own collapsible field, and a JSON toggle exposes the underlying OpenAI Responses API payload for direct editing. Reasoning/thinking blocks are editable here too. The previous textarea editor reduced them to a non-editable <details> placeholder. Plain text-only responses keep the original textarea behavior. Editing rewrites the message's output array; Open WebUI re-derives the displayed content (including <details> blocks for thoughts and tool calls) on save, so the rendered message stays consistent.

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.