Found while deleting the dead host block for #691, and it is not caused by that
deletion — the deletion revealed it.
install.ps1:1061 & $dest plugin install-codex ← reached
install.sh wire_codex_plugin { … install-codex }
called only from wire_codex, which nothing calls
On main today, install.sh contains the Codex plugin step and never runs it.
install.ps1 runs it. The two platform installers have been doing different
things, and the shell's copy looked like evidence that they were not.
test/agent-configs.test.ts asserted the string is present in both files, which
passed — presence, not reachability. The same shape as #689: an assertion that
could not fail.
What this means for a user
A Windows install wires the Codex plugin. A macOS or Linux install does not,
unless something else does it. Whether that gap matters depends on what the
Codex plugin provides that the MCP registration does not — the shell does
write Codex's MCP config, so this is about the plugin layer specifically.
Not fixed here
#691 removes the unreachable code rather than making it reachable, because
making it reachable is a behaviour change to the shell installer and deserves its
own decision: either the shell should install the plugin (and be tested for it),
or the Windows installer should stop, and the two should be said to agree
deliberately rather than by accident.
Recording it rather than choosing, since the choice needs to know what the Codex
plugin does for a user that its MCP registration alone does not.
Found while deleting the dead host block for #691, and it is not caused by that
deletion — the deletion revealed it.
On
maintoday,install.shcontains the Codex plugin step and never runs it.install.ps1runs it. The two platform installers have been doing differentthings, and the shell's copy looked like evidence that they were not.
test/agent-configs.test.tsasserted the string is present in both files, whichpassed — presence, not reachability. The same shape as #689: an assertion that
could not fail.
What this means for a user
A Windows install wires the Codex plugin. A macOS or Linux install does not,
unless something else does it. Whether that gap matters depends on what the
Codex plugin provides that the MCP registration does not — the shell does
write Codex's MCP config, so this is about the plugin layer specifically.
Not fixed here
#691 removes the unreachable code rather than making it reachable, because
making it reachable is a behaviour change to the shell installer and deserves its
own decision: either the shell should install the plugin (and be tested for it),
or the Windows installer should stop, and the two should be said to agree
deliberately rather than by accident.
Recording it rather than choosing, since the choice needs to know what the Codex
plugin does for a user that its MCP registration alone does not.