Chats

A chat is a conversation with a model, kept in the project. Close Zero, come back tomorrow, open the chat — the whole history is there.

Chats need a connected provider. If sending does nothing, start with Connect an LLM provider.

The chat tree

The Chats page lists your conversations in folders you arrange yourself. Drag a chat into a folder, drag folders into each other, reorder them — the order you set is the order you see, not alphabetical.

Two folders are there from the start: Chats, where ordinary conversations go, and Assistant, where conversations with an agent go. They cannot be deleted, because they are where new chats land, but you can rename and move them like any other folder. The split is a default, not a rule — drag a chat between them freely.

Deleting a folder does not delete the chats in it. The folder disappears and its chats move up to the parent. Removing a container should not destroy what was inside it.

Sending a message

Type and send. The answer streams in as it is generated.

The view follows the answer down until you scroll up; any upward scroll releases it, and it does not fight you for the rest of the turn.

When the model calls a tool, the card for that call appears as soon as it starts — while the model is still typing out the arguments, with a count of what has arrived so far. Waiting until a call was complete left long silences that read as a hang.

The + button on the toolbar starts a new conversation. Beside it, a small indicator shows how much of the model's context the conversation is currently using — hover it for the totals for the whole chat.

Attaching things

The composer's Attach and context button adds files and images to a message. Images go to models that can see them; text files are included as content the model can read.

Per-chat settings

Open the settings pane from the chat toolbar. Everything here applies to this chat only:

Leaving an option empty means "whatever the model does by default", which is usually the right answer.

Answer length and thinking

There is no single "maximum tokens" knob, and its absence is deliberate. At every vendor, the output ceiling covers the model's thinking as well as its answer — so a ceiling of 4000 set on a reasoning model would be spent entirely on reasoning and return an empty reply. The number meant something other than what it appeared to mean, on every model that thinks.

Instead there are up to two knobs, and Zero adds them up for you:

While a model is reasoning, that part of the answer streams into its own collapsible block above the reply.

Regenerating

Regenerate under the last answer asks again. Regenerate from here, on any message's right-click menu, rewinds to that point and continues from there.

Rewinding discards everything after that point. When what would be discarded includes messages you wrote, Zero asks first and says how many.

The system prompt

The system prompt is the standing instruction for the conversation — who the model is and how it should answer. It has its own editor in the chat, and a switch: you can keep a prompt written and turn it off without deleting it.

A few models do not accept a system prompt at all. Zero says so on the control rather than sending it into a void.

Chats about a document

A chat can belong to something. Open a document and use the assistant beside it, and the conversation records that it was about that file, so later you can ask which conversations touched it.

What the model is told about the open document — the file, where your cursor is, and any selection — arrives as chips above the composer, not as text pasted into your message. Your message contains what you typed and nothing else, which means you can see exactly what context is being sent and the transcript still reads as something a person wrote.

The link survives the document being deleted. That is deliberate: the chat is evidence that the discussion happened, and a file removed today can come back from git tomorrow.