Clave 2.0.0 was released on 30 September 2026. Until this release, a session in Clave was a terminal: a coding agent’s command line, running in a tab. In 2.0, Claude Code and Codex can also open in a native chat view, and plugins can add agents, views and chrome of their own.
Sessions, groups and settings from 1.x carry over as they are.
A chat view for Claude Code and Codex
A session can open as a conversation instead of a terminal. Answers render as Markdown. Tool calls appear as quiet grouped rows. Questions are answered with a click, and permission requests dock above the composer.
The model menu lists the CLI’s own models, and the reasoning effort switches with the model. Slash commands and /resume work before the first message, and a tab names itself from its first message.
Chat tabs survive a restart, Claude and Codex alike. A long conversation opens on its end and loads further back as you scroll up, rendering only the rows near the viewport. A new chat tab opens with the caret already in the composer.
An agent can open one as well: clave_open_session opens Claude and Codex in the chat view when the agent passes chat: true.
The same session, read as turns
2.0 also adds a Terminal view: the same session read as turns. Each exchange sits in a readable column, tool runs are folded, questions wait in a dock, and the permission mode can be changed mid-session. The view is picked per session from the pane header, and a new chat opens in the view you last picked.
Files on a message
Drop a file anywhere on a chat tab, paste a screenshot into the composer, or pick files with the paperclip. Each becomes a chip above the textarea, to preview or remove before sending.
Images go to Claude and Codex as image content, so a screenshot is seen rather than read off disk. Anything else goes as a file reference: its path is appended to the message, for the agent to open with its own tools. The chip says which. Where an adapter cannot take an image directly, you choose Send as file reference; the app does not decide quietly.
A message takes up to ten files, 5 MiB per image and 20 MiB of images in total. The bytes never pass through the renderer: the main process reads each file when the message is sent and checks it against what the adapter can take.
Account pools
Clave 2.0 holds several Claude and Codex subscriptions at once. A tab can switch to another account without being lost: it resumes on the new one. When a limit ends a chat tab, it comes back on the next account with its message resent.
The Switch account menu says which account to spend next, and the Usage page shows every account as charts.
Plugins that shape the app
The Clave plugin SDK runs each plugin in an isolated host. A plugin can bring its own agent provider, offer several views for a session, and configure the side panel, the toolbar and the main area.
The first plugin ships in the box: a pull request link in a chat opens in a GitHub side panel.
Look and controls
- Skins: installable palettes for the interface and the terminal.
- Density: five presets, Comfortable and Compact among them, plus a text size and a choice of font.
- Mouse buttons can be bound like keys, and there is a new Archive and kill session action. A middle click on a sidebar row closes it.
- A session’s id can be copied from its context menu in the sidebar.
Every control is now cut from one density spec, and the tab logo carries one status at a time, so a working, waiting or finished tab reads at a glance.
One fix worth naming
With several sessions open, starting a couple of agents could lock the whole window for a minute or more. A hidden terminal measured every character as zero width, so each repaint forced a layout of the entire window. Hidden terminals now keep their real size off screen, and a repaint costs nothing noticeable. A restored tab still starts nothing until you open it.
Every change in 2.0.0 is listed in the changelog in the repository.