Skip to content

Improve request_user_input elicitation forms#299

Open
OldKrab wants to merge 4 commits into
agentclientprotocol:mainfrom
OldKrab:shushakov/fix-request-user-input-elicitation-structure
Open

Improve request_user_input elicitation forms#299
OldKrab wants to merge 4 commits into
agentclientprotocol:mainfrom
OldKrab:shushakov/fix-request-user-input-elicitation-structure

Conversation

@OldKrab

@OldKrab OldKrab commented Jul 14, 2026

Copy link
Copy Markdown

Summary

Update the ACP form emitted for Codex request_user_input and align its custom-answer behavior with the native Codex CLI.

ACP request structure

For each question:

  • Use the full question as the property title.
  • Use the short header as the property description.
  • Include the primary property in the schema required array.
  • Omit empty option descriptions.

For questions where isOther is true and the options list is non-empty:

  • Add None of the above to oneOf, matching the option that Codex CLI adds under the same condition.
  • Replace the optional <question_id>__other property with <question_id>_note. The note is modeled as additional input associated with the selected option rather than as a replacement for that option.
  • Mark the note property with _meta.codex.role: user_note instead of isOtherAnswer: true.

The top-level elicitation message is now the stable Codex needs your input to continue. text.

ACP response mapping

Codex CLI preserves the selected option and appends a non-empty note as a separate user_note: <text> answer. This adapter now returns the ACP form response in that same Codex-compatible shape instead of replacing the selected option with the custom text.

For example, selecting None of the above and entering a custom answer produces:

{
  "answers": {
    "<question_id>": {
      "answers": [
        "None of the above",
        "user_note: <custom answer>"
      ]
    }
  }
}

The <question_id>_note property is the ACP form representation used to collect the note. The None of the above option and the returned selection-plus-note answer list mirror Codex CLI behavior.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant