Feature request: allow request_user_input in Default mode

We use custom skills to run staged workflows in Codex, for example:

intent.md → spec.md → review/approve ->plan.md → build → review

At each stage, the skill needs to ask a small structured question or present an approval gate. Currently, request_user_input is available only in Plan mode. This creates a conflict between two separate workflows:

  1. I enter Plan mode only to access the structured question UI.
  2. The skill drafts intent.md and asks me to approve it.
  3. After approval, Codex’s built-in Plan mode starts producing an implementation plan.
  4. The skill’s workflow actually requires spec.md next, with its own plan.md stage later.

The result is two competing planning lifecycles. It feels like taking two steps forward and one step back, and Codex can lose track of which artifact should come next.

Claude can display equivalent structured questions during normal execution, without entering a separate planning mode. That makes iterative, gated workflows much smoother.

Requested change

  • Make request_user_input available in Default mode.
  • Treat structured questions as a mode-independent UI capability.
  • Calling it should pause for the user’s response without starting or approving Codex’s built-in Plan-mode lifecycle.
  • Keep existing Plan-mode behavior for users who explicitly want Codex to produce an implementation plan.

Why this matters

Structured choices are useful beyond upfront planning. Skills need them for:

  • requirements interviews;
  • artifact approval gates;
  • design tradeoffs;
  • migration decisions;
  • review findings;
  • other multi-stage workflows.

Ideally, the active collaboration mode should control Codex’s overall behavior, while request_user_input only controls how a question is presented.

This can be enabled in Codex cli, though it’s broken with Astra (Astra just prints the question in its output; but e.g. Luna does the tool call correctly). That is a shame because encouraging the model to ask me questions has been one of the biggest improvements I’ve discovered for how I use agents. I actually switched to omp cli for some tasks so that Astra could ask questions.

For models other than Astra, set this in ~/.codex/config.toml:

[features]
default_mode_request_user_input = true

And disable the warning (place at top of file, not under [features]):

suppress_unstable_features_warning = true