A code editor that keeps me the author.
Orchid Cherry is the editor I built around the AI agents I already use. It runs Claude Code and Codex inside it, and its whole job is to make every change visible, reviewable and undoable. It holds no API key: it runs on the logins I already have.

The agents own the tools. The editor owns the review.
I direct agents most evenings, and the part that kept failing was not the writing. It was knowing, afterwards, what had changed and being able to take one change back without losing the rest. Orchid Cherry was built around that moment.
So it holds no model and no key. It hosts the vendors' own agents on my existing subscriptions and keeps what sits around them: the editor, the checkpoints, the review, the context I attach, the approvals and the evidence. Two layouts, switched with one shortcut: agent first, or editor first.
Snapshot. Ask. Review.
Every turn follows the same three steps, whichever agent is running. A task ladder above the conversation shows where the turn is: brief, plan, build, verify, review.
A checkpoint
The editor snapshots the project before the agent starts. The project's own git history is never touched.
An approval card
An agent that wants to edit a file or run a command stops and asks first. Allow or reject, one card at a time.
A review bar
Every changed file is listed with its diff. Keep all, undo all, or undo one change and keep the rest.

Two layouts, one inspector.
The agent layout puts tasks, conversation and code side by side. The editor layout puts the file tree, Monaco and the terminal first, with the conversation as a side panel. The inspector on the right has five tabs: status, review, preview, evaluation and usage.




What the editor adds on top.
Context comes from the composer: files, the terminal, the git diff, the editor selection and the project rules. Cmd K edits inline with a streamed red-and-green proposal. A skills panel in the explorer lists the agent skills in the project and installs new ones only after their text was opened. A notification and a badge appear only when a turn ends or an approval waits while the window is in the background.
Each turn folds into one line when it is done, so the conversation stays readable. Follow-ups typed during a turn queue up and send when it ends. Dark by default, because I code in the evening; a light theme exists for the day.

Every change, still mine.
"I did not need a smarter agent. I needed to see what it did and take one step back."
