Agent L
per
GOAL
→
WORKER
→
VERIFY
→
JUDGE
the harness that owns the grind.
━━━━──────────────────
fail → fresh worker
pass → done
If it hangs, it switches. Wonder if it's alive? There's a skill. When it finishes, you get a report card.
Which coding agents does Agent Looper work with?
Agent Looper uses the coding agents you already pay for: Cursor, Cline, OpenCode, Pi, Codex, DSH, Muse, and Claude.
It detects what's installed. You or your agent pick the model and provider.
OpenCode and Pi can use OpenRouter, Vercel, Ollama, or another OpenAI-compatible router.
How-to and default models: Harnesses.
How do Agent Looper worker and judge presets work?
Named presets: minmax (efficiency — cheap capable worker, strongest included judge), balanced (spend more on the worker, same judge), cursor (stay on Cursor: Composer + Grok — default judge grok-4.7). Or you, your agent, or Looper wires a pair from what's installed. The pair stays for the whole loop. Not Auto. On runtime: cursor, repo defaults that pin OpenCode Go escalateModel are not applied — Composer plus another judge uses reviewRuntime / reviewModel, not escalateModel.
How does Agent Looper keep cost down for indie builders?
Agent Looper is how indie builders get to handoff or production-ready without burning a frontier model on every loop.
Cheap harness subscriptions you already have, a worker/judge pair that minmaxes cost, and a budget that actually stops.
The check is the finish line — keep it honest. The judge is residual, not a production gate.
What happens if Agent Looper's worker is stuck?
Starts cheap. Same check keeps failing → more thinking, then a stronger model. If the worker hangs or times out, it switches right away — it does not wait for the stuck-check count. Not Auto. A planned ladder.
What if the code is already broken?
Forward implements, then checks. Reverse starts from a red check and repairs. Clean-room: rebuild toward the frozen goal from tests and the public API. Don't copy the broken internals.
How do I know if a loop is still alive?
The IDE job list will lie. Ask your agent to use the check-running-loops skill. It looks at the harness process, not a spinner that stays green after the process died.
What do I get when a loop finishes?
A report card, not a chat dump. How often the check sent work back, whether the worker hung, whether the judge bounced it, list and billed spend when they differ, and whether it needed you.
How do I start a loop from an idea?
If you see your coding agent's logo on this page — type your idea as a normal prompt, and ask it to implement the feature with Agent Looper. It sets up the loop and keeps grinding until the check is green.
If you like the terminal — run pnpm exec agent-loop-setup: a one-screen setup wizard shows your recap and the current question, not a scrolling pile. Go back to change one answer without losing the rest. Then use pnpm exec agent-loop-prompt to type your idea and start the run. The scaffold judge stops as soon as frozen GOAL.md and verify.sh pass freeze (10-minute wall, not a long grind). The check stays the finish line.
What if verify fails because my environment is broken?
When the check fails because something on your machine is missing or broken — not because the feature is wrong — the loop waits for you instead of sending another worker. Fix the environment, then resume. Real product failures still iterate.
What do the spend numbers mean?
Watch and the report card show two numbers when they differ: list (public API rates, including prompt-cache) and billed (what the runtime invoice says). $0 on a subscription quota is billed $0, not “free.” Budget caps use billed when you are on PAYG and list when the invoice is $0. OpenCode Go and Cline Pass model lists and list prices come from models.dev — sync picks up Grok 4.7, GPT-6 Luna, MiMo V2.6 Flash/Pro, and Space Bunny Free; unknown but well-formed slugs soft-gate — warn at loop start, show $0 until priced. Budget caps still reject unpriced worker or escalate models.
How do I harden verify between runs?
Before you add another line to verify.sh or REVIEWS.md, walk a diverse sample of past runs under .cursor/loop-exports/ so the scoreboard matches real failures — not one lucky green. Procedure: docs/unknowns-preflight.md. Freeze during a run is unchanged.