Skip to main content

v0.7.1

/new starts a fresh session in the chat you are in: the one you leave stays on disk, the new one keeps the model and everything else the chat runs under, and a dim line marks where it begins. An agent that writes no choices: is now offered its own model: alone in /model, no longer every models: entry — if you relied on the old list, write it out (below). /model rows lose their (moves the chat) annotation, a compaction in progress shows in the transcript instead of the status row, and /session now opens a session with the settings iota resume would give it.

Upgrading: an agent without choices:​

Until v0.7.0 an agent with no choices: key was offered every models: entry, so a model declared for one agent showed up in every other agent's /model list. Now such an agent is offered its model: and nothing else. To keep the longer list, name it:

agents:
default:
model: gpt5
choices: [gpt5, sonnet, fast] # what /model and -M offer

An agent that names no model: either still gets every models: entry. A model outside the choices is still allowed, with a warning — and a bare word given to -M or typed in /model is still the models: entry of that name, whether or not it is among the choices: -M fast is the model fast stands for, never a model id spelled fast. Only a word no entry has is a model id on the current provider.

Added​

  • /new starts a new session without leaving the chat. The session you leave is saved and stays on disk — /session or iota resume <id> brings it back. The new one gets its own id, in the same place, and keeps what the chat was running under: the model and its settings (including any you changed by hand), the system prompt, the tools and MCP servers, the directory, and whether the chat is being saved at all. It starts with an empty conversation, no attachments and the token counts at zero. The screen is not cleared; a dim New session <id> line marks where the new session begins. Background jobs keep running, and their results go to the new session. An unsaved chat a model has replied in asks Discard this unsaved chat and start a new one? first. /clear does the same thing and is not listed. A bot's session never ends, so a bot refuses /new and says why.

Changed​

  • An agent without choices: is offered its model: alone, not every models: entry — see Upgrading.
  • /model rows no longer say what picking them does. A row is the model, the models: entries that name it in brackets, and (current) on the one the chat is running; (moves the chat) and (needs a new session) are gone. The pick reports itself — Model switched to … on …, the confirmation before a chat that has replied moves, or the refusal in a bot.
  • A compaction in progress shows in the transcript, not on the status row. Compacting context… is the same spinner row thinking uses, raised while the summary is written and replaced by the outcome when it is done. A /compact with nothing to summarize still says only Nothing to compact yet.

Fixed​

  • /session takes the session it switches to as iota resume would. The switch restored the session's model settings but kept the old session's record of where each one came from, so the next /model switch could drop a setting you had made by hand, or keep one the old model's config had supplied. A setting the session never recorded kept the old session's value too; it now comes from the config, as on resume. And declining the offer to compact no longer silences that offer in the session you switch to.