---
url: https://hanria.ai/blogs/requires-human/
canonical: https://hanria.ai/blogs/requires-human/
site: HANRIA
---

# When must an agent escalate instead of acting?

The skill and hosted check are advisory only. They return a result and advice, but they do not control execution.

An `escalate` result is not approval, and sending a request for review is not evidence that a person approved it. The resulting decision must be specific to the proposed action.

A U.S. trademark application is pending; no registration or completed clearance is claimed.

## When requires_human changes the result

A mandate can contain a clause that permits an operation and a separate `requires_human` list of operation kinds. The evaluator first determines whether the ordered clauses match the request. If a permitting clause matches and the action kind appears in `requires_human`, the result is `escalate`, not `permit`.

This lets a mandate express both scope and decision ownership. For example, a clause can describe the transactions that are in scope while `requires_human` identifies `transaction` as a kind that still needs a person. The matching clause establishes that the request fits the described delegation; it does not remove the human review requirement.

An explicit clause can also return `escalate`. In either case, the response tells the consuming agent that the proposed action needs a human decision. The checker does not contact a reviewer, choose the reviewer, or turn silence into approval.

## What a useful escalation includes

Present the exact action that was evaluated, including every field relevant to the matching clause. A useful review request states the operation kind, verb, target, counterparty, amount when applicable, the matched clause, and why the result is `escalate`.

Do not broaden the request after review. Approval for one target, amount, or counterparty does not authorize a different one. If the proposal changes, evaluate the changed action and request a new decision when the result calls for one.

## Published fail-closed cases

The published checking surfaces identify these fail-closed cases:

- an expired mandate;
- a malformed or unrecognized mandate;
- a request missing required fields;
- an unknown operation kind;
- a non-finite or negative amount;
- an unforeseen internal fault;
- a mandate condition the evaluator does not implement.

These cases do not produce a permissive answer. The hosted response remains advisory, and the consuming agent is responsible for handling that result according to its instructions.

## Hosted check

For tool discovery and structured integration, use:

[https://check.hanria.ai/v1/mcp](https://check.hanria.ai/v1/mcp)

For a direct check request, use:

[https://check.hanria.ai/v1/check](https://check.hanria.ai/v1/check)

Developer documentation:

[https://hanria.ai/developers/](https://hanria.ai/developers/)

## Honest verdict

Use `requires_human` when a mandate should identify actions that need a person even though their scope matches a permitting clause. If you need execution control rather than an advisory result, use a separate enforcement system.
