Conversations
For: people running and reviewing agents.
Start a conversation when an agent needs the context of earlier turns. Each message starts a new job, so you can inspect a turn, continue it or fork from it without replacing the earlier record.
A job answers once. To ask a follow-up, continue it: the next turn is a new job of its own, started like any other, that gets the conversation so far with your message. Because every turn is a job:
- it is durable and has a trace, like every job;
- it is metered: its cost, earlier turns included in its input tokens, is on its job;
- it runs under the tenant's quotas, budgets and kill switches, and the agent's contract.
A conversation is an ID its turns share. The trace, the job page and job get link each turn to the one before and after it.
From the CLI
oz0 run weather "What is the weather in Stockholm?"
# job job-1f0c… started (agent weather)
# continue with: oz0 run --continue job-1f0c… "..."
oz0 run --continue job-1f0c… "And in Paris?"
# job job-77ab… started (agent weather), turn 2 of conversation conv-5e1d…
oz0 run --conversation conv-5e1d… "Which is warmer?"
With --continue or --conversation, the agent may be left out: the agent of the latest turn answers. Name one to hand the conversation over (see below).
--conversation ID also starts a conversation under an ID you choose, when it has no turn yet: run weather --conversation trip-2026 "...". IDs are letters, digits and ._:@-, at most 200 characters.
chat does the same in a loop, one message per line, until /exit or the end of its input:
oz0 chat weather
# Talking with weather. One message per line; /exit ends.
# you> What is the weather in Stockholm?
# ...
Answers go to stdout and what the agents do to stderr (--quiet stops that), so printf 'one\ntwo\n' | oz0 chat weather works in a script. chat --continue JOB and chat --conversation ID go on with one you had.
Forks
Continue a turn that is not its conversation's latest, and the job forks it: it starts a new conversation that goes on from that turn, with the turns up to it and none after, and the conversation you forked stays as it was.
oz0 run --continue job-77ab… "What about Lyon instead?"
# job job-a3c9… started (agent weather), turn 3 of conversation conv-9b20…
oz0 conversation get conv-9b20…
# Forked from: conv-5e1d…, at job job-77ab…
The fork's first turn links back to the turn it continued (its trace's previous turn), its turns are numbered on from there, and conversation get of the original lists its forks. Name the fork with --conversation new-id together with --continue. Continuing an earlier turn with the original conversation's own ID is refused, since a conversation has one line of turns. In the console, Fork from here on a turn of the Conversation tab does the same.
Read conversations:
oz0 conversation list --agent weather
oz0 conversation get conv-5e1d… # or any of its jobs
oz0 job search conversation:conv-5e1d…
In the console
- The chat drawer, on every page (⌘J, Ctrl J), lists your chats with what each is doing, follows several at once, and continues, forks, stops and hands over a chat in place; a new chat starts from a picker of the agents you may start. See the chat drawer. It reads only your own list (
ListMyConversations), and someone else's chat, opened by its address, asks for a reason as below. - The job page has a Conversation tab: the turns with what was said and answered, and a message box. Continue starts the next turn and opens it. On a job that is no conversation's turn yet, Continue starts a conversation: the job becomes turn 1.
- Run it again on a failed turn's page starts the conversation's next turn with the same message and the same earlier turns.
- The Run panel on the Agents page offers your own chats with the agent and those shared with you, never anyone else's: pick one, and the job you start is its next turn. A new conversation there is a new chat of yours.
- A chat's page (the Conversation tab of its turns) shows its title, whose it is, Pin, Archive, Rename and Share for its owner, who it is shared with, who read it through the audited access, and Remove from my list, which says what happens to the turns.
- The overview counts conversations, and the ⌘K search finds a conversation's turns by its ID.
Each answer carries the tenant's AI label, a badge in the tenant's words and the browser's language.
Related tasks and reference
Previous section links
ask one chat that finds the right agent: Read the section.
chats yours private by default: Read the section.
handing a conversation to another agent: Read the section.
how much of the conversation a turn gets: Read the section.
over a2a and mcp: Read the section.
personal data retention and erasure: Read the section.
through the api: Read the section.
what is refused: Read the section.
which agents take part: Read the section.
in the web ui: Read the section.