Harnesses

Agent Looper ships worker runtimes for the coding agents you already pay for. Operators start the loop on your machine; runtimes are the --runtime values the harness drives. Facts come from published repo docs and CLI help.

Agent Looper Grok Bot

You say what to build and how to know it's done. It keeps a coding agent working on your computer until that check passes.

Add to Grok Bot

Grok Bot is the Grok operator that runs Agent Looper on the user's computer. It is not a --runtime enum value. Distinct from the Grok 4.7 model that Cursor uses as judge by default.

How to use

  1. Freeze GOAL.md and verify.sh (or pnpm exec agent-loop-prompt --out .cursor/loops/my-task).
  2. From the Grok Bot session, start the harness: pnpm exec agent-loop run .cursor/loops/my-task --review-gate
  3. Worker and judge come from loop.json and what's installed. There is no --runtime grok.

The harness still owns the deterministic check and a fresh worker each iteration. Grok Bot starts that loop; it does not implement the goal itself.

Runtimes

Each card is one shipped --runtime value. Install once: pnpm add -D @dancingteeth/agent-looper, then add the SDK or CLI named on the card.

Cursor

--runtime cursor

IDE subscription via @cursor/sdk.

Worker composer-2.5 Judge Grok 4.7 grok-4.6 / grok-4.5 ok

pnpm exec agent-loop run .cursor/loops/my-task --runtime cursor --review-gate

Export CURSOR_API_KEY or run under Doppler. Run pnpm exec agent-loop-init once. Default judge reviewModel is grok-4.7 when the worker is Cursor; Composer 2.5 is the only Cursor worker. Set costPreset: "cursor" in loop.json to stay on Cursor for both worker and judge. Repo defaults that pin OpenCode escalateModel are not applied on --runtime cursor — judge uses reviewRuntime / reviewModel.

DSH

--runtime dsh

DeepSeek Harness CLI — worker is dsh --profile headless; dsh-agent-looper plugin for dsh web.

Worker deepseek-flash (4.1 Flash) → v4-pro Previous deepseek-v4-flash Judge deepseek-v4-pro

pnpm exec agent-loop run .cursor/loops/my-task --runtime dsh --review-gate

Default worker is deepseek-official/deepseek-flash (DeepSeek-V41-Flash, image-capable). Previous deepseek-official/deepseek-v4-flash stays allowed. Ensure dsh is on PATH. ~/.dsh/.credentials.yaml must be a flat KEY: "string" map — a wrapped store (version / refs / records) or YAML integer fails agent-check dsh and agent-loop run before spawning the worker. Quoting version alone is not enough; the harness does not rewrite that file. DSH companion plugin guard blocks accidental foreground grinds. See docs/dsh-plugin.md and plugins/dsh-agent-looper/.

Cline

--runtime cline-pass · cline

@cline/sdk — cline-pass for subscription quota, cline for credits.

Pass deepseek-v4.1-flash → qwen3.7-plus Credits deepseek-chat → qwen3-coder-plus Judge any runtime, optional

pnpm exec agent-loop run .cursor/loops/my-task --runtime cline-pass --review-gate

Install @cline/sdk. Use --runtime cline for credits.

OpenCode

--runtime opencode

@opencode-ai/sdk and opencode CLI — Go quota or BYOK via OpenRouter, Vercel, Ollama, or another OpenAI-compatible router.

Go deepseek-v4.1-flash → qwen3.7-plus BYOK openrouter/… :free Judge any runtime, optional

pnpm exec agent-loop run .cursor/loops/my-task --runtime opencode --review-gate

Install @opencode-ai/sdk; ensure opencode CLI is on PATH.

Pi

--runtime pi

@earendil-works/pi-coding-agent — OpenRouter by default or another OpenAI-compatible router you configure.

Worker openrouter/deepseek-chat → qwen3-coder-plus Judge any runtime, optional

pnpm exec agent-loop run .cursor/loops/my-task --runtime pi --review-gate

Install @earendil-works/pi-coding-agent.

Codex

--runtime codex

@openai/codex-sdk and codex CLI — ChatGPT / OpenAI BYO.

Worker gpt-5.6-luna → gpt-5.6-terra Optional gpt-6-astra Judge any runtime, optional

pnpm exec agent-loop run .cursor/loops/my-task --runtime codex --review-gate

Install @openai/codex-sdk; ensure codex CLI is on PATH. Codex judge default stays gpt-5.6-sol; gpt-6-astra is listed but not the default judge.

Muse

--runtime muse

@muse-code/sdk and muse CLI — Meta Muse Code. Not on costPreset minmax.

Worker muse-spark-1.3-contributor Judge any runtime, optional

pnpm exec agent-loop run .cursor/loops/my-task --runtime muse --review-gate

Install @muse-code/sdk; ensure muse is on PATH. Climb reasoningEffort — there is no stronger Spark slug. See docs/muse-runtime.md.

Claude

--runtime claude

PATH claude CLI — Claude Code subscription. --safe-mode so the harness prompt is the only instruction source (strips project hooks and auto-memory). Not on costPreset minmax.

Worker sonnet → opus Judge any runtime, optional

pnpm exec agent-loop run .cursor/loops/my-task --runtime claude --review-gate

Ensure claude 2.1.169+ is on PATH and claude login has been run. opus / sonnet / fable aliases track Claude Code latest-per-family. Typical mix: cheap worker + Claude as judge (default opus). See docs/claude-runtime.md.