---
title: Chat
category: Agents
order: 2
description: Built-in Chat interface for working with agents and MCP tools
lastUpdated: 2026-07-03
---

Archestra includes a built-in Chat interface for working with agents, MCP tools, files, browser actions, and model selection in one place.

![Agent Platform Swarm](/docs/platform-chat.webp)

### Supported Providers

Chat supports the LLM providers configured for your workspace. See [Supported LLM Providers](/docs/platform-supported-llm-providers) for the full list.

### Available Commands

Type `/` in the prompt input to open available chat commands.

- [`/compact`](#context-compaction) summarizes older conversation history to reduce context usage and help prevent hitting the selected model's context limit. The full chat history remains visible in the conversation.

When the agent has the [code sandbox](./platform-code-sandbox) available, a message starting with `!` (for example `! ls attachments/`) runs the rest of the message as a shell command in the conversation's sandbox instead of asking the model. The command and its output appear in the conversation as a regular `run_command` tool call, so the agent sees the result in later turns. Output appears when the command finishes. Requires the `sandbox: execute` permission; without a sandbox, the message is sent as normal text. User-typed commands do not trigger PreToolUse/PostToolUse hooks — the user, not the model, initiated the call.

### MCP Elicitation

Some MCP tools can ask for additional information while they run. Chat shows these requests as a modal form, validates required fields, and resumes the tool call after you continue. If the request points to an external URL, Chat only opens HTTP or HTTPS links.

#### Context Compaction

Context compaction replaces older messages with a structured handoff summary while keeping recent turns verbatim, so a long chat can continue near the model's context limit. The original history stays visible, and compaction events appear in the conversation timeline. It is handled by the [Context Compaction Subagent](/docs/platform-built-in-subagents#context-compaction-subagent).

#### Chat Titles

Chat titles are generated by the [Chat Title Generation Subagent](/docs/platform-built-in-subagents#chat-title-generation-subagent).

#### Context Window Visualizer

The context window visualizer shows how the model's context window is filled for the current turn. Click the ring indicator in the chat toolbar to open it.

The indicator ring appears after the first message in a conversation. The ring color escalates as the window fills: green below 50 %, yellow from 50 %, orange from 75 %, red from 90 %.

The panel breaks usage down by category:

| Category | What it counts |
| --- | --- |
| System prompt | The agent's instructions, sent verbatim on every turn. |
| Tools | The JSON schemas for every tool the agent can call. |
| Messages | The conversation history — user turns and assistant replies. |
| Tool results | Output returned from tool and knowledge-base calls. |
| Files | Attachments included in the conversation. |

Expand any category to see the largest individual contributors (top tools by schema size, top turns by length, and so on). The "Free space" row shows remaining capacity when the model's context length is known.

**Estimates, not exact counts.** The breakdown is computed before the request is sent, using the same character-per-token and bytes-per-token heuristics that drive auto-compaction. The provider's exact prompt size arrives afterward via per-step token usage and supersedes the estimate for the ring. The visualizer never mutates or truncates the request.

When auto-compaction frees tokens, a note appears in the panel showing how many tokens were recovered. See [Context Compaction](#context-compaction) for how compaction works.

### File Attachments

Chat attachments are scoped to their conversation. To reuse files across related sessions, add them to a [Project](./platform-projects) instead, where files are shared across all of the project's chats.

Which files you can attach depends on the agent. Without a code sandbox, uploads are limited to types the model can read directly: images, PDFs, and common text documents (`.txt`, `.md`, `.csv`, `.tsv`, `.json`, `.xml`, `.yaml`, `.toml`); large text files are rejected rather than truncated. When the code sandbox is available for the agent, any file type can be attached and is staged into the sandbox for the agent to process.
