
Terminal tabs
Your login shell on a real pseudo terminal, painted by the GPU like the editor. New ones open in the active folder.
An agentic system
Edit runs Claude Code, Cursor Agent and Codex out of the box, side by side. It is written in Rust, draws every frame on the GPU, and stays light enough that the interface keeps its fidelity while they work.
§ 01 · Speed
Edit is written in Rust on GPUI, the framework Zed is built on. Text, panels and terminals are drawn by the graphics card through Metal, so the frame you see is the frame itself. The agents run as their own processes, and the editor keeps up while they stream.
The editor, the window manager, the terminal and the agent runner are one Rust program. There is no browser engine underneath and no JavaScript runtime.
GPUI builds each frame as a scene of glyphs, rectangles and shadows, and Metal draws it on the graphics card.
The app holds little of its own: a rope for each open file, a grid for each terminal. The agents run in their own processes.
§ 02 · Agents
Claude Code, Cursor Agent and Codex run as the tools you already installed and signed in to. Each folder keeps its own chats. Several work at once and never wait for each other. Edit adds no account and no key.
If Claude Code, Cursor Agent or Codex is on the machine, a chat can use it. Agent edits files and runs commands. Ask only reads and answers. Plan writes the steps and leaves the files alone.
Cursor Agent groups models by provider: Anthropic, OpenAI, Google, xAI, Moonshot, Z.ai and Cursor's own, with effort and Fast. Claude Code and Codex list the models those tools offer, by name.
A skill installed for Claude Code or Cursor Agent still runs. That includes skills for web design at Awwwards level. Edit does not swap those agents for a chat of its own.
§ 03 · Skills
Turn Autopick Skills on and a prompt brings the installed skills that fit it. Edit reads the skills Claude Code, Cursor Agent and Codex already have, in the project and in your home folder, and names the closest ones in the chat.
Autopick Skills is in the assistant menu, under Skills. It stays off until you turn it on. The first time, Edit downloads a small model, about 55 MB, and reads the installed skills. After ten minutes with no prompt the model stops, and the next prompt starts it again.
On send, Edit compares the prompt with those skills. The open file, and up to 40 names at the top of the project, are part of the comparison. At most three skills are kept, and only when they are close to the prompt. A skill that is not close enough is left out. When none qualify, the chat says no installed skill fits this prompt.
The chat shows a step, Using skills, followed by the names. The agent is told to read each skill's SKILL.md before using it, and to skip any that do not apply. The same list goes to Claude Code, Cursor Agent and Codex.
§ 04 · Answers
An agent can ask for a detail. The question and the answers it prepared show up in the chat. Click one and that answer is sent. If a turn is still running, the answer waits and goes out when the turn finishes.
Approach
Which one?
The prompt sits in the assistant, with a button for each prepared answer. A title, when the agent sent one, sits above them.
A single question with one choice sends the moment you click it. The message is the question, then the answer you picked.
More than one question, or a question that allows more than one choice, waits. Pick what you want, then Send.
§ 05 · Diffs
You stay on the decision. Before an agent starts, Edit takes a snapshot of the folder into a git repository of its own. When it stops, you see each file it touched and decide, file by file, what stays. Your own .git is never touched.

The agent's summary, in its own words, under the steps it took.
Every changed file, with lines added and removed. Open a row to read its diff.
Accept all keeps the turn. Reject all puts every file back as it was.
Each row has its own Accept and Reject, and opens the file in the editor.
Pick the mode, the agent and the model for the next turn, right where you type.
Under the hood
# before the turn, in Edit's own repository git add --all && git write-tree → before # the agent works git add --all && git write-tree → after git diff --numstat before after → the list you review
§ 06 · Changes
This is the working tree, not one chat turn. Every file that differs from the last commit is here, including new files. Open a name to read the diff. Click a line and the file opens there.

@@ −40 +42 @@ fn refresh
40 42 fn refresh(&mut self) {
41 − self.load();
48 50 }
@@ −1 +1 @@
1 − Edit reads the folder.
@@ −1 +0 @@
1 − session started
2 − agent stopped
No files match.
@@ −12 +14 @@
12 14 :root {
16 − --accent: blue;
@@ −0 +1 @@
No files match.
A line opens that file in the editor.
Changes is in the new tab menu, and File has Show Changes. Shift Command G opens it. The folder name on the bar switches the list when several folders are open.
A long diff starts closed, and closed files sit against each other. Collapse all and expand all are on the bar, next to the filter.
A click on a line opens that file in the editor, on that line. A deleted file has nothing to open.
§ 07 · Run
The right side of the title bar runs the folder you are editing. It finds .NET apps, Cargo binaries, npm scripts, Go commands and Docker Compose. Play starts its pick in a terminal. The menu beside it lists every other way that folder can run.
The button names the project and the way it runs. For a web app that is Watch, so the app reloads as you edit. The command starts in a terminal tab, and the next press uses that same tab.
A dot, Stop and Restart take Play's place. A web app also gets Open in Browser. The dot opens the terminal where the command is running. Stop waits, then ends it.
The menu lists Run, Run Release and Watch, plus tests, and EF Core when a project has a database context. Picking an app makes it what Play runs. A migration runs beside it, in its own terminal. Show Terminal and Rescan Projects sit at the bottom.
§ 08 · Workspaces
Open every project in one window and give a folder a display name, such as Dreamdwell Web, so you can tell two folders called Web apart. Each folder lists its chats, newest first, above its files.
Give a folder a display name. The path stays the same on disk.
Search every chat in every folder from the top of the sidebar. Rename chats to keep them apart.
Switching to a file makes its folder the active one. New terminals and new chats start there.
§ 09 · One window
Everything is a window on one Turbo Vision desktop, all of it visible at once, for the night owls who live in the terminal and keep working. Dock it to an edge, split it, float it, or zoom it. The layout is there again when you come back.

Your login shell on a real pseudo terminal, painted by the GPU like the editor. New ones open in the active folder.
A WebKit page in a tab. Inspect points at an element and attaches it to the chat with its screenshot, HTML and styles.
Completions as you type from rust-analyzer, gopls and csharp-ls. Rust and C# show the kind, the signature and each parameter, and Tab accepts.

Any window floats above the docked layout in a Turbo Vision frame, and docks again with a drag.
The GPU app highlights these 36 by the file name. Razor is one Edit adds itself, so a .razor or .cshtml page is markup and C# rather than plain text.
§ 10 · Themes
Turbo Vision is the default in the GPU app: white and yellow on DOS blue, as in the Borland IDEs. Cursor Dark, Cursor Light and Violet Dark are there for the other days. Glass lets the desktop show through, with a clarity slider. The terminal version has the same four, and a fifth, Terminal, made from the colors your terminal already uses.
Your terminal reports
Terminal is the terminal version's default. On start it asks the terminal for its background, its foreground and its 16 colors. Every surface is a blend of the first two, and bright blue becomes the one accent, so a light terminal gets a light Edit.
View, then Color Scheme, lists all five with a mark on the current one. Moving through the list puts each scheme on the whole screen. Enter keeps it, Escape goes back, and the choice is still there the next time Edit starts.
In the GPU app, a terminal tab takes its 16 colors from the theme, so ls and git paint in the window's colors. A program can still set its own. Text too faint for its background is made lighter or darker until it reaches a contrast of 4.5 to 1.
§ 11 · Status bar
The bar along the bottom names the open file, in yellow, and adds Modified when there are unsaved changes. A language server appears there only while it has news, such as rust-analyzer: starting. On the right are the line and column, the language, Files (F4), the AI Assistant (Ctrl+Alt+B), and the controls for the look.
The palette button shows the name in use: Turbo Vision, Cursor Dark, Cursor Light or Violet Dark. Its menu checks the current one. The View menu lists the same four.
On macOS, Cursor Dark and Violet Dark let the desktop show through, blurred by the system. Glass is on unless you have turned it off. An eye on the bar does that, and a slider sets the clarity, each step halving how much the colors cover the desktop. The View menu repeats it as Glass, More Glass and Less Glass. On Turbo Vision and Cursor Light the eye leaves the bar, and that menu item is disabled.
The last button is a moon when the curtain is down and a sun when it is up. Down darkens the glass behind the editor, so a bright desktop does not wash the window out. The text, the caret, the syntax colors and the selection stay full strength. The View menu checks Curtain while it is down. Turn glass off and there is nothing behind the editor for the curtain to hide.
§ 12 · Command palette
Command Shift P in the GPU app. Ctrl Shift P or F1 in the terminal version. One list holds the commands of the menus with their shortcuts, and a few letters narrow it to the ones you mean.
The names, the checkmarks and the shortcuts are the ones the menus show. A command that cannot run where you are, such as Save with no file open, is left out, the way its menu item is disabled.
The search matches the letters you type in order, across the menu name and the command, so csd finds Color Scheme: Cursor Dark. The letters that matched are lit.
With the search empty, the last five commands you ran lead the list for as long as the app runs. The rest follow in menu order. The arrows move, Enter runs, Escape closes.
Commands
No matching commands
Try a Color Scheme. Enter runs the lit row.
§ 13 · Terminal version
The terminal version is the editor this all started from, with the same Turbo Vision windows. It runs over SSH, in a container or on a server, and the whole program is 443 KB.
Fig. 07a · The AI Assistant window with the open file attached, next to the editor and the Files window.
Fig. 07b · Dragging a window by its title bar. The outline shows where it will land.
Fig. 07c · Dropped on the bottom edge, the Files window docks along it.
Fig. 07d · F5, or a double click on the title bar, zooms a window to fill the terminal.
Fig. 07e · Menus with their shortcuts, like the DOS editor had.
Workspaces
chats
general coding now
files
workspace.rs
chats
homepage
files
chats
draft now
files
Keys
Drop a window on a screen edge, beside another window, or on top of it to swap the two.
Edit's own highlighter, for source and for the files around it: project files, properties, ignore files, and Git commit and rebase messages.
Completions from rust-analyzer, gopls, typescript-language-server, pyright and csharp-ls.
Claude Code, Cursor Agent and Codex run in the chat, with Agent, Ask and Plan. While one works, the header says so. A sign-in error runs that login on this terminal and then sends the prompt again.
Each directory in the open file's path opens that folder. The file name copies the full path.
File, then Open Folder, adds a project. Each folder keeps its chats above its files, and several chats can run at once. F4 opens the list. It is this app's own list, so it does not replace the GPU app's.
The model button sits on the prompt. The menu lists the selected agent's models by name.
§ 14 · Download
Signed macOS builds. The version is the app's own version. The time is when this copy was signed. The SHA-256 matches the downloaded file.
The agents are not bundled. Edit runs the ones you already have installed.
Signed by PAVEL ŠICH. 5 Nov 2026, 13:47:28 UTC
Apple has notarized this copy.
SHA-256a78880321c1eeed904775937ed60b7ac0ea81a17d78981f43bc6b2533030e843
DownloadOne small file. Copy it to a server or a container and run it.
This file is the macOS build.
Signed by PAVEL ŠICH. 5 Nov 2026, 13:47:28 UTC
Apple has notarized this copy.
SHA-256b65c3e881c0608237fb14b0da54c5d8ce64ab48d75a7d773cce898298702e327
Downloadcurl -fsSL https://rustedit.dev/install.sh | sh
Paste this into Terminal. It checks the SHA-256 and the signature, puts edit in ~/.local/bin and adds that folder to your PATH. Run the same line again to update. It covers Macs with Apple silicon.
editedit notes.mdrm ~/.local/bin/edit§ 15 · Questions
The short answers.
Because the agents are already good. Edit does not replace them. It is the light, fast place they work: Rust, drawn on the GPU, highlighting 36 languages in the GPU app and 27 in the terminal. Run finds a .NET app or a Cargo binary, and Rust and C# completions show the kind, the signature and each parameter. The window manager has been good at juggling windows since the DOS days.
It runs Cursor Agent. It is not Cursor, and it is not Zed. It has no extensions, no debugger and no remote editing. It is a small, fast place to run the agents you have and review what they did.
The Changes tab lists every file that differs from the last commit, including new files. The list under a chat is only that turn. Shift Command G opens Changes, and the new tab menu has it too.
Claude Code, Cursor Agent and Codex, through their own command line tools, out of the box. Each chat picks its agent and model, skills you installed for that agent still apply, and several chats run at once.
Edit itself sends nothing. Your prompt and the files the agent reads go to whichever agent you chose, exactly as when you run that tool in a terminal.
macOS today, drawn with Metal. GPUI also draws on Linux and Windows, and those builds are the next step.
Not to download. The apps ask you to sign in, and you can keep working while they ask. The account carries your plan, so PRO turns on in both apps once the account has purchased it. Edit uses your email to sign you in and to send the links you ask for. Emails about new versions come only if you tick that box, and you can turn them off on your account page.