Skip to content

Optional OpenAI Codex CLI (INSTALL_CODEX, off by default) - #8

Merged
oz6un merged 1 commit into
mainfrom
feat/optional-codex
Jul 14, 2026
Merged

Optional OpenAI Codex CLI (INSTALL_CODEX, off by default)#8
oz6un merged 1 commit into
mainfrom
feat/optional-codex

Conversation

@oz6un

@oz6un oz6un commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Why

Codex CLI pairs naturally with the box next to Claude Code. Adding it to the recipe keeps repo/live parity, but forcing a second provider's CLI on everyone who clones a Claude-Code-branded repo would be presumptuous — so it's opt-in.

What

INSTALL_CODEX in secrets.env (empty/0 by default). When set, setup-user stages a normalized 0/1 flag and remote-setup installs @openai/codex (npm) + bubblewrap (its Linux sandbox), both guarded for idempotency. Auth remains a one-time codex login (device flow), documented in the README auth table. Default-off: a fresh clone installs nothing extra.

Verified

make check green. Adversarial refute pass over all surfaces found nothing (fails safe: missing/empty flag → skip; failed install → WARN, never aborts the health-timer/git steps that follow). Fresh-install path proven live — uninstalled codex on the box, re-ran setup with INSTALL_CODEX=1, it reinstalled and a real codex exec turn confirmed auth intact.

🤖 Generated with Claude Code

Adds an opt-in so rebuilds can install Codex CLI alongside Claude Code without
changing the repo's Claude-Code-first identity. INSTALL_CODEX (secrets.env,
empty/0 by default) → setup-user stages a normalized 0/1 flag → remote-setup
installs @openai/codex (npm, npm already on PATH from the node section) plus
bubblewrap (its Linux sandbox), both guarded for idempotency. Auth stays a
separate one-time 'codex login' (documented in the README auth table).

Adversarial review refuted all six attack surfaces (npm-on-PATH, case-redirect
fail-direction, set -e OR-chain safety, staged-file shipping, default-off,
residue); fresh-install path verified live by uninstalling codex and re-running
setup (reinstalled + auth intact + real turn).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@oz6un
oz6un merged commit b706dec into main Jul 14, 2026
1 check passed
@oz6un
oz6un deleted the feat/optional-codex branch July 14, 2026 03:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant