Skip to main content
HumanReview groups all HITL settings into a single object instead of passing them as separate parameters. All workflow primitives accept human_review=HumanReview(...): Step, Loop, Router, Condition, Steps, and Parallel.
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 field raises a ValueError at construction time. Condition, Steps, and Parallel only support requires_confirmation. Passing unsupported fields 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 how long to wait for a user response. If the timeout expires, on_timeout determines what happens.

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.

Developer Resources