Skip to content
Mimir

Introduction

Mimir records what your coding agents attempted, which models and files were involved, what failed, and whether the work actually landed. The Worker, storage, and private dashboard run inside your Cloudflare account.

Install the latest checksum-verified release:

Terminal window
curl -fsSL https://raw.githubusercontent.com/cloudboy-jh/mimir/master/install.sh | sh

Windows PowerShell:

Terminal window
irm https://raw.githubusercontent.com/cloudboy-jh/mimir/master/install.ps1 | iex

Explore the dashboard with synthetic data before deploying anything:

Terminal window
mimir demo

The demo binds only to loopback, opens in your browser, and requires no Cloudflare account, connection, model credentials, Node.js, Bun, or Go.

A fresh deployment needs a Cloudflare account, an OpenRouter API key, Node.js 22 with npm, and network access to npm and Cloudflare. It does not need Bun, Go, or a source checkout.

Terminal window
mimir setup

Setup deploys the embedded Worker and production dashboard, creates or reuses D1 and R2, applies migrations, registers this machine, and stores the OpenRouter key as a Worker secret.

Install the CLI on the other machine, then run:

Terminal window
mimir login
  1. Run mimir doctor --json and apply the harness activation action it prints.
  2. Run mimir doctor --json again and resolve every failed check.
  3. Start a normal coding-agent session and send one real prompt.
  4. Find it with mimir list --json or open it with mimir dashboard.
  5. Confirm durable persistence with mimir session status <id> --json.

The private dashboard keeps sessions, outcomes, capture state, harnesses, models, and token usage visible in one place.

Mimir private dashboard showing captured coding-agent sessions, outcomes, capture state, models, and token usage.

A session is one episode of agent work, not a bag of disconnected requests. Mimir reconstructs the session so you can see:

  • the task, repository, app, models, duration, and token use;
  • full redacted proxy exchanges and bounded exchanges reconstructed by supported harness integrations;
  • supporting runs, tool-touched files, real error signals, and model switches;
  • whether durable capture succeeded;
  • whether the work landed, was discarded, was abandoned, or remains unresolved.
Search: "token validation"
Previous session
outcome discarded
models gpt-5.6-sol, claude-opus-5
files auth.ts, proxy.ts
error token validation failed
Result: the next agent avoids the same dead end.

Mimir deliberately keeps two facts separate:

  • Capture state describes durable memory: Empty, Pending, Saved, Failed, or Partial.
  • Work outcome describes the result: Landed, Discarded, Abandoned, or Unresolved.