Open source · Loop engine
Put your
agents on a loop.
Moadim is a loop engine for AI agents. Define a loop — a prompt, a schedule, an agent — and it runs Claude, Codex, Hermes, or Pi against your repo on every tick, in an isolated workbench, with a watchdog on every run. Loop engineering, not prompting by hand.
cargo install --locked moadimmoadimStarts the server in the background at http://localhost:5784/. Requires a Unix-like OS with tmux and a cron daemon (cron / launchd / systemd) — loops fire from your OS crontab inside a tmux session, so without them the install succeeds but nothing runs.
The loop
Quickstart
curl http://localhost:5784/api/v1/routinesEvery loop is also a documented HTTP endpoint, with an OpenAPI schema and Swagger UI baked into the daemon.
{ "name": "list_routines", "arguments": {} }The same call as an MCP tool, for any MCP-compatible agent connected to /mcp.
Features
A loop runs an agent
A loop pairs a prompt, a schedule, and an agent — Claude, Codex, Hermes, or Pi. Each tick launches it in a fresh, isolated workbench, kills hung runs, and reaps the session when it's done.
Runs locally, survives reboot
Loops fire from your own OS crontab — no hidden queue, no cloud. Run moadim install to register a launchd / systemd service so the daemon keeps running across logins and reboots.
UI · REST · MCP
Every loop is an MCP tool and a documented HTTP endpoint — Swagger UI, an iCal feed, and a web UI baked into the daemon.
On loop engineering
FAQ
- Is Moadim free? What's the license?
- Yes — Moadim is open source under the MIT license, free to use, modify, and self-host. There's no paid tier and no account to create.
- Is it self-hosted or a cloud service?
- It runs entirely on your own machine. Loops fire from your OS crontab — no hidden queue, no cloud, no sign-up. Run moadim install to register a launchd (macOS) or systemd (Linux) service so the daemon survives logins and reboots.
- Which agents does it support?
- Claude, Codex, Hermes, and Pi today. Each loop names the agent it runs, and Moadim launches it for you on every tick. The built-in Claude agent additionally needs python3 on your PATH — its unattended setup step uses it to pre-seed trust and MCP-approval state, and without it Claude runs silently no-op.
- Which operating systems are supported?
- macOS and Linux. Loops are scheduled through the OS crontab and run inside tmux; running moadim install registers a launchd (macOS) or systemd (Linux) service that keeps the daemon alive across reboots. Both crontab and tmux need to be on your PATH, or the install succeeds but nothing runs.
- How is each run isolated?
- Every tick launches the agent in a fresh, isolated workbench. A watchdog kills hung runs, and the session is reaped once it finishes — so one run can't leak state into the next.