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.
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/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-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.
@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.
@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-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.
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.