← getnohuman.com

About no_human

Open source (MIT) · runs on your machine · never merges

What it is

no_human is a software-delivery loop you install and run yourself. You give it a ticket; it reads your repository, writes a plan, makes the change, runs your tests, submits the diff to an independent reviewer that is told to refute “done”, and opens a pull request. Then it stops. Merging is a human action, every time.

It is not a chat assistant. The program itself needs no account and puts no server of ours in the request path: it runs on your machine, against your own model credential, on your own checkout. (This site also has a sign-in page and waitlists for paid tiers that would run the work on our infrastructure instead — none of which is needed to use the program described here.)

Why it exists

An agent that writes code is easy to believe and hard to trust. The expensive part is not generating a diff — it is knowing whether the diff does what it claims. So the product is built around evidence rather than confidence: a plan before code, a reviewer with a different model and a fresh context, a tamper guard whose detector is mechanical — deleted tests and tautological assertions are counted, not judged — and a reproduction gate that, for a Python bug fix, wants a test that fails on the merge base and passes on the new tree (advisory by default; repro_gate.mode: required binds every change). Every pull request carries that evidence, including what could not be verified.

The rule that does not bend

The agent never merges: landing a pull request is a separate human command. It pushes to its own branch and opens a pull request, under a git identity distinct from yours (no_human by default), exported into the agent's environment, so a commit it makes normally is attributed to the machine rather than to you. Pushes to main, master and release/* are refused: on the default backend before the push runs, and again by a fail-closed git pre-push hook installed into each isolated task worktree, which reads the ref git itself resolved rather than the text of the command. Those are program behaviour rather than prompt instructions — but they are layers, not absolutes. On the Codex backend no pre-execution veto exists, so the guard observes a call after it has run; and the merge ban in particular raises the cost of the obvious spellings rather than closing the door. The project documents its known gaps. When the agent cannot finish honestly it stops and says what it is blocked on, rather than reporting success.

Who builds it

no_human is developed in the open at github.com/no-human-ai/no_human and published to PyPI as no-human. It is MIT licensed. Issues and pull requests are welcome; the fastest way to reach a human is the issue tracker, and the slower but certain way is email.

Where to go next