Skip to content
edit

An agentic system

an agentic editor, on the gpu.

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.

Memory, GPU app
78MB
Memory, terminal
1.5MB
Terminal binary
443KB

Release builds on an Apple M3 Max. Details under § 01.

Fig. 01 · The same idea twice: docked windows, an editor and an AI Assistant. Left of the line, the terminal version in a terminal. Right of it, the GPU version, rendered by the app itself.
Fig. 01 · The same idea twice: docked windows, an editor and an AI Assistant. Left of the line, the terminal version in a terminal. Right of it, the GPU version, rendered by the app itself.

§ 01 · Speed

light, fast, faithful.

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.

Measured on 26 October 2026, release builds, Apple M3 Max, macOS 27.

GPU app, memory
78 MB
Physical footprint, as Activity Monitor shows it, once settled after start, with three folders, four chats and a 111 KB Rust file open.
GPU app, binary
62.8 MB
One file, with the tree-sitter grammars, the terminal emulator and the icons inside.
Terminal app, memory
1.5 MB
Physical footprint with the same 111 KB file open in a 160 by 50 terminal.
Terminal app, binary
443 KB
453,472 bytes, built with the size settings in the repository.
  • Rust from top to bottom

    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.

  • Drawn by the GPU

    GPUI builds each frame as a scene of glyphs, rectangles and shadows, and Metal draws it on the graphics card.

  • Light on memory

    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

other agents, out of the box.

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.

Agent mode with Claude Code, Ask mode with Cursor Agent, and Agent mode with Grok 4.7.

Fig. 02a · Agent mode. Claude Code raised a limit in settings.rs, wrote a test for it and ran it. The one file it touched waits for review.

Fig. 02b · Ask mode. Cursor Agent reads a project and answers with the code it is talking about. It never writes.

Fig. 02c · Agent mode with another model, in the Turbo Vision theme. Four files changed, each with its own Accept and Reject.

  • Out of the box

    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.

  • Every model they offer

    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.

  • Their skills stay

    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

the skills that fit, picked.

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.

The assistant menu open on Autopick Skills, with Cursor Agent's options underneath. Run Commands Without Asking is checked.
Fig. 03 · Autopick Skills in the assistant menu. Run Commands Without Asking is on.
  1. 1

    One switch

    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.

  2. 2

    The ones close enough

    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.

  3. 3

    Then the agent reads them

    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

when it asks, you pick.

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?

Keep the current block Replace it
Fig. 04 · A question in the AI Assistant. One choice sends that answer. The words are an example of the card.
  1. 1

    The question, in the chat

    The prompt sits in the assistant, with a button for each prepared answer. A title, when the agent sent one, sits above them.

  2. 2

    One click sends

    A single question with one choice sends the moment you click it. The message is the question, then the answer you picked.

  3. 3

    Send, when there are several

    More than one question, or a question that allows more than one choice, waits. Pick what you want, then Send.

§ 05 · Diffs

every change, reviewable.

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 AI Assistant after an agent turn: the summary, four changed files with line counts, Accept all, Reject all, and the composer with the Cursor Agent model.
Fig. 04 · The AI Assistant after a Cursor Agent turn, Turbo Vision theme.
  1. 1

    What happened

    The agent's summary, in its own words, under the steps it took.

  2. 2

    Everything it touched

    Every changed file, with lines added and removed. Open a row to read its diff.

  3. 3

    Keep or undo it all

    Accept all keeps the turn. Reject all puts every file back as it was.

  4. 4

    Or one file at a time

    Each row has its own Accept and Reject, and opens the file in the editor.

  5. 5

    The next prompt

    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

the whole tree, at once.

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.

The Changes tab in Cursor Dark. Four files differ from the last commit of a sample web app: Program.cs and ShopContext.cs are modified, notes.txt is deleted, and welcome.txt is new. Each diff is open in the one list.
Fig. 04 · The Changes tab, one list for the whole folder. The sample is a small web app, and the diffs are what git reported for it.
main3 files changed +14 −112 files changed +26 −2
M changes.rs src/ Modified +12 −4

@@ −40 +42 @@ fn refresh

40 42 fn refresh(&mut self) {

41 − self.load();

48 50 }

M README.md Modified +2 −1

@@ −1 +1 @@

1 − Edit reads the folder.

D old.log Deleted +0 −6

@@ −1 +0 @@

1 − session started

2 − agent stopped

M site.css Modified +6 −2

@@ −12 +14 @@

12 14 :root {

16 − --accent: blue;

A index.html Added +20 −0

@@ −0 +1 @@

A line opens that file in the editor.

A drawing of the Changes tab. The files are examples. In the app this list is read from git, and a line opens the file there.
  1. 1

    One list

    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.

  2. 2

    Folded until you need it

    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.

  3. 3

    Open it where it changed

    A click on a line opens that file in the editor, on that line. A deleted file has nothing to open.

§ 07 · Run

play, and the rest.

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.

Opening the Edit folder, the Run menu on Edit.Web Watch, Play starting dotnet watch, and the page at localhost:5281.
Fig. 05 · The Edit folder, then the Run menu on Edit.Web. Play starts dotnet watch, and Open in Browser loads the page.
  • Play

    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.

  • While it runs

    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 other commands

    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

many folders, one window.

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.

Workspaces with three folders. The edit folder is open, showing its chats above its files.
Fig. 04 · Three folders, each with its chats above its files. Two of them use display names.
  • Names you choose

    Give a folder a display name. The path stays the same on disk.

  • Find any chat

    Search every chat in every folder from the top of the sidebar. Rename chats to keep them apart.

  • Follows your focus

    Switching to a file makes its folder the active one. New terminals and new chats start there.

§ 09 · One window

terminal, browser, editor.

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.

Floating windows, a terminal, the browser inspector, completions, highlighting, and the window keys.
A terminal tab running cargo test inside Edit.

Terminal tabs

Your login shell on a real pseudo terminal, painted by the GPU like the editor. New ones open in the active folder.

Browser tabs

A WebKit page in a tab. Inspect points at an element and attaches it to the chat with its screenshot, HTML and styles.

Rust, C# and .NET

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.

Two floating windows over the docked layout: floating.rs and a terminal, in Turbo Vision frames.

Floating windows

Any window floats above the docked layout in a Turbo Vision frame, and docks again with a drag.

  • Rust
  • Go
  • C
  • C++
  • C#
  • Razor
  • Java
  • Kotlin
  • Scala
  • Swift
  • Zig
  • Python
  • Ruby
  • PHP
  • Elixir
  • Lua
  • JavaScript
  • TypeScript
  • TSX
  • Svelte
  • Astro
  • EJS
  • ERB
  • HTML
  • CSS
  • GraphQL
  • SQL
  • JSON
  • YAML
  • TOML
  • Markdown
  • Bash
  • Make
  • CMake
  • Proto
  • Diff

Highlighting

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.

Arrange anything

Dock left, right, bottom, center
Window menu
Split right, split below
Window menu
Zoom
Double click a title bar
Move and size, tile, cascade
Window menu

The browser and completion panels are drawn diagrams. Everything else on this page is a screenshot of the app.

§ 10 · Themes

four themes, and yours.

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.

Fig. 06 · One window, four themes. Nothing else changed between the four pictures.
Fig. 06 · One window, four themes. Nothing else changed between the four pictures.

Your terminal reports

Background
#101014
Foreground
#d8d8d0
Bright blue
#6cb6ff
Background
#fbfaf6
Foreground
#23221f
Bright blue
#1f6fd1
Background
#1a1206
Foreground
#ffb454
Bright blue
#7fb0ff
Panels
Workspaces, the assistant
1/24
Bars
Menu bar, status bar
1/12
Menus
Menus, dialogs, cards
1/7
Borders
Inactive frames
1/4
Dim text
Hints, line numbers
3/5
A drawing of the terminal version in its Terminal scheme. The three palettes are made up. The blends are the app's own: each surface takes that share of the foreground over the background, and bright blue is the accent.
  • Terminal, made from yours

    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.

  • Tried on as you move

    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.

  • Terminal tabs in the theme

    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 file, at a glance.

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.

A drawing, not a screenshot. Cursor Dark, with glass on and the curtain down. In the app, Files, the assistant, glass and the curtain are icons. The color scheme shows its name. A moon means the curtain is down, and a sun means it is up.
A drawing, not a screenshot. Cursor Dark, with glass on and the curtain down. In the app, Files, the assistant, glass and the curtain are icons. The color scheme shows its name. A moon means the curtain is down, and a sun means it is up.
  • Color scheme

    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.

  • Glass

    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.

  • Curtain

    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.

Font size and full screen are in the View menu, not on the bar.

§ 12 · Command palette

every command, by name.

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.

  • From the menus

    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.

  • Letters in order

    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.

  • Recent first

    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

  • File: New FileCtrl+N
  • File: Open File…Ctrl+O
  • File: Open Folder…
  • File: SaveCtrl+S
  • File: Save As…Ctrl+Shift+S
  • File: Close FileCtrl+W
  • File: ExitCtrl+Q
  • Edit: UndoCtrl+Z
  • Edit: RedoCtrl+Y
  • Edit: Select AllCtrl+A
  • Edit: FindCtrl+F
  • Edit: ReplaceCtrl+R
  • View: Go to File…Ctrl+P
  • View: Go to Line:Column…Ctrl+G
  • View: Word WrapAlt+Z
  • View: Next TabCtrl+Tab
  • View: Color Scheme…
  • Color Scheme: Terminal ◼
  • Color Scheme: Turbo Vision
  • Color Scheme: Cursor Dark
  • Color Scheme: Cursor Light
  • Color Scheme: Violet Dark
  • Window: WorkspacesF4
  • Window: AI AssistantCtrl+Alt+B
  • Window: Next WindowF6
  • Window: Previous WindowShift+F6
  • Window: Zoom WindowF5
  • Window: Close WindowAlt+F3
  • Help: About

Try a Color Scheme. Enter runs the lit row.

A drawing of the terminal version's palette, with its commands and shortcuts. Running a Color Scheme recolors the drawing in that scheme's colors. Terminal uses this page's colors here, the way the app uses your terminal's.

§ 13 · Terminal version

still runs in a terminal.

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.

The terminal version: the assistant, dragging a window to dock it, zoom, and the menus.

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

edit

chats

general coding now

files

workspace.rs

web

chats

homepage

files

notes

chats

draft now

files

Ask Cursor Agent
Claude Opus 5.5
  • Claude Opus 5.5
  • Grok 4.7

A drawing. Open Folder adds a project. F4 opens Workspaces. The model button lists the selected agent's models.

Keys

F6 · Shift F6
Next and previous window
Ctrl F5
Move and size with the arrow keys
F5
Zoom the window
Alt F3
Close the window
  • Docking by drag

    Drop a window on a screen edge, beside another window, or on top of it to swap the two.

  • 27 languages and file types

    Edit's own highlighter, for source and for the files around it: project files, properties, ignore files, and Git commit and rebase messages.

  • Language servers

    Completions from rust-analyzer, gopls, typescript-language-server, pyright and csharp-ls.

  • AI Assistant window

    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.

  • Path above the editor

    Each directory in the open file's path opens that folder. The file name copies the full path.

  • Workspaces

    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, on the prompt

    The model button sits on the prompt. The menu lists the selected agent's models by name.

  • C
  • C++
  • C#
  • F#
  • Rust
  • Go
  • Java
  • JavaScript
  • Python
  • Zig
  • Lua
  • Ruby
  • Odin
  • Shell
  • PowerShell
  • SQL
  • Markdown
  • XML
  • JSON
  • TOML
  • YAML
  • Diff
  • Properties
  • Ignore
  • Git Commit
  • Git Rebase
  • LSH

§ 14 · Download

download it here.

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.

GPU version

1.0.20261105-134728

macOS, drawn with Metal

App
16.7 MB
Memory
78 MB
Agents
Claude Code, Cursor Agent, Codex

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

Download

Terminal version

1.0.20261105-134728

macOS, Linux and Windows

Binary
501 KB
Memory
1.5 MB
Runs in
Any terminal, over SSH too

One 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

Download

Install from the terminal

curl -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.

Run
edit
Open a file
edit notes.md
Remove
rm ~/.local/bin/edit
Read the script first

Release notes

§ 15 · Questions

fair questions.

The short answers.

01Why another editor?

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.

02Does it replace Cursor or Zed?

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.

03Where are all the changes?

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.

04Which agents does it run?

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.

05Does Edit send my code anywhere?

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.

06What does the GPU version run on?

macOS today, drawn with Metal. GPUI also draws on Linux and Windows, and those builds are the next step.

07Do I need an account?

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.

Edit © 2026 Pavel Sich