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.

$ npx @novu/human setup
fig. 01 — the creation of adam (1512) / 8×8 bayer / 30fps an agent reaches; a human answers.

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.

agent — deploy.shtty
$ human approve "Ship v2.4.1 to production?" \
--from deploy-bot --timeout 15m
⠿ waiting for a human on telegram (hi_x8f2k1) · 47s
✓ Approved by dima at 14:02
 
$ echo $?
0
$
ask

A freeform question. Blocks until the human replies — the answer comes back on stdout.

approve

Approve / Deny buttons for anything irreversible. An audit trail of who said yes.

choose

Up to ten options, listed in full, answered with one tap. No more guessing which branch you meant.

tell

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.

agent — who can I reachtty
$ human contacts
ID NAME EMAIL
dima Dima Groza dima@novu.co (you)
alice Alice Chen alice@acme.com
bob Bob —
 
$ human approve "Ship the pricing change?" --to alice

Three minutes, once.

01

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.

02

Your agents start asking

Any script or agent calls human ask or human approve instead of guessing — and genuinely waits.

03

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