Approvals, questions and plans
When the harness needs a decision, the runner posts a prompt in the thread and the turn waits; prompts never expire
Permission requests
A permission request appears when the session’s permission mode does not let a tool call through. In the default mode, bypassPermissions, none appear.
The prompt names the tool and shows the command for Bash or the diff for an edit (up to 2,500 characters), or the content for a new file (up to 1,500).
| Answer | Effect |
|---|---|
| Allow | This call runs. |
Allow <tool> for this session | This call runs, and the harness stops asking for the same kind of call in this session. Shown only when the harness offers it. |
| Deny | The call is refused and the agent is told. |
| Typed reply | Declines the request; the agent gets your text as what to do instead. |
Once answered, the prompt message is deleted and the step card shows the outcome and who gave it.
Questions
| Answer | Effect |
|---|---|
| Option button | Answers that question. |
| Typed reply | An answer that is not among the options. |
| Typed reply, more than one question still open | Closes the whole prompt: the agent gets your text with the answers already given by button. |
Plans
In plan mode the agent presents its plan as a message titled “Plan ready for review”.
| Answer | Effect |
|---|---|
| Approve · auto-accept edits | The plan is approved and the session’s mode becomes acceptEdits. |
| Approve · ask before edits | The plan is approved; edits ask for approval. The footer and !status still show plan. |
| Keep planning | The plan is rejected and the agent continues planning. |
| Typed reply | Declines the plan; the agent gets your text as the change you want. |
The plan message stays, updated with the outcome and who decided.
All prompts
| Rule | Detail |
|---|---|
| Who can answer | Anyone whose messages are delivered to the session. See Shared threads. |
| First answer wins | Later clicks do nothing. |
| Typed messages | While a prompt is open, a delivered message answers or declines the latest open prompt; it starts no new turn. |
| Expiry | None. The idle exit does not end a turn waiting on a prompt. |
| Stop | !stop or Slack’s stop button closes the open prompts and stops the turn. |
| Runner restart | The buttons of an open prompt do nothing, and nothing in the thread says so. Send the request again. |
| API | The same prompts; an answer from either side closes the prompt for both. See Asks. |