A question can be a safety control or a dead parking brake.
Michael Lynch describes starting a long coding task before bed and finding that the agent had stopped two minutes later to ask for a Git branch name. He uses the example in a broader critique of task management, weak self-knowledge, poor model routing, and unsafe execution defaults in coding agents.[1]
The branch name was reversible. The lost night was not. The agent treated every unknown as if it carried the same consequence. That policy feels cautious, but it pushes low-risk details into the operator's critical path while leaving the real authority boundaries undefined.
A useful question policy protects the irreversible choice without turning every preference into a stop sign.
Sort questions by what a wrong answer can damage.
Use four classes. A preference changes style or naming. A reversible implementation choice can be changed without losing external state. A destructive or public action can delete data, publish work, merge code, or spend money. An authority boundary asks for credentials, consent, identity, or a permission the agent does not hold.
In unattended mode, the first two classes can use a documented default when the task contract permits it. The agent records the choice and keeps moving. The last two classes stop. No timeout should invent consent, expose a secret, or turn an unreviewed draft into a public act.
Give the agent a check, not a pep talk.
Anthropic's Claude Code guidance says to provide a check the agent can run, such as a focused test, build result, screenshot, or fixture comparison. It also recommends specific file and scenario context, and says planning is most useful when the approach is uncertain or the change spans several files.[2]
That turns many questions into tests. Instead of asking which of two implementations looks right, state the behavior that must hold and provide the command that checks it. The agent can choose the smallest reversible route, run the check, and log the result. The operator reviews evidence instead of answering a stream of implementation trivia.
Set a wait budget before the operator leaves.
A question policy needs time. In attended mode, a short pause can be sensible because the operator is present. In unattended mode, a reversible question should expire into a named default. A consequential question should expire into a safe stop with enough state to resume.
Record the question class, default, deadline, files changed, commands still running, latest passing check, and exact resume step. Do not record a vague "waiting for input" status. The next operator needs to know what stopped, what remained untouched, and whether the workspace is safe to continue.
Critique is a lead. Policy needs a local test.
The Lynch article is a first-person critique, not a controlled comparison of agent products. Its examples identify useful failure modes, but they do not establish how often each product stalls or whether every current version behaves the same way. The Hacker News thread attached to the article is discussion, not independent evidence.[3]
Test your own harness with three fixtures: one harmless preference, one reversible implementation choice, and one authority boundary. Leave the session unattended past the configured wait budget. A passing run continues through the first two, stops at the third, and leaves a complete resume record.