Skip to content
moadim.

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.

Installcargo install --locked moadimmoadim

Starts 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.

Star on GitHub(opens in a new tab)moadim GitHub star count(opens in a new tab)crates.io(opens in a new tab)moadim version on crates.io(opens in a new tab)

The loop

Animated diagram: an agent reads goals from a goals repository and travels to a routines repository where it creates, edits, and removes routines — each routine itself a small, always-running loop with its own pace. The routines act on external repositories and tasks, and the resulting progress flows back into the goals.

Quickstart

REST — list loops
curl http://localhost:5784/api/v1/routines

Every loop is also a documented HTTP endpoint, with an OpenAPI schema and Swagger UI baked into the daemon.

MCP — list loops
{ "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.