NATIVE RUST · GPU-RENDERED · macOS

The code editor that works with your agents.

Claude Code, Codex, OpenCode or any OpenAI-compatible model work in their own copy of your project. Every turn is checkpointed, every line remembers the prompt that wrote it, and you always see what it cost.

Zumba with a Rust file open and an agent task beside it: a three-step plan, four tool calls, a summary and the cost line $0.07 · context 18k/200k.
Any agentClaude Code · Codex · OpenCode · ACP · OpenAI-compatible
Every turncheckpointed, rewindable, forkable
Every linetraceable to the prompt that wrote it
Every pluginsandboxed WebAssembly with explicit permissions

WHY ZUMBA

What goes wrong with AI coding tools, and what Zumba does about it.

66%

Code that's almost right

of developers say AI code is often almost right, but not quite. Stack Overflow survey ↗

Zumba runs your tests after every turn that changes files, and one click sends the failure back to the agent.

Tests

Agents game the tests

Benchmarks catch agents editing or deleting tests to make them pass. EvilGenie ↗ ImpossibleBench ↗

Zumba won't apply a turn that deletes a test or removes assertions. It's flagged and waits for your review.

36%

Ignoring instructions, doing too much

of agent failures in 20,574 real sessions were ignored instructions. Session study ↗

Zumba holds very large turns for review and reminds the agent of your rules before its context fills up.

9 s

Destructive commands

is how long an agent took to delete a production database and its backups. Incident report ↗

Zumba spells out what a command would destroy before you allow it, keeps agents in their own copy of your project, and never sends .env files or keys to a model.

Rules

Forgotten in long sessions

Agents follow your project rules early, then drop them when their context is compacted. Write-up ↗

Zumba re-sends the rules when the context passes 60%, and keeps a log of why each decision was made.

$

Limits and surprise bills

Rate limits run out mid-task and monthly bills creep up. Cursor problems ↗

Zumba shows every task's cost, stops at a budget you set, and hands the work to another agent when one hits a limit.

96%

Nobody fully trusts it

of developers don't fully trust AI-generated code. Sonar survey ↗

Zumba checkpoints every turn so you can undo it, lets you review by hunk, and shows which prompt wrote any line.

01 / AGENTS

Talk to it like a chat. It works like a colleague.

Ask for anything, from a question to a refactor. The agent works in its own git worktree, so it never trips over your unsaved edits. When its turn ends, the changes land in your files through a three-way merge that keeps whatever you typed meanwhile.

  • Undo last turn takes the agent's changes back out of your files.
  • Rewind or fork from any earlier turn.
  • Review by file or hunk when you'd rather apply by hand.
fetch_user times out under load. Add retries with backoff.
☑ Find where users are fetched
☑ Retry timeouts and 5xx with backoff
☑ Check it builds
✎ Edit src/client.rs ✓
$ cargo check ✓
Applied: 1 written · checkpoint saved

02 / RACE & TEAM

One prompt, several agents. Keep the best.

Race gives the same task to Claude Code and Codex side by side, then lets you take the winner, or mix them file by file. Team has a lead agent split a bigger goal into parts that several agents build at once, each knowing what its teammates own.

Claude Codechecked_add
Codexwrapping_add
Qwen (Ollama)saturating_add

Compare → take lib.rs from Claude Code, extra.rs from Codex

03 / PROVENANCE

“Why is this here?” has an answer.

Lines you apply from an agent remember which agent wrote them and for which prompt. Put the cursor on one and the end of the line tells you; click it to open the conversation at that moment. Lines no agent touched show git blame instead.

34 let mut delay = Duration::from_millis(200);
35 for attempt in 1..=3 { ✎ Claude · “Add retries with backoff” · 2 min ago
36 match self.http.get(&url).send().await {
37 Ok(res) if res.status().is_server_error() …

04 / TOKENS

Spend fewer tokens, and always see the bill.

  • Lean rules keep agents terse: search before reading, read only the lines they need, keep command output short.
  • Editor tools over MCP: agents ask Zumba for a file's outline, where a symbol is defined, its references and your diagnostics instead of reading whole files.
  • Handoff: when an agent hits a rate or usage limit, another one picks up in the same worktree with a summary, the plan and a log of why each decision was made.
  • Cost on every task: reported by the agent, or estimated from your own prices per model.

MCP server reference → Works with any agent, inside Zumba or not.

$0.07
context 18k / 200k
.zumba/decisions.md
- Retry only fetch_user — list_users is cheap
- 3 attempts, 200 ms doubling — matches the API's rate limit

05 / ANY MODEL

Bring your own agent, or your own model.

Claude Code, Codex and OpenCode work out of the box with your own sign-in and settings. Add any agent that speaks ACP, or point Zumba at an OpenAI-compatible endpoint (Ollama, LM Studio, OpenRouter, Groq, vLLM) with a few lines of config. Keys stay in your environment.

# ~/.config/zumba/settings.toml
[[agents]]
name     = "Qwen (Ollama)"
base_url = "http://localhost:11434/v1"
model    = "qwen3-coder"

[[agents]]
name    = "Gemini"
command = "gemini"
args    = ["--experimental-acp"]

06 / AN EDITOR FIRST

Fast without agents, quiet when you want it.

Native and GPU-rendered

Written in Rust on GPUI. Opens big files and keeps typing smooth.

Language servers

Diagnostics, go to definition, references, rename and format on save.

Minimap

The shape of the whole file beside the editor; click or drag to jump.

Terminal with blocks

Each command gets a gutter bar colored by how it ended.

Git, with history

Blame, side-by-side diffs, file history and a time-lapse you can export as a GIF.

Live preview

Markdown, HTML, SVG and Mermaid render as you type; links open in the editor.

Vim mode

Normal, insert and visual, when you want them.

Quiet mode

One shortcut hides every agent panel, hint and live edit.

07 / PLUGINS

Plugins that can't surprise you.

Plugins are WebAssembly components with limits on time, memory and work, and only the permissions they ask for: you see the list before installing. Install from a folder or a git URL, or write your own in Rust.

Ships with Smart Paste, HTTP Client, Text Tools, TODO Finder, JWT Decoder, Generators, Bookmarks and Regex Tester.

Plugin API reference →

Bookmarks 0.1.0
✓ commands
✓ panels
✓ fs:read
✓ fs:write
✗ http · clipboard · editor:write

Zumba is in early access.

It runs on macOS. Want to try it?

Request early access