openai / openai/codex

Support blocking structured questions in Codex’s default mode

Open
#44,833 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app enhancement tool-calls
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What variant of Codex are you using?

Codex desktop app on macOS, Default mode.

What feature would you like to see?

Codex should provide a structured question tool in Default mode that presents selectable options and waits for the user's answer before continuing dependent work.

In this session, request_user_input is restricted to Plan mode. request_user_input_async provides selectable options and free-text input, but returns immediately, leaving the agent responsible for waiting when an answer is required. Plain-text questions work, but make decisions less explicit when the conversation also includes feedback on proposed wording or actions.

A useful example is a PR review. After presenting a proposed comment, the agent should be able to show “Post this review,” “Revise the wording,” and “Keep it unposted,” then pause until the user selects an option or provides a clear alternative.

Expected behavior: the structured question is available without switching to Plan mode, no option is submitted automatically, and the tool returns the user's explicit answer before the agent proceeds. The user should also be able to cancel or continue discussing the proposal without that being treated as approval.

This would make review and approval workflows clearer. It would complement, rather than replace, the agent's responsibility to obtain explicit authorization before taking external actions.

Additional information

Related requests: #43759, #37472, and #29104. This report adds the Default-mode request_user_input_async case and a concrete PR-review approval workflow. Please consolidate with an existing request if appropriate.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing request_user_input and request_user_input_async behavior, focusing on the difference between Plan mode and Default mode. Compare the related requests (#43759, #37472, and #29104), then define the approval flow so selectable answers, cancellation, discussion, and explicit waiting are handled without automatic submission.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.