Install
HEMRA runs on Linux and macOS. The hemra command is built from source with Cargo. The Mac app is a separate download.
The command line
You need Rust 1.80 or later (install it with rustup). Then build hemra and hemra-driver, the program that runs agent CLIs and ACP agents as harnesses:
cargo install --git https://github.com/UmaiTech/hemra hemra-cli hemra-drivers
hemra --version
hemra doctor
hemra doctor lists what this machine can run: Docker, Harbor, the agent CLIs it finds, and every sandbox with the protections it enforces.
To work from a clone instead, which also gives you the examples these docs use:
git clone https://github.com/UmaiTech/hemra
cd hemra
cargo build --release
export PATH="$PWD/target/release:$PATH"
Optional pieces
| You want to | Install |
|---|---|
| Run harnesses in a container (the default sandbox), or score tasks with their own verifier | Docker |
Run Harbor agents or pin harbor: datasets | Harbor 0.24 (pip install harbor==0.24.0, Python 3.12+) |
Pin swebench: datasets (other than a local .json or .jsonl file) | pip install swebench==5.0.2 |
| Run an agent through its CLI | The agent itself: Claude Code, Codex or Pi |
| Run an ACP agent | The agent or its ACP adapter, such as Gemini CLI, Goose, OpenCode or claude-agent-acp |
| Use the SDK drivers, the TypeScript SDK, the dashboard or the managed sandboxes | Node.js 22 or later, then npm ci && npm run build in a clone |
| Run in Modal, a Fly.io Machine or a Fly Sprite | An account and token for that provider (see Sandboxes) |
hemra doctor reports Docker, Harbor, the agent CLIs and the sandbox bridges as found or missing, so you can install only what a run needs.
The store
HEMRA keeps everything in one directory, the store: .hemra in the current directory, or $HEMRA_STORE, or --store <dir>. Pinned datasets, runs, attempts, event logs and artifacts all live there. Nothing is sent anywhere. Treat a store as being as sensitive as the most sensitive prompt or file a run touched (Trust and privacy).
The Mac app
The download page has the signed, notarized universal DMG once a release is published. The app opens a store, starts runs and works the queue, with no server to start. See Mac app.