Codex Desktop does not dismiss server-originated MCP elicitation after notifications/cancelled
Open 💬 0 comments Opened Aug 24, 2026 by heaven
What version of the Codex App are you using (From “About Codex” dialog)?
codex-mcp-client/0.149.0-alpha.4.3
What subscription do you have?
A valid one
What platform is your computer?
MacOS 26.5.2
What issue are you seeing?
Environment
- Codex MCP client: codex-mcp-client/0.149.0-alpha.4.3
- MCP protocol: 2025-06-18
- Transport: Streamable HTTP
Upstream is unable to cancel created elicitation by sending a cancel notification.
- The elicitation remains open.
- The completed tool result is not surfaced.
- Manually clicking Cancel dismisses the stale form and immediately reveals the already-completed result.
What steps can reproduce the bug?
- A tools/call triggers a server-originated elicitation/create.
- Codex displays the elicitation form.
- The user approves the action through an external dashboard or upstream decides to abort.
- The MCP server sends notifications/cancelled with requestId exactly matching the pending elicitation/create JSON-RPC string ID.
- The server continues execution and returns the tools/call result.
What is the expected behavior?
- Codex dismisses the cancelled elicitation.
- The parent tool call continues and displays its result.
Additional information
- The same server behavior dismisses the elicitation correctly in Claude Code.
- Normal upstream elicitation submission works correctly in Codex, the issue happens only when upstream decided to withdraw the elicitation request by sending a cancellation.
- Logged frames indicate that requestID matches the ID in the elicitation/create frame.