Native, for Linux and Windows

Newen

  1. (1)How it works
  2. (2)See it work
  3. (3)Why Newen
  4. (4)Agents
  5. (5)Get Newen
Drives
claude · codex · opencode · hermes

Introducing Newen: a native desktop app that runs Claude Code, Codex, OpenCode and Hermes side by side, with a record of everything they change.

Newen is for people who already use these CLIs and want to run more than one at a time. Each session is the real CLI, signed in with its own login. Newen gives it a window: permissions you answer in the conversation, the files and commands of every request, a terminal, and a browser the agent can drive.

It is written in Rust with limn, and it is built and tested on Linux. A first Windows build ships with every release.

Newen with a Claude Code session on the left and the app it is testing in the built-in browser on the right.

How it works

A session starts from a folder, an agent and a mode. From there, five things happen in the same window, from the first prompt to a change you have reviewed.

  1. (1)
    Pick an agent

    Choose a folder, an agent CLI, a model and a permission mode, and start the session.

  2. (2)
    Watch it work

    Answers stream in. Every tool shows as a row, and the agent keeps its task list in view.

  3. (3)
    Approve inline

    When the agent wants to change something, the card waits in the conversation and the session is marked in the sidebar.

  4. (4)
    Review the changes

    Each request keeps its own record. Open its changes as a diff, beside the conversation.

  5. (5)
    Rewind if you need to

    Take the conversation back to before any message, undo the rewind, or put a file back as it was.

A new session in Newen with Codex chosen as the agent, in Auto mode.Codex implementing a plan in Newen, with its task list and the context meter beside it.A permission card in Newen asking to edit timer.js, with the diff inside it.The changes of a request open as a diff beside the conversation in Newen.Newen after rewinding to an earlier message, with an Undo rewind link.

See it work

Recorded in Newen with real accounts: Claude Code fixes a bug and commits it, Codex plans and builds a feature in the next session, the agent checks the app in the browser, and a change is rewound. The waits are sped up.

Why Newen

The CLIs do the work either way. What changes is everything around them: how many you can follow at once, where they ask you things, and what is left to read when they finish.

In a terminalIn Newen
Several agents at onceA tab or a window for each CLIEvery session in one sidebar, marked when it needs you
PermissionsAsked in the terminal that is runningA card in the conversation: allow once, always allow or deny, from the keyboard
What a request changedThe scrollback, or git diffThe files each request touched and the commands it ran, opened as a diff
Going backThe CLI’s own rewind, or gitRewind the conversation, or undo the files of a turn from its card
A browser for the agentA browser MCP server you set upChromium built in: it navigates, clicks and reads the console while you watch
Picking up laterThe CLI’s resume commandSessions and their transcripts come back after a restart
Two sessions in Newen's sidebar: Codex implementing a plan while a Claude Code session waits.
Two agents, one sidebar: Codex builds while the Claude Code session waits for you.
The agent's browser in Newen showing the app it opened, with the conversation beside it.
The agent opens the app it is building, clicks Start and checks the console.

Agents

Newen talks to each CLI on its own protocol and does not implement the agent: the CLI does. Each adapter declares what its CLI can do, and the interface follows: what each one offers.

How Newen talks to itTested with
Claude Codestream-JSON and its control protocol2.1.310
Codexcodex app-server, an experimental interface0.163.0
OpenCodethe Agent Client Protocol (opencode acp)2.2.5
Hermes Agentthe Agent Client Protocol (hermes acp)2026.9.24
Versions are the ones Newen was tested with; Newen says so when a CLI is outside them.

Get Newen

Every release carries Newen and the Chromium it uses for the browser pane. On Linux, unpack it and install it for your user once; from then on it updates itself from signed releases.

mkdir newen && tar -xzf newen-x86_64-linux.tar.gz -C newen && ./newen/newen --install

The Windows build has not been tried on a Windows machine yet and is not signed. Prefer to build it? Follow the install guide or read the code on GitHub.