8v0.9.0source onlyWhat it needs to runWhat it needs

Local-first desktop app· macOS, Windows, Linux

The coding agent that runs its own commands — on your own logins.

It writes code, runs your project's own tests, and drives to green in an isolated worktree. No API keys for the CLIs you're signed into. No per-token markup. Nothing proxied.

No public build yet — what you see below is v0.9.0 running from source.

The 8code window part-way through a run: the agent’s reply reporting two tests passed, and below it a review card headed Edited 2 files with a checked hunk of src/cart.js and a row of Rewind, Verify, PR, Keep changes and Discard buttons.
Screenshot8code, mid-review. A real run on a scratch repo: two files changed on an isolated worktree branch, and nothing lands in your checkout until you press Keep changes. Captured from the app’s own source, v0.9.0, in local development mode — hence no sign-in step.

What it is

A desktop app — Electron around a local Node engine bound to 127.0.0.1 — that drives the agent CLIs you are already signed into. They run on their OAuth, on your subscription.

Why it is built this way →

  • It proves the work. Every run comes back with a pass / fail evidence card — your own suite, re-run by the app inside the worktree. A result, not a claim.
  • macOS, Windows and Linux. Needs Node 18+ and at least one signed-in agent CLI. Signing in to 8code itself is free, but it is not optional.
  • Your code takes one path. Keys are scrubbed from every CLI spawn — each signs in as itself, with no proxy and no borrowed tokens. Your prompt and its code context go to the one provider you picked.

Works with the CLIs you already have

Eight agent CLIs, from one window. Each one is the CLI binary you already have signed in — 8code drives it, never re-authenticates it.

Agent · binaryModels it exposes
  • Claude CodeclaudeOpus 5 · Sonnet 5 · Fable 5.1
  • CodexcodexGPT‑5.6 Sol · Terra · Luna
  • Cursorcursor-agentComposer 2.5 and eight more
  • GitHub CopilotcopilotCopilot Auto · Opus 5 · GPT‑5.6
  • KimikimiKimi K3 · K3 256K · K2.7
  • AntigravityagyGemini 3.8 Flash · 3.1 Pro
  • GrokgrokGrok 4.6
  • MusemuseMuse Spark 1.3, private or contributor

GLM 5.3 and DeepSeek V4 run as key lanes through that same claude binary. Names and model line-ups are read from lib/agents.js, the registry the app loads at startup.

How a run actually works

Every run is the same four steps — uniform across every model you drive, and checked by the app rather than the model.

  • You type a task; a signed-in CLI runs it.

    It runs under its OAuth on your subscription, in-process and as itself — 8code adds no hop of its own.

  • It works in an isolated git worktree.

    The agent runs its own commands there — your project's tests, builds and linters — and iterates until they pass. Your real tree is never touched until you Keep.

  • You get proof, not the model's word.

    8code re-runs the suite itself inside that copy and attaches an independent pass / fail evidence card. Your project’s own checkers — tsc, eslint, ruff, never installed by us — run on the change and on the untouched baseline, so you only see what the change introduced.

  • You Keep or Discard the diff.

    Full merge, per-file or per-hunk, and everything lands unstaged for your review. When it's good, PR ↗ pushes the branch and opens a GitHub Pull Request with your own gh login.

The evidence cardv0.9.0, from source
8code’s pass/fail evidence card: a green tick beside “npm test passed”, the label “verified in isolated copy”, the raw test output listing both tests passing with 2 tests, 2 pass, 0 fail, and beneath it a row reading “Edited 1 file, +1 -1” on a mane-run worktree branch with Rewind, Verify, PR and Keep changes actions.
Proof, not the model’s word. A run driven on a scratch repo on this machine: one failing test, one file changed on an isolated worktree branch, and 8code’s own re-run of the project’s npm test inside that copy attached as its own card. Captured mid-review, before Keep. Local development mode.
Diagnostics gatetsc · change vs baseline
8code’s diagnostics gate card: a red cross beside “tsc — 2 new problems introduced”, a “Fix these” button, and an open details list naming invoice.ts line 4 and report.ts line 4, both TS2741, property ‘total’ missing but required in type Order.
Only what the change introduced. The project’s own tsc, run on the change and again on the untouched baseline: the two errors this edit created are listed, and a type error that was already in the repo is not. Captured from a run on this machine before the repair turn cleared it. Local development mode.

How a run is proved — all four gates →

Privacy & security

Your code leaves your machine only through the CLI you already signed into — no proxy, no second pair of eyes.

Does my code leave my machine? →

  • Workspace Trust. The first run in any folder asks whether you trust it. Untrusted folders stay read-only: agents can read and discuss the code, but nothing repo-authored executes.
  • OAuth-first CLI runs. Provider API-key environment variables are scrubbed on every ordinary spawn. Each CLI signs in as itself, on its own OAuth — never proxied through 8code.
  • 127.0.0.1 only. The local engine binds to 127.0.0.1 only, with an anti-DNS-rebind Host check and same-origin enforcement on every /api/* route.

There is no download yet.

v0.9.0 runs from source today, and the build will be announced on mane.dev. What it takes is an OS, Node 18+ and one agent CLI you are already signed into.