See what every change touches
/brain opens a live view in your browser: the file Darce is editing, what it imports, what imports it, and the exact diff.
Darce writes and runs code in your terminal. Every change rolls back, even what rm and mv did. Anything it can't undo, it asks first.
$ npm install -g darce-cli$ darce
Free to try, no account · Node 22+ · macOS, Linux, Windows · MIT
Not a mockup. Darce asks before rm -rf, deletes four files when you say yes, and /undo brings all four back.
Upgrading takes one key
Your conversation is saved after every change, not only when a turn ends
`/clear` no longer erases the conversation you cleared
Fewer pointless approval prompts
Darce snapshots your project before every step, not just before its own edits. A folder rm deleted, a file mv moved, a lockfile an install rewrote: one /undo and it's back. Your branch, index and stash are never touched.
Every command is scored before it runs. If /undo can reverse it, it just runs. If it reaches outside your project or your machine, Darce stops and tells you why. Scripts with harmless names get read first.
git statusOnly readsRunsnpm testChanges nothing /undo can’t reverseRunsnpm run migrateWrites to a databaseAsks firstnode scripts/sync.jsHarmless name; a second check reads the script and finds it POSTs customers to a CRMAsks firstrm -rf ~/projectsDeletes files outside this projectAlways asks/brain opens a live view in your browser: the file Darce is editing, what it imports, what imports it, and the exact diff.
/derby runs one task on three models in separate worktrees. Read each answer as it lands and apply the one you'd merge.
Each model works in its own git worktree, so nothing collides. Your files stay untouched until you pick one, and /undo still works after.
/swarm plans the parts, runs each in its own worktree at once, and merges them back in one step.
/voice on: a short spoken update when a task runs long, when it needs you, and when it's done.
“Before I push this, can I run the migration? It can't be undone.”
When a fix depends on something the code doesn't show, Darce adds one short note so you spot it next time.
Switch mid-task with Shift ↑↓. You stop at your limit and are never charged extra.
And 240 more, filtered to models that can reliably use tools. Browse them all
Try it with no account, then a daily allowance. Fast models like Claude Haiku and Qwen3 Coder.
About 7× the Free allowance, weekly. Adds Claude Sonnet and Opus, GPT and Gemini Pro.
About 4× Builder, weekly. Every model, including the priciest reasoning ones.
Usage is measured by what the work costs, so fast models go further. Every plan has every feature: undo, approvals, derby, swarm, brain. Full pricing
The same agent and the same undo, in an app with your files and an editor beside it. Choose how much Darce explains as it works, from none at all to a lesson.
In Understand, Darce fixes the bug and explains why it happened: two unawaited saves raced, and the slower one overwrote the newer edit.
Builds, then explains each decision and what it ruled out.
Darce comes from درس, dars: Arabic for a lesson.
I started it because I wanted an agent I could let run without watching every step, and that only works if every step can be taken back. That's why undo is the core.
But the name says where it's going. An agent that writes your code can quietly leave you understanding less of it. I want the opposite: a tool that teaches you while it works, so you come out of every session knowing a little more. The WHY notes are the first piece of that. There's more coming.
I build Darce on my own, in public, and it's in early beta. If something breaks, or you have an idea for how it should teach, tell me on GitHub or Discord. I read everything.
Amer Sarhan
git push, payments, API calls that change something. That's exactly why those always ask first. Everything inside your project, including what shell commands did, rolls back. How undo works./ commands, @ files, Esc to stop, Shift+Tab modes, CLAUDE.md. The differences: Darce's undo also reverses what shell commands did (Claude Code's checkpoints don't track Bash), and it works with any model, not just Claude. Full comparison.Give Darce real work in your own project. If you don't like what it did, one command puts everything back. Trying it needs no account.
$ npm install -g darce-cli$ darce