Gates & reviews

Human-in-the-loop by default: approvals, rework loops, and who's allowed to approve.


Between phases, a run stops at a gate and waits for a human. That's the core safety property: the agent never advances past a phase you haven't seen. A parked run holds nothing — no process, no container — so it can wait for your review for an hour or a week.

Approve or request changes

At a gate you see the phase's full output: the transcript, the diffs, check results, published artifacts. Then two buttons:

  • Approve — the run advances to the next phase.
  • Request changes — your note goes back as feedback and the agent reworks the same phase on the same branch, then returns to the gate.

The same review works everywhere: the editor's live session, the run's dashboard page, the desktop app, and the phone — with a push notification ("Waiting for your review") the moment a run parks. A failed phase parks at its gate too: Approve retries it, Request changes sends it back with instructions.

Who may approve

By default, any signed-in member of your organization. A phase can restrict that — in the workflow editor's Reviewers section, or in YAML:

phases:
  - id: coding
    gate: true
    approvers:                 # any-of: match one rule and you may approve
      - admin                  # Peractor org admins
      - codeowners             # owners from the repo's CODEOWNERS
      - { github: [alice, org/reviewers] }
      - { repo: write }        # collaborators at write or above
      - { tracker: assignee }  # the issue's assignee
    self: deny                 # four-eyes: authors can't approve their own work

Rules exist for GitHub, GitLab, Linear, Jira, and Notion identities, repo collaborator permission levels, and the tracker's assignee or team. Approval reuses the reviewer's external identity — the account they signed in with — so policies name people you already know, and a reviewer only matches rules from their own provider.

Peractor's gate advances the workflow. A merge step still goes through your VCS, so branch protection and required PR reviews keep applying on top.

Never miss one

Notifiers announce every gate in your team's channels, phones get push, and on a self-hosted control plane PERACTOR_GATE_TIMEOUT_MS re-sends a reminder for gates left waiting.

Related: Code review · Mid-run questions