For the conceptual overview, checkpoint shapes, and lifecycle, see the HITL Guide. This page is the TypeScript SDK reference.
Quick start
Enable a plan-review checkpoint and collect a real response before continuing. This Node.js example approves the plan when the user presses Enter, or submits the requested changes.respond() when they submit their decision. Returning null from a callback leaves the checkpoint unanswered; it does not approve or dismiss it.
Checkpoints
Checkpoints fire in order; only enabled ones fire.
Reference
Manual polling and respond()
Manual polling and respond()
If you’d rather drive the loop yourself, poll
status() and respond when status.status is awaiting_input or paused:respond() returns DeepResearchRespondResponse with success, status ("running" or "queued"), deepresearch_id, error.Checkpoint response shapes
Checkpoint response shapes
Each checkpoint expects a specific response object:
Typed helpers
Typed helpers
HITL history and types
HITL history and types
After checkpoints complete,
status.hitl_history records each interaction (type, auto_continued, created_at, responded_at, response):