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?

  1. A tools/call triggers a server-originated elicitation/create.
  2. Codex displays the elicitation form.
  3. The user approves the action through an external dashboard or upstream decides to abort.
  4. The MCP server sends notifications/cancelled with requestId exactly matching the pending elicitation/create JSON-RPC string ID.
  5. 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.

View original on GitHub ↗