The agent that writes the code should not be the one that decides it works.

Independent review and repair for coding agents.

npm install -g @the-open-engine-company/zeroshot
running Illustrative run software-change
The built-in software-change graph A worker implements the task. Acceptance and code reviewers check the result in parallel. If either rejects, a repair worker fixes it using both reviews’ feedback and both reviews run again. When both approve, optional delivery runs.

task “Add JSON output to the status command and cover it with focused tests.”

  1. 00:00runstarted · software-change
  2. 00:01workerimplementing the task
  3. 00:46workerdone · 3 files changed
  4. 00:46reviewacceptance + code, in parallel
  5. 01:14codeapproved
  6. 01:21acceptancerejected · empty-list case has no test
  7. 01:22repairfixing with feedback from both reviews
  8. 01:50reviewacceptance + code, round 2
  9. 02:17acceptanceapproved
  10. 02:20codeapproved
  11. 02:21delivery--pr · pull request prepared, not merged
  12. 02:33runpassed · configured checks accepted

We built Zeroshot because we were tired of being gaslit by agents telling us broken code was ready.

One agent, grading itself

  • agentwrites the code
  • agentdecides what “done” means
  • agentchecks its own work
  • agent“It’s ready.”

Zeroshot’s built-in graph

  • workerwrites the code
  • acceptancechecks it against the task
  • codereviews the change, independently and in parallel
  • repairfixes rejected work with both reviews’ feedback, then both review again
  • deliverywaits until the graph’s checks pass

The implementing agent never approves its own work. Zeroshot doesn’t replace Claude Code, Codex or GitHub Copilot. It runs one of them as the worker and as the reviewers.

A passing run means its configured checks accepted the work. How much that covers depends on the requirements, reviewers, tests and environment you provide. Watch a single agent vs. Zeroshot (scripted video).

Run your first task

  1. Install

    Needs Node.js 18 or newer. Installs a verified native binary for Linux and macOS (x64, arm64) or Windows x64.

    You also need Codex, Claude Code or GitHub Copilot installed and signed in. Local runs can reuse that login, including subscription-backed sessions.

    npm install -g @the-open-engine-company/zeroshot
  2. Describe the task

    Put the change you want in input.json, and the harness and model in runtime.json. This example uses Codex: replace YOUR_MODEL_ID with a model your Codex CLI supports.

    Other harnesses and providers

    input.json
    {
      "task": "Add JSON output to the status command and cover it with focused tests."
    }
    runtime.json
    {
      "harness": "codex",
      "provider": "openai",
      "model": "YOUR_MODEL_ID",
      "effort": "high"
    }
  3. Run it

    The worker edits the current Git worktree, so start in a clean one meant for the task. Without a delivery flag, the work stays local. Add --validate-only to check the graph, runtime and input first.

    To watch it, run zeroshot ui in another terminal, open http://127.0.0.1:4173/ui/ and go to Runs. Or use zeroshot status RUN_ID and zeroshot logs RUN_ID.

    shell
    zeroshot run \
      --title "Add JSON status output" \
      --template software-change \
      --input input.json \
      --uniform-runtime-config runtime.json

An explicit graph, not a longer prompt

The graph defines the sequence, the parallel steps, the retry paths and the exit conditions before the run starts. Runs are bounded, and events are recorded in a durable SQLite ledger.

zeroshot template show
Start from the built-in graph and add your own stages, like adversarial tests or E2E.
--runtime-config
Give each node its own model and effort instead of one for the whole run.
--profile
Save a graph and its runtime settings as a profile. The CLI and browser UI share them.
--push --pr --ship
Ship as far as you trust it: a pushed branch, a mergeable PR, or PR, CI and merge.
zeroshot target add
Run graphs on a self-hosted Docker target, on infrastructure you control.
auto-research
Bounded rounds of experiments, judged independently on evidence, method and progress.

Try it on your next task.

Starred by engineers at Google, Meta, Shopify, Uber, Booking.com, GitHub, Cloudflare, Atlassian and JetBrains. Questions, ideas, or a run worth showing? Join the Zeroshot community on Discord.