Skip to main content
Agents persist their chat history. The Conversation Key field (under Advanced in the agent’s config panel) controls which history a run continues: same key, same conversation. All six harnesses persist history, including the CLI agents.

How keys work

  • Histories are scoped to the workflow and the agent node, then to the key. Two agents never share a conversation, even with the same key value.
  • If no key is set, each manual run or chat session stands on its own history thread.
  • The key can be a static string or a reference like {{nodeId.field}}, so you can derive it from upstream data, for example one conversation per customer ID.

Channel triggers set the key automatically

When a channel trigger is wired directly into the agent, the fired event supplies the key: A fired trigger’s key takes priority over the configured Conversation Key, so a Telegram agent with a fallback key still keeps per-chat threads. A thread a trigger started is also named after the event, so the agent’s history list reads as the channel or the sender the message came from rather than the first line of your standing instructions.

Resetting a conversation

Change the key. A new value starts a fresh history; switching back to an old value resumes that thread. There is no separate clear button: the key is the identity of the conversation.

Changing the model mid-thread

Picking a different model changes nothing until you send. On that send, the conversation goes to the model you picked and carries on:
  • Same harness, for example two of the built-in LLM agent’s models or two Claude Code models: the thread continues as it is, whichever provider each model belongs to.
  • A different CLI harness, for example Claude Code to Codex: the thread is moved into the new harness’s own session store first, so it resumes there with every message in place and each tool call still paired to what it returned. Any of the five CLI agents can hand a conversation to any of the others. The first message after the move starts a new sandbox, so it takes longer than a follow-up.
  • Between the built-in LLM agent and a CLI agent: the built-in agent keeps its history in NoClick rather than in a session store of its own, so there is nothing to move. The recent turns ride along with your message as context the new model reads, about 4,000 characters of them, trimmed from the oldest end. The same happens in the rare case where a thread cannot be moved.
It is the same conversation either way: the transcript stays, the key stays, and carried context is never shown as a dump in the chat. Picking a thread in History opens it and nothing else. The model in the Model dropdown is the one your next message runs, on the thread you opened.
The filesystem node has a Per Conversation Key volume mode that gives each conversation its own isolated storage, useful when each user of a channel agent needs separate files.

Next steps

Channel agents

Threaded Slack and Telegram agents that remember each chat.

Data references

Reference syntax for dynamic conversation keys.