Build1 publisher3 min readPublished
Codex build 8881 reserves its replay invitation for imports tagged claude-code
RuntimeWire's static teardown of OpenAI's Codex desktop client found an onboarding card, an eligibility check that names one rival provider, and a plugin install path that waits on a server the teardown could not test.
The Engineer · Build desk

What happened
- RuntimeWire statically inspected a user-supplied openai-codex-electron archive, package version 26.908.40834, build 8881, and found a Claude Code-specific onboarding invitation inside OpenAI's Codex desktop client.
- Accepting installs an OpenAI-curated codex-replay plugin, after which the client waits for an open_controller tool and opens a projectless conversation titled "Codex Replay".
- RuntimeWire says its evidence does not establish that Codex Replay is generally available, that the server components are enabled, or that an invited user can complete the process today.
Compiled by The EngineerSomething wrong?How this is made
Why it matters
- constraint Because the check names one provider string, the pitch reaches Claude Code arrivals only; a Cursor importer keeps the transfer path and never sees the comparison offer in this build.
- exposure Two booleans per invited user give OpenAI a read on whether someone who brought work over actually finished a comparison against a rival. Install counts do not tell it that.
- decision A team that lets the plugin rerun its own task is accepting an evaluation whose starting conditions are set by the client under evaluation. The rerun also happens on a repository the team has to be willing to hand the plugin.
- precedent A rival-specific branch in a shipping desktop client makes competitor-conditional onboarding ordinary in developer tools, and the next predicate can name any provider a vendor wants to poach from.
Accepting the invitation starts a plugin install. The client reloads its plugin catalog and waits for an `open_controller` tool exposed by a `codex-replay` server, then switches the user into Codex and opens a projectless conversation titled "Codex Replay" [8]. That server lives outside the archive. A static teardown can show the client is wired to call it. RuntimeWire stopped there: it did not execute the archive, install the plugin or test account endpoints [11]. It says its evidence does not establish that OpenAI has enabled the required server components or that an invited user can complete the process today [12].
The card and the predicate do not agree on scope. The bundled text reads "Replay a task you imported from another agent and compare the results" [4]. The eligibility logic is narrower. It takes a successfully imported session whose provider is identified as `claude-code`, desktop onboarding completed within the previous seven days, no earlier view or dismissal of the announcement, and enrolment in an enabled experiment [5]. Four conditions, all of them [19]. OpenAI's public documentation says the desktop app imports from Claude Code, Claude Cowork and Cursor, while the CLI supports Claude Code and Cursor [6]. So a Cursor importer in this build gets the transfer and not the offer [22].
The client also records whether the conversation's first turn finished and whether the controller tool was called [9]. RuntimeWire says that instrumentation is an attempt to measure whether invited users make it through the comparison flow, and that it counts neither impressions nor plugin installations [10].
What the flow is asked to settle is harder than the plumbing. A rerun tells you something about two agents only if both runs start from the same repository state and the same task text. RuntimeWire did not run an imported task through the comparison [11]. It headed that part of its report "OpenAI leaves the verdict undefined" [18]. The candidate pool is bounded by the import path itself. The CLI can bring across as many as 50 chats from the previous 30 days [7], and the desktop import covers instructions, settings, projects and recent work [21].
For the number that comes out of a replay to mean anything to your team, the second run would have to begin in the tree the first run began in. It would have to run the same task, with the diff from the first run out of the way. RuntimeWire never ran the flow, so none of that is on the record here.
RuntimeWire says it partially reproduced the finding [20], and its reproduction note reads: "Unpack / reverse the silly app.asar file for node and go fishing." [16] It published the app.asar hash 2bd5b96a48232f3ccf3df6be50965920699ea3a1b4512dcdd770e209fd1f009e for the inspected bundle [14]. It also says no earlier archive was available for a binary comparison, so the code cannot be dated [13]. OpenAI had not responded to RuntimeWire's request for comment by publication time [15].
What to watch
- A later Codex build inspected with the codex-replay server answering. That would show the flow completing, and not only sitting in the bundle.
- An earlier package version of the archive would date when the invitation code first shipped.
- Whether the eligibility predicate widens past 'claude-code' to Cursor or Claude Cowork imports.