# OpenAI’s Codex client exposes a GenUI layer for refreshable interfaces inside conversations

Reverse engineering of OpenAI’s signed Codex Windows client has exposed an undocumented GenUI delivery layer, including a refreshable widget endpoint and hundreds of bundled Learning Block manifests. Public OpenAI material independently confirms interactive visualizations and GenUI-based chart rendering, but not a public developer platform.

RuntimeWire found a generic `genui` message path, a server-directed widget refresh endpoint and 467 versioned Learning Block manifests inside OpenAI’s Codex desktop client. The material development is not another visualization feature: it is evidence of a reusable interface layer beneath conversational answers, with important limits around what is actually public or enabled.

- Status: Active
- Published: 2026-08-27T16:46:30+12:00
- Updated: 2026-08-27T16:46:30+12:00
- Categories: Artificial Intelligence, Web Development, AI Agents, Developer Tools
- Tags: ChatGPT, Codex, generative UI, OpenAI
- Canonical HTML: https://beyondthe.news/dossiers/openai-codex-genui-refreshable-conversation-interfaces-learning-blocks

## 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.

## Key details

- RuntimeWire examined signed Codex Windows package `OpenAI.Codex_26.820.7780.0_x64__2p2nqsd0c76g0`.
- The client contains a generic `genui` message type and an authenticated widget-refresh endpoint.
- The associated client operation is named `refreshGenUiWidget`.
- RuntimeWire recovered 467 unique versioned Learning Block manifests from the bundled client assets.
- 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.
- OpenAI publicly documents interactive learning modules and visualizations in ChatGPT.
- OpenAI’s published data-analysis instructions reference a `charts_widget_v2` renderer delivered through a `genui` content reference.
- There is no demonstrated public GenUI SDK, third-party widget registry or guarantee that all recovered modules are active.

## Builder takeaways

- Treat conversational UI as an emerging application surface, but do not build against OpenAI’s undocumented internal GenUI paths; they can change without notice.
- 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.
- 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.
- Watch for an official developer contract before assuming third-party applications will be able to register custom widgets inside ChatGPT.
- When evaluating reverse-engineered findings, distinguish directly reproducible client behavior from server-side routing or rollout claims that the package cannot establish.

## What to watch

- 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.

## Uncertainties

- 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

- [OpenAI is building an interface platform inside ChatGPT](https://runtimewire.com/article/openai-is-building-an-interface-platform-inside-chatgpt) — RuntimeWire · specialist/independent · 2026-08-26T00:00:00+12:00. Original reproducible reverse-engineering investigation establishing the GenUI refresh path, Learning Block registry, tested package version and limits of the evidence.
- [ChatGPT Release Notes — Interactive learning for math and science](https://help.openai.com/en/articles/6825453-chatgpt-release-notes) — OpenAI · primary · 2026-03-10T00:00:00+13:00. Public confirmation that ChatGPT ships interactive visual learning modules rather than text-only explanations.
- [Data analytics skill index](https://github.com/openai/role-specific-plugins/blob/main/plugins/data-analytics/skills/index/SKILL.md) — OpenAI / GitHub · primary. Public OpenAI instructions referenced by RuntimeWire that use a `charts_widget_v2` renderer through a GenUI content reference.

