Pause your AI agent.
Ask a human.
Resume with their answer.

Open source library for AI agents that need a human in the loop. The human reviews in Slack, email, or a dashboard and replies with the answer in your schema.

start in 3 lines →
apache 2.0
agent.py
from awaithumans import await_human
from pydantic import BaseModel

class Refund(BaseModel): amount: float; customer: str
class Decision(BaseModel): approved: bool

decision = await await_human(
    task="Approve refund?",
    payload_schema=Refund,
    payload=Refund(amount=240, customer="cus_123"),
    response_schema=Decision,
    notify=["slack:#ops"],
    timeout_seconds=3600,
)

if decision.approved: process_refund()
integrates withtemporallanggraph
the gap

Three things bigger
models will not fix.

Every production agent hits the same three walls. No model release moves them.

01

What only a human can decide

The agent has the information, but a human has to own the call. High-stakes, regulated, or irreversible decisions need a person's signature, and that gap widens as agents get more capable.

A CFO agent pauses before wiring $2M to a new vendor. A medical agent routes a dosage decision to the on-call physician.
02

What only a human can see

The world exists outside the model's context window, and no amount of intelligence closes the gap between what the model thinks is true and what is actually happening on the ground.

A logistics agent waits for confirmation the package was actually picked up. A real-estate agent needs a human to walk the property before listing.
03

What only a human can do

The physical world was not built for agents and will not be rebuilt overnight. Until it catches up, agents need humans to be their hands.

An agent needs a wet signature on a legal document before filing. An agent managing a retail store needs someone to restock a shelf.
This is what awaithumans is for. Bring a human review step to your agent workflow →
awaitverify · managed human review

Bring human review to your
document extraction pipeline.

Your OCR or vision model is right most of the time. The pages it gets wrong are what break your agent downstream. AwaitVerify routes those pages to a trained human reviewer and returns a clean, typed answer in your schema. We supply the reviewers. Per page, with a 30-minute SLA on Express.

  • No reviewer ever sees a whole document. We split, route, and delete on completion.
  • Answers come back in your schema. No parsing, no cleanup.
  • Standard or Express, per call. No plans, no minimums.
see awaitverify →
free $5 in credit on signup
AWAITVERIFY · TASK #VRF_8A31
STEP 1 / 5
invoice.pdf
EXTRACTING…
your_ocr.extract()
GPT · Docling · Reducto · Azure
your_ocr_model.extract(document)your stack runs first

One call. Pause. Resume.

agentyour codeserverawaithumanschannelslack/emailhumanjudgesverifierai checkcallbackagent resumesFIG. 1.0 / HUMAN REVIEW STEP / FLOWstep 1 / 5

Humans complete tasks
where they already are.

Reviewers answer in Slack, email, or the dashboard. The same schema renders the UI on each channel, so you write zero templates and they learn zero new tools.

ah
awaithumansAPP · 9:41 AM
Approve refund?
amount: $240.00
customer: cus_123
ApproveDeny
slack

Interactive Slack messages. Reply in thread or click the button. The AI quality check runs before your agent trusts the answer.

ops@acme.com → you · approve refund?
Approve refund?
$240.00 · cus_123 · requested by checkout-agent
Approve →Deny
email

Action buttons inline. Click for a confirmation page. Reply with natural language to complete.

task #1039pending
Approve refund?
amount$240.00customercus_123reasonshipping delay
ApproveDeny
dashboard

Typed forms generated from your schema. Audit trail and admin built in.

5 minutes from pip install → first task.

From install to first human task in under five minutes, every release. CI runs the quickstart on a fresh machine so the path stays clean.

~/agents · python