Open source · MIT

Human-in-the-loop approvals for AI agents

When an agent is about to spend money, send a message, or run a command, Open Approvals makes it stop and ask a person first. A shared approval queue, a small agent-side client, and one documented protocol any dashboard or app can implement.

$pip install open-approvals
Approval requestpending
billing-agentwants to run

Refund $240 to customer #1032

reason: duplicate charge, confirmed in Stripe

What’s in the box

An approval layer, not a framework

Agent-side client

One call to create an approval request, then block until a human answers. Get back a clear decision: accept, decline, cancel, or timeout.

Shared approval queue

Requests and decisions live in one atomically-written store. Any process on the machine can raise a request or record a decision.

Documented protocol

A small, versioned protocol covers the store format and HTTP endpoints, so any approver surface or agent runtime can speak it.

Approver surfaces

Headless React hooks in open-approvals-react let a dashboard, desktop app, or phone list pending requests and tap Approve or Deny.

The loop

Request, review, resume

01Request

The agent asks

Before a sensitive action, the agent creates an approval request and blocks, spelling out what it wants to do and why.

02Review

A human decides

The request appears on any approver surface. A person reviews the details and taps Approve or Deny, wherever they are.

03Resume

The decision flows back

The agent unblocks with the decision (accept, decline, cancel, or timeout) and either continues or safely backs off.

Install

One call to keep a human in the loop

agent.py
from open_approvals import create_approval_request, wait_for_approval

# Before a sensitive action, ask a human.
request = create_approval_request(
    requester="billing-agent",
    action="refund",
    description="Refund $240 to customer #1032",
)

decision = wait_for_approval(request["id"], timeout_seconds=300)
if decision["accepted"]:
    issue_refund()

Python · agent side

pip install open-approvals

React · approver side

npm install open-approvals-react

Give your agents a checkpoint

Free and open source under the MIT license. Drop it in wherever an agent needs a human’s yes before it acts.

MIT licensed · Python 3.11+ · zero runtime dependencies