Interactive Questions
At a genuine fork in the road — ambiguous requirements, a choice between two workable designs — the agent can pause and ask you a structured question instead of guessing. You answer inline; it resumes with your choice. This is backed by the request_user_input tool and is on by default.
A permission approval asks whether the agent may run a tool (a command, a file edit). An interactive question asks for your decision — a preference or a choice between approaches. Different panel, different keys, different meaning. Declining a question is never an error; declining an approval blocks the tool.
The three question types
| Type | Behaviour |
|---|---|
| single | Radio list — pick exactly one option. Submits immediately on Enter. |
| multiple | Checkboxes — pick any number, then confirm on the Submit row. |
| text | Free-form text answer, no options. |
For single and multiple, an “Other — type your own answer” row is offered as well, so you are never trapped inside the listed options. The agent can suppress it only when it marks the options as exhaustive.
Answering in the terminal
| Key | Action |
|---|---|
| ↑ / ↓ | Move between options (and the Other / Submit rows) |
| 1–9 | Jump to (single) or toggle (multiple) the N-th option |
| Space | Toggle the current checkbox (multiple); type a space when editing the Other row |
| Enter | single: submit the highlighted option · multiple: submit from the Submit row · text: submit the buffer |
| type / Backspace | Edit the Other row or the free-text answer |
| Esc | Decline the question — the agent proceeds with its own best judgment |
| Ctrl+C | Decline and cancel the running turn |
A single question needs just one keystroke to answer (highlight, then Enter). A multiple question toggles rows with Enter/Space and only confirms when you activate the dedicated Submit row.
Several questions at once
When the agent has more than one thing to ask at the same decision point, it batches them — up to four — into a single panel instead of interrupting you repeatedly. Use Tab to move between questions, answer each, and submit them together in one round-trip. A lone question renders exactly as before.
In the Web UI
The same questions surface as a UserInputCard in the Web UI: radio buttons, checkboxes, or a text box, plus the same optional free-text row. A batch becomes a small stepper — step forward / back with the → / ← buttons, then one Submit that posts every answer at once. Skip declines. Answers stream back over the live SSE channel, so a turn driven from the browser pauses and resumes just like the terminal.
Turning it off
The feature is enabled by default. To opt out, set the environment variable before launching:
ATOMCODE_REQUEST_USER_INPUT=0 atomcode
Any of 0, false, off, or an empty value disables it; unset (or any other value) leaves it on. When disabled, the agent never asks — it always proceeds with its best judgment.
In Bypass / 免审批 mode the panel is skipped automatically and the agent proceeds without waiting. Build, Plan, and Accept Edits modes all show the question as normal.
Related
- Permissions & Approvals — the separate permission-gate system
- Web UI — approval modes and the browser experience
- Configuration — environment variables and settings