The agent loop,
made visible.

A Rust core drives your model and runs its tools on your machine. A hand-written webview shows every step as it happens — no terminal, no framework, no black box.

Core
Rust · Tauri 2
Renderer
~20 KB, no framework
Models
Any OpenAI-compatible
Keys
~/.e/config.json

The agent loop

  1. 01 Converse You describe the outcome, not the commands.
  2. 02 Call tools PowerShell, read, write, list, skills — locally.
  3. 03 Apply Results feed back in; the run keeps its context.
  4. 04 Repeat Bounded to 25 steps. Esc stops it instantly.

What it does

Everything runs where you are.

A harness, not a wrapper.

The model calls real tools and reads their real output until the task is finished. Every call is a card you can open, and the whole run is cancellable.

Your models. Your keys.

OpenAI, Ollama, LM Studio, vLLM, Together, OpenRouter or your own gateway. Keep several configured at once and switch per chat — the model carries its provider, key and context window with it.

Chats and projects that hold.

Conversations persist and fork, each with its own workspace, model and token budget. History summarises itself as a chat approaches the model's context window.

Tasks stay isolated.

Git projects get an app-managed worktree per task by default, so parallel work never collides. Delete the task and the worktree goes with it.

Nothing is hidden.

Tokens, reasoning, tool cards and live token and cost counters all stream as the run happens. You are watching the loop, not a progress bar.

Native, and small.

Tauri 2 uses the operating system's own webview instead of shipping a browser. One executable, a ~20 KB renderer, and no Electron underneath.

Extend

Five surfaces.
Four need no rebuild.

Each has a project-scoped form under <project>/.e/ that shadows the global one, so a repository can carry its own tools. Extending e

Install

One command.

irm https://eharness.dev/install.ps1 -OutFile $env:TEMP\e.ps1; pwsh -NoProfile -File $env:TEMP\e.ps1
  • Windows 10 and 11 · x64 and Arm64
  • No Node.js, Rust or build toolchain
  • SHA-256 checked against a signed release manifest

Prefer to see it first? Download the bootstrap script, grab the installer straight from Releases, or build from source.