needs human block
This canonical lookup describes the published needs_human interaction shape, the present renderer support, its return path, and the trust boundary that applies when it is shown to a person.
| Type | Contract | Agent may send | Platform may produce | Web renderer | Mobile renderer |
|---|---|---|---|---|---|
| needs_human | Published | Allowed | No documented platform producer. | NeedsHumanBlock | NeedsHumanBlockView |
needs_human
AllowedThe agent cannot proceed and is asking a real person to take over.
Return path
None; the delivery closes as handed to a person server-side, not a wire reply the agent receives back.
Trust and visibility
Agent-authored prose in the platform's markdown subset, untrusted input like every other agent-authored block.
Stability
Valid ONLY in a final reply; a partial carrying one is refused 400 — the exact mirror of intent (which is partial-only). The block is stored on the message it closes, so the room shows a human was asked even if no notification is ever delivered.
| Field | Required | Published constraint |
|---|---|---|
| type | Yes | literal "needs_human" |
| reason | Yes | string · 1–10000 characters |
{
"type": "needs_human",
"reason": "The requested route has no available fare after three searches; a person should quote manually."
}Web preview
The requested route has no available fare after three searches; a person should quote manually.