Skip to main content
HumanReview groups all HITL settings into a single object instead of passing them as separate parameters. Step, Loop, Router, Condition, and Steps accept human_review=HumanReview(...). Parallel rejects every requires_* field because parallel branches cannot be individually paused. Behavior fields set on Parallel have no effect.
Flat parameters still work for backward compatibility:
If both human_review and flat parameters are provided, human_review takes priority.

All Fields

Supported Fields by Component

Not every field works on every component. Passing an unsupported requires_* flag raises a ValueError at construction time. The behavior fields (on_reject, on_error, max_retries, timeout, on_timeout) are not validated; they only take effect on the components marked below. Condition and Steps only support requires_confirmation. Parallel rejects any requires_* field. Passing an unsupported mode raises a clear error:

Validation Rules

  • requires_output_review and requires_iteration_review cannot both be True in the same config.
  • Each component validates at construction time. You get a clear error if a field is unsupported.

HITL Modes

Pre-execution: Confirmation

Pause before a step runs. The user approves or rejects.

Pre-execution: User Input

Collect parameters from the user before execution.

Post-execution: Output Review

Pause after a step completes so the user can review the output. Supported on Step and Router.

Per-iteration: Iteration Review

Pause after each loop iteration for review. Supported on Loop only.

Timeout

Set a timeout for a Step confirmation or output review. If the timeout expires, on_timeout determines what happens when continue_run() is called. Step user-input pauses and other components ignore timeout policies.

Serialization

HumanReview serializes to a single "human_review" key in the workflow state. Deserialization reads "human_review" first, then falls back to flat keys for backward compatibility with existing persisted data.
A callable requires_output_review predicate serializes as True. Reapply the callable after reconstructing a workflow if review should remain conditional.

Developer Resources