Skip to content

Introduction

OpenLoop is a CLI and daemon for autonomous, unattended development across your linked repositories. You define the work; a resident daemon schedules AI coding-agent runs, validates the results, and promotes changes according to a safety policy, on a loop, without manual intervention.

The whole idea, in four commands
openloop project add api ~/work/api --init # link a repository
openloop task add -p api --title "Fix retries" # define the work
openloop service start # start the loop
openloop digest # review what happened

AI coding agents (Pi, Claude Code, Codex, Aider, …) are interactive by design: someone has to prompt them, watch them, and decide what happens to their output. That model breaks down when you want agents to work continuously across many repositories: overnight, over weekends, on backlog maintenance nobody wants to babysit.

OpenLoop is an orchestration layer, not another agent. It never calls model APIs itself; it drives real coding-agent CLIs as subprocesses and wraps them in:

  • A task ledger: every unit of work has a kind, a risk class, a status, attempts, and acceptance criteria.
  • A scheduler: one resident daemon manages all linked projects, cycling through implement, plan, and idle modes.
  • A promotion pipeline: every run ends in an explicit decision: auto-merge (low risk only, validations green), pull request, or manual review.
  • Guardrails: daily spend ceiling, attempt limits, run timeouts, scope policies enforced against the real diff, and secret detection before promotion.
Language TypeScript (Node.js 22+, Bun works too)
License MIT, open source
Agents Pi (default), Claude Code, Aider, OpenAI Codex, OpenCode, or any custom command
Platforms Linux, macOS (Windows best-effort)
Interfaces CLI, TUI, live watch view, web dashboard, MCP server