Elicitation fails with NoContent error when client sends empty content on Accept

Resolved 💬 1 comment Opened Jan 11, 2026 by erenatas Closed Jan 15, 2026

What version of Codex is running?

codex-cli 0.80.0

What subscription do you have?

Enterprise

Which model were you using?

gpt-5.2-codex medium

What platform is your computer?

Darwin 25.3.0 arm64 arm

What issue are you seeing?

When using MCP elicitation with clients like OpenAI Codex, the elicitation fails with NoContent error even when the user accepts the request.

The client (Codex) sends content: None in the CreateElicitationResult response when the user accepts:

ElicitationResponse {
    action: ElicitationAction::Accept,
    content: None,  // ← Bug: should contain the requested schema data
}

This is a known issue in Codex (PR #6947 comment):

"When the user accepts an elicitation request we still build the response with content: None, so the MCP server never receives the data it asked for via requested_schema."

Expected Behavior:

When a tool requests elicitation with a schema like:

context.peer.elicit::<SubApproval>("Do you approve?").await

And the user accepts, the client should populate content with the schema data:

{ "approved": true }

Actual Behavior

Client sends content: None → server gets NoContent error → tool fails.

What steps can reproduce the bug?

  • Create tool with elicitation:
context.peer.elicit::<SubApproval>("Approve?").await
  • Call tool from Codex
  • Accept the elicitation prompt
  • Observe: elicitation_failed: NoContent error

What is the expected behavior?

When a tool requests elicitation with a schema like:

context.peer.elicit::<SubApproval>("Do you approve?").await

And the user accepts, the client should populate content with the schema data:

{ "approved": true }

Additional information

_No response_

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗