the human API for agents
Your agents can reach everything — except you.
human is a tiny CLI that lets any AI agent text an actual person — you — on Telegram, Slack, or email, and block until you answer. One command. Real approval. No dashboard.
The agent waits.
You decide.
Every blocking call delivers a message with buttons to wherever you already are, then holds the process until you tap one. Your scripts branch on the answer, not on hope.
Timeouts, retries and resumption are the agent's problem. Yours is a five-second decision from your phone.
A freeform question. Blocks until the human replies — the answer comes back on stdout.
Approve / Deny buttons for anything irreversible. An audit trail of who said yes.
Up to ten options, listed in full, answered with one tap. No more guessing which branch you meant.
One-way. Delivered and done — for the "it finished" message nobody should have to poll for.
More than one human.
Look first.
Agents can list everyone they can address with
human contacts — a directory of people in the
environment, not a guarantee they have a channel linked yet.
Your row is marked (you). Invite someone new with
human invite alice --via slack --name "Alice Chen",
then pass their id to --to.
Three minutes, once.
You run setup
Scan a QR, link Telegram — or Slack, or email. No account, no API keys. You're now the default human for every agent on the machine.
Your agents start asking
Any script or agent calls human ask or
human approve instead of guessing — and genuinely waits.
You answer from your phone
The question lands where you already read messages, with buttons. Tap one, or just reply. The agent picks it up and keeps going.
“Agents are connected to everything except the humans they work for.”— why this exists