Round 10 ported main's option-driven approval buttons, but v2 runtime requests had no way to deliver the data — every approval rendered the default button set, MCP app names never showed, and worse, the Codex app-server's mcpServer/elicitation/request went entirely unhandled on the v2 adapter, so ChatGPT-app access requests could never be answered. The v2 approval_request turn item now carries optional appName and options, the client derivation passes them into ThreadPendingApproval, and CodexAdapterV2 handles mcpServer/elicitation/request end to end: unsupported shapes decline immediately (mirroring the v1 runtime), and supported ones surface a mcp-elicitation approval built from the shared describeMcpElicitation/toMcpElicitationResponse helpers, so the persist tiers (session / always) advertise exactly the choices the elicitation can express. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Julius Marminge committed on 8/29/2026, 6:02:34 AMparent565d682
3 files changedLine totals unavailable