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 (runs on Bun)
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