Chat works the way you'd expect from any LLM client: a conversation thread, streaming responses, and full history. Each chat runs on an agent you choose, so you can switch between models and providers freely — there's no lock-in.
Organizing chats
Chats can be grouped into folders (which can nest), labelled, and searched. Titles are generated automatically from the first exchange, and a running token counter tracks input and output usage per conversation so you can see what a chat is costing.
Chatting inside a project
Attach a project to a chat and the assistant gains the same sandboxed filesystem tools a task gets — it can read, search, and edit files in the project directory and run commands. On Linux those calls are sandboxed. Without a project, the chat is plain conversation with no tools.
From chat to a Weave
With a project attached, you can ask the assistant to turn a request into a Weave: it uses a built-in tool to create the weave and its tasks, which you then review and run. You can also start a fresh chat seeded with a summary of the current one ("New from chat").
File attachments
Files and images can be attached to any message. Both are sent as content blocks per the vendor API spec. Attachments are scoped to the individual message they're added to.
Per-chat options
- Agent — the model and provider this conversation runs on.
- Project — enables sandboxed tools scoped to its directory.
- MCP servers — toggle extra MCP tools on per chat.
- Skills — inherits the project's default skills unless customized for this chat; the agent's own skills are always included on top.
- System prompt override and prompt caching can be set per conversation.