Skip to content

feat: show async Codex questions as elicitations - #707

Merged
EugeneTheDev merged 3 commits into
mainfrom
eugenethedev/async-elicitation-fix
Oct 29, 2026
Merged

EugeneTheDev merged 3 commits into
mainfrom
eugenethedev/async-elicitation-fix

Conversation

@EugeneTheDev

@EugeneTheDev EugeneTheDev commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Codex's request_user_input_async tool asks questions without waiting: it emits an agentMessage with delivery: "async" and questions, and the turn continues. The adapter dropped these messages, so Air showed nothing and the agent went on with its defaults (IJAI-4999).

Fix

  • Show agent messages that arrive whole, without deltas, so the question text appears live.
  • Send async questions as a non-blocking form elicitation. On ACP v2 the session state stays running while the form is open.
  • Steer an accepted answer into the turn that asked, in the reply envelope Codex clients use. Declining or cancelling sends nothing.
  • Cancel open elicitations with $/cancel_request when their turn ends, the session closes or the app-server is lost.
  • Drop an answer that arrives after its turn ended, as the Codex TUI does, and send a warning notice where the client supports notices.
  • On replay, show a stored answer as the quoted question followed by the answer, instead of the raw envelope.

Behaviour is documented in docs/async-questions.md. Tests cover ACP v1 and v2.

@EugeneTheDev
EugeneTheDev marked this pull request as ready for review October 29, 2026 18:03
@EugeneTheDev
EugeneTheDev merged commit cc57c7e into main Oct 29, 2026
6 checks passed
@EugeneTheDev
EugeneTheDev deleted the eugenethedev/async-elicitation-fix branch October 29, 2026 18:09
mrmans0n added a commit to mrmans0n/codex-acp that referenced this pull request Nov 1, 2026
EugeneTheDev pushed a commit that referenced this pull request Nov 8, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.6.0](v2.5.0...v2.6.0)
(2026-11-06)


### Features

* expose configured permission profiles as modes
([#395](#395))
([caf2e87](caf2e87))
* predict the follow-up prompt with thread/sample on the session thread
([#740](#740))
([f9cb470](f9cb470))
* show async Codex questions as elicitations
([#707](#707))
([cc57c7e](cc57c7e))
* update ACP SDK to 2.4 and align protocol behavior
([#727](#727))
([ab513aa](ab513aa))


### Bug Fixes

* clear stale entity metadata during ACP v2 replay
([#716](#716))
([580d8b9](580d8b9))
* defer startup interactions until session setup is delivered
([#714](#714))
([ad993bb](ad993bb))
* fence turn interrupt retries to the original prompt
([#723](#723))
([9c33f86](9c33f86))
* match vendor-prefixed gateway model ids such as OpenRouter's
([#731](#731))
([29195ec](29195ec))
* preserve sibling session metadata namespace fields
([#718](#718))
([3720341](3720341))
* publish complete configuration updates for session changes
([#715](#715))
([b7ac0bf](b7ac0bf))
* release the prompt suggestion thread and keep it minimal
([#709](#709))
([82ad58f](82ad58f))
* report verified standard subagent directories
([#722](#722))
([7d7e95a](7d7e95a))
* resynchronize current session metadata on ACP v2 resume
([#717](#717))
([927c480](927c480))
* scope authentication cancellation and initial status delivery
([#720](#720))
([e059ab7](e059ab7))
* show commands in Zed approval prompts
([#735](#735))
([cca2dca](cca2dca))
* skip the app-server restart when providers/set repeats the applied
config
([#728](#728))
([3b35338](3b35338))
* start the Codex app-server with the provider of the gateway routing
([#733](#733))
([cbcd446](cbcd446))
* suppress session messages after close
([#712](#712))
([85bf932](85bf932))
* synchronize resumed titles and reset replayed message metadata
([#713](#713))
([ef45a6d](ef45a6d))
* tear down session interactions and background processes on close
([#711](#711))
([1e89efa](1e89efa))
* update ACP SDK to 2.2 and align protocol behavior
([#710](#710))
([6f96fbe](6f96fbe))
* update codex to 0.166.0
([#734](#734))
([e53f23e](e53f23e))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: acp-release-bot[bot] <246668977+acp-release-bot[bot]@users.noreply.github.com>
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