Mac app
The HEMRA app for macOS opens a store and does what the CLI does, with no server to start: browse runs and their reports, follow an attempt's trace live, compare, start and cancel runs, import and export, and check the machine. It runs the same code as hemra, so a run started in the app is the same run the CLI would record.
Download and install
The download page has the latest release: a universal DMG for Apple Silicon and Intel, macOS 13 or later. It is signed with a Developer ID and notarized by Apple, so it opens without an "unidentified developer" warning. Open the DMG and drag HEMRA to Applications.
The app does not include the hemra command. Install it as well (Install) to pin datasets and work from a terminal; the app opens the same stores.
Updates
A release build checks for updates when you choose Checks > Check for updates, or at launch if you turn that on. It asks https://hemra.dev/desktop/latest.json for the newest version and installs an update only if:
- its signature verifies against the public key built into the app, and
- the signature was made for the version it is announced as, so an older build cannot be offered as a newer one.
Nothing is downloaded until you choose Install and restart. A development or unsigned build never checks, and says so.
What it does
- Open a store. File > Open Store (⌘O). A folder that is not a store is refused, never turned into one.
- Runs. Runs > Start a run opens a run file, shows what it would run, and starts it. Runs > Build a run file (⌘N) picks harness files and pinned datasets and saves a
run.tomlthathemra runreruns. A live run's page can cancel it. - The queue. While a store is open, the app works its queue, so runs queued with
hemra run --detachrun. Checks sets how many attempts run at once (0 leaves the queue tohemra serveor workers). - Import and export. Imports > Import results (⌘I) takes a Harbor job or a SWE-bench run; Export (⌘E) writes a run, import or attempt where you choose. Dropping a run file or a results folder on the window does the same.
- Checks. What
hemra doctorreports, the app's version and update source, and settings: notifications when runs finish, the queue, and leasing the store to remote workers after you confirm. - Quitting while a run the app started is in flight asks whether to keep it running, cancel it, or finish later.
The app takes your login shell's PATH at launch, so docker, harbor, claude and node are found as in a terminal.
Privacy
The app reads and writes only the store you open, and only through the same code as the CLI. It listens on no port unless you turn on the worker listener. Its only network request of its own is the update check you ask for.