Skip to main content
Require a person to sign off on a task’s output before the next task can read it.
Coming from Python? The parity page is Human-in-the-Loop Review — this is its TypeScript counterpart for Task(human_input=True).

Quick Start

1

Mark a task for review

Set humanInput: true on the task, then call reviewTaskOutput after the task produces its output.
2

Plug in your own approver

Pass an approvalManager to route the review through Slack, a webhook, or any UI instead of the built-in terminal prompt.
reviewTaskOutput reuses the existing approval manager, so it works wherever Approval already does — no separate wiring.

How It Works

reviewTaskOutput asks the approval manager to approve the complete output, then returns a verdict.

Approval vs. Human Review vs. Guardrails

Three features gate agent work at different points — pick by what you are protecting.
The approval manager gates a TOOL CALL and guardrails validate automatically; neither let an orchestrator require a person to approve an output before the next task consumes it.

Task Options

Two Task fields turn on review.

reviewTaskOutput Reference

reviewTaskOutput(task, output, options?) → Promise<ReviewOutcome> ReviewOutcome return shape: A ReviewApprovalManager is any object with a requestApproval that resolves to a boolean:
With humanInput: true and no manager passed or registered, reviewTaskOutput throws: Task <name> sets humanInput but no approval manager is available…. Configure one, or remove humanInput.

Best Practices

A rejection returns reason: "a reviewer rejected this output". Add it to the task’s prompt and re-run so the next draft addresses the objection.
In non-TTY environments the default prompt cannot read stdin. Pass options.approvalManager (Slack, webhook, dashboard) so the throw never fires.
Only === true approves. Make sure your requestApproval resolves an actual boolean — a truthy object is read as a rejection on purpose.
Use Approval for tool calls, Human Review for outputs a person must sign off, and Guardrails for automatic output validation.

Approval

Gate a tool call behind a person

Guardrails

Validate outputs automatically

Tasks

Define work for agents

Human Review (Python)

The Python parity page