goloop — the agentic loop CLI
// open source · MIT · single static binary
The agentic loop,<br>on the command line.
A supervisor model plans every iteration. A worker — Cursor or<br>Claude Code — does the edits. State lives in plain markdown you can read, diff, and<br>trust. Point it at a goal; walk away.
curl -fsSL https://raw.githubusercontent.com/mantyx-io/goloop/main/scripts/install.sh | bash<br>copy
Get started<br>Star on GitHub
build Go 1.24+
os macOS · Linux · Windows
deps none
~/your-project — goloop run .
supervisor<br>plans the move, emits a JSON action
──▶
worker<br>edits the repo via Cursor / Claude Code
──▶
checkpoint<br>writes .goloop/checkpoint.md
↺ until done
01<br>Supervisor / worker split
The planner never touches files. A dedicated worker does every edit — clean separation, predictable runs.
02<br>Pluggable backends
Supervise with ChatGPT, OpenAI, or Anthropic. Execute with Cursor CLI or Claude Code. Swap freely.
03<br>State you can read
No hidden database. Progress, blockers, and the iteration log are markdown files you can diff and edit.
04<br>Self-extending tools
The loop can author its own supervisor tools, exit 75, and auto-restart to pick them up.
05<br>Human in the loop
When only you can answer, it stops and asks with ask_user instead of hallucinating a decision.
06<br>Honest terminal UI
Streamed worker reasoning, a live iteration log, and full-screen wizards for setup — no spinners that lie.
07<br>Layered config
Models & auth once, globally. The goal per project. Flags override anything for a single run.
08<br>One static binary
Written in Go. No runtime, no node_modules. curl | bash and you're working.
01
Configure once
goloop configure picks your provider, models, and signs you in — saved to ~/.goloop/config.yaml.
02
Set a goal
goloop init (or run auto-init) captures the objective into the project's .goloop/config.yaml.
03
Let it loop
goloop run . plans, delegates, evaluates, and checkpoints until the objective is met.
// supervisor action — every iteration
"action": "delegate", // evaluate · ask_user ·<br>// delegate_tools · complete<br>"phase": "build",<br>"delegate_task": "Implement add/list/done commands",<br>"checkpoint_update": {<br>"completed": ["CLI scaffold"],<br>"next_steps": ["persist todos to disk"]<br>},<br>"status": "success"
installcopy
# macOS / Linux / WSL<br>curl -fsSL https://raw.githubusercontent.com/\<br>mantyx-io/goloop/main/scripts/install.sh | bash
# …or with Go<br>go install github.com/mantyx-io/goloop/cmd/goloop@latest
configure & runcopy
# once: provider, models, sign-in<br>goloop configure<br>goloop login
# in your project<br>cd your-project<br>goloop run . --goal "Build a todo CLI"
// supervisors
ChatGPT subscription<br>OpenAI API<br>Anthropic API
// workers
Cursor CLI<br>Claude Code
global<br>~/.goloop/config.yaml<br>Provider, models, worker, loop defaults — set once.
project<br>/.goloop/config.yaml<br>The objective for this repo. Required to run.
run<br>goloop run --goal …<br>One-off overrides for a single invocation.
Give your terminal a goal.
Free and open source under the MIT license.
curl -fsSL …/install.sh | bash<br>copy
Get it on GitHub