A local-first macOS desktop app that turns high-level goals into scheduled, self-correcting Claude Code jobs.
Don't want to build from source? Download the latest release directly:
→ Download OpenHelm at openhelm.ai
Pre-built, signed, and notarized DMGs for Apple Silicon are available there — no Rust toolchain required.
| Tool | Version |
|---|---|
| Node.js | 20+ |
| Rust | 1.77+ |
| Xcode CLT | Latest |
| Claude Code | 2.0+ (subscription required) |
No Anthropic API key needed. All AI operations (planning, assessment, summarisation) route through your existing Claude Code subscription via the CLI.
npm install
cd agent && npm run build && cd ..
cd agent && npx drizzle-kit generate && cd ..
chmod +x src-tauri/binaries/agent-aarch64-apple-darwinnpx tauri devThis starts the Vite dev server (port 1420), compiles the Rust shell, and launches the agent sidecar.
npm test # Run all tests (agent + UI)
npm run test:agent # Run agent tests only
npm run test:ui # Run frontend tests onlyAgent tests use real SQLite databases in temporary directories. Frontend tests use jsdom with mocked Tauri APIs.
src/— React frontend (Vite + Tailwind CSS 4 + shadcn/ui)src/components/layout/— AppShell, Sidebar with project selectorsrc/components/onboarding/— 4-step onboarding wizard (Welcome → Claude Code detection → First project → Complete)src/components/goals/— Goals screen, goal cards, goal creation sheetsrc/components/jobs/— Jobs table with detail panel, manual job creationsrc/components/runs/— Runs table, run detail panel, virtualized log viewersrc/components/settings/— Settings screen (Claude Code path, execution, app, license)src/components/shared/— Status badges, empty states, skeletons, error bannersrc/stores/— Zustand stores (app, project, goal, job, run)src/hooks/— useAgentEvent, useRunLogssrc/lib/api.ts— Typed wrapper over all IPC calls
src-tauri/— Tauri Rust shell (thin wrapper, macOS plugins: autostart, notification, dialog, updater)agent/— Node.js background agent (sidecar)agent/src/db/— Drizzle schema, migrations, query layeragent/src/ipc/— IPC server, domain handlers, typed error mappingagent/src/claude-code/— ClaudeCodeRunner, detector, stream parser, print-mode wrapperagent/src/scheduler/— 1-minute tick scheduler, priority queueagent/src/executor/— Worker pool, process lifecycle, preflight checksagent/src/planner/— Goal assessment, plan generation, plan commit, prompt assessment
shared/— IPC type contract shared between frontend and agent.github/workflows/— CI (lint, test, build check) and Release (sign, notarize, DMG)docs/— PRD, implementation plan, competitor research
See docs/prd.md for the full product requirements.
OpenHelm is licensed under the Business Source License 1.1 (BSL 1.1).
Free for:
- Individual personal use
- Students and educational institutions
- Non-profit organisations
- Companies with total annual gross revenue under USD $1,000,000
Commercial license required for production use by businesses above that revenue threshold. Contact ahoy@openhelm.ai.
Conversion: On January 1, 2029, this license automatically converts to the Apache License 2.0, making the code fully open source.
See the LICENSE file for full terms.