Key details

  1. RuntimeWire examined signed Codex Windows package `OpenAI.Codex_26.820.7780.0_x64__2p2nqsd0c76g0`.
  2. The client contains a generic `genui` message type and an authenticated widget-refresh endpoint.
  3. The associated client operation is named `refreshGenUiWidget`.
  4. RuntimeWire recovered 467 unique versioned Learning Block manifests from the bundled client assets.
  5. The client identifies Learning Blocks with a GenUI-specific render source, supporting the interpretation that they are one module family on a broader interface layer.
  6. OpenAI publicly documents interactive learning modules and visualizations in ChatGPT.
  7. OpenAI’s published data-analysis instructions reference a `charts_widget_v2` renderer delivered through a `genui` content reference.
  8. There is no demonstrated public GenUI SDK, third-party widget registry or guarantee that all recovered modules are active.

What builders should take away

  1. Treat conversational UI as an emerging application surface, but do not build against OpenAI’s undocumented internal GenUI paths; they can change without notice.
  2. If your product depends on agents interacting with rich interfaces, separate your business logic from any one client renderer so you can adopt structured UI surfaces later without rewriting the backend.
  3. Do not confuse GenUI with WebMCP: WebMCP exposes website actions to agents, while this GenUI evidence concerns interfaces delivered by the AI client inside a conversation.
  4. Watch for an official developer contract before assuming third-party applications will be able to register custom widgets inside ChatGPT.
  5. When evaluating reverse-engineered findings, distinguish directly reproducible client behavior from server-side routing or rollout claims that the package cannot establish.

What changed

On August 26, 2026, RuntimeWire published a reproducible reverse-engineering investigation of OpenAI’s signed Codex Windows client. The package contains a generic `genui` message type, an authenticated `/conversation/{conversation_id}/message/{message_id}/genui/refresh_widget` path and a `refreshGenUiWidget` client operation. RuntimeWire also extracted 467 unique versioned manifests for bundled interactive modules labeled Learning Blocks. OpenAI’s public ChatGPT material already documents interactive visualizations, and OpenAI’s published data-analysis instructions reference `charts_widget_v2` delivered through a `genui` content reference, independently corroborating that GenUI is used as a broader rendering path. OpenAI has not announced a public GenUI SDK or third-party widget registry, and the recovered client does not establish that all bundled Learning Blocks are active.

Why it matters

For builders, the significant change is evidence that OpenAI is treating conversational output as more than streamed text and static media. A reusable interface layer can let the server select a task-specific client module, supply structured state and refresh that interface without replacing the whole answer. That points toward richer agent and application workflows inside ChatGPT-like surfaces, where calculators, charts, simulations or guided procedures behave more like embedded software than generated prose. It also raises a distribution question: the recovered architecture is first-party and closed, so there is currently no demonstrated equivalent path for outside developers to register arbitrary GenUI widgets.

The strongest evidence is the generic refresh path

RuntimeWire traced a generic `genui` content type through OpenAI’s Codex client to an authenticated widget-refresh endpoint and a `refreshGenUiWidget` operation. The client can request updated widget state while an interface is incomplete and stop after completion. That is stronger evidence of a reusable interface-delivery layer than the presence of any single visualization component.

Learning Blocks are one large first-party module family

The signed client contains a dedicated Learning Block runtime and 467 unique type-and-version manifests recovered by RuntimeWire. The catalog spans academic visualizations and practical procedures, with metadata for rendering, controls, captions, examples and state. Their presence shows substantial client-side implementation, but does not prove that every module is enabled, validated or intended for public release.

Public OpenAI material corroborates parts of the plumbing

OpenAI publicly documents interactive learning modules and visualizations in ChatGPT. Its published data-analysis skill instructions also refer to `charts_widget_v2` being delivered through a live `genui` content reference. Those public surfaces corroborate the existence of GenUI-style structured rendering, while RuntimeWire’s reverse engineering adds the undocumented refresh mechanics and Learning Block registry.

This is distinct from WebMCP

BTN already covers WebMCP, where websites expose structured actions to browser agents. GenUI addresses the other direction: the AI client receives structured interface objects and renders interactive software inside the conversation. A future product could combine both ideas, but they are separate integration layers and separate underlying developments.

The developer opportunity is still speculative

The recovered client does not expose a public GenUI SDK, marketplace or registration mechanism for third-party widgets. OpenAI may keep the layer internal, selectively expose it through product integrations or later turn it into a developer surface. Builders should distinguish the confirmed client architecture from speculation about a future platform.

What to watch next

  • Whether OpenAI publicly documents GenUI or exposes a supported developer API for interactive conversation interfaces.
  • Whether third-party developers gain any mechanism to register or ship widgets rather than only consuming first-party modules.
  • Which of the recovered Learning Blocks become visibly available to users across ChatGPT web, desktop and mobile.
  • Whether the widget-refresh mechanism expands to plugins, apps or agent-produced interfaces with persistent state.
  • OpenAI response or documentation that clarifies the relationship between Visualizations, Learning Blocks and the broader GenUI path.

Still unclear

  • RuntimeWire’s findings are based on client reverse engineering rather than an OpenAI announcement.
  • The client does not establish which of the 467 Learning Block manifests are enabled in production.
  • It is not known what server-side component chooses a widget or Learning Block.
  • The recovered architecture does not establish a public developer platform, SDK or marketplace.
  • OpenAI had not responded to RuntimeWire before publication.

Sources

Direct reading behind this dossier.

3 sources
Data analytics skill index
OpenAI / GitHub primary

Public OpenAI instructions referenced by RuntimeWire that use a `charts_widget_v2` renderer through a GenUI content reference.