b-nnett/codex-plusplus
b-nnett/codex-plusplusCodex++ tweak system for the Codex desktop app
From the README
codex-plusplus
A tweak system for the Codex desktop app. Inject custom features, fix UI bugs, and add a tweak manager — without rebuilding the app.
Status: alpha. The architecture is designed but the installer needs real-device testing on each platform before declaring victory. PRs welcome.
What it does
codex-plusplus patches your local Codex.app installation so a small loader runs on startup. The loader pulls a runtime from your user directory, which discovers and loads tweaks (small ESM modules with a manifest + start/stop lifecycle). The runtime injects a "Tweaks" tab into Codex's settings UI so you can enable, disable, and configure tweaks in-app.
Everything beyond the one-time install patch lives outside the app bundle, so iterating on tweaks is just save-and-reload.
Install
Homebrew:
brew install b-nnett/codex-plusplus/codexplusplus
codexplusplus install
Bun:
bun install -g github:b-nnett/codex-plusplus
codexplusplus install
Source bootstrap (macOS / Linux):
curl -fsSL | bash
Windows PowerShell:
irm | iex
That's it. The installer:
- Locates your Codex.app (
/Applications/Codex.app,%LOCALAPPDATA%/codex/..., etc.). - Backs it up to
~/.codex-plusplus/backup/. - Patches
app.asarto require our loader. - Recomputes the asar header SHA-256 and writes it into
Info.plist(ElectronAsarIntegrity). - Flips
EnableEmbeddedAsarIntegrityValidationin the Electron Framework binary as a belt-and-suspenders. - Re-signs the app ad-hoc on macOS (
codesign --force --deep --sign -). - Installs a launch agent / login item that detects app updates and re-runs
repair --quiet. - Installs the default tweak set from their latest GitHub releases unless
--no-default-tweaksis passed.
The watcher also runs daily through the GitHub-installed local CLI. If Codex is already patched but a newer Codex++ CLI/runtime has been installed, repair refreshes the runtime in your user directory without replacing tweak code. You can turn this off from Settings → Codex Plus Plus → Config.
After source-bootstrap install, the installer adds codexplusplus and codex-plusplus
to a writable PATH directory when possible. Use codexplusplus for day-to-day commands:
codexplusplus status
codexplusplus repair
codexplusplus update
codexplusplus update downloads the latest Codex++ source, rebuilds it, and runs
repair. If the command is not on PATH yet, rerun the source bootstrap once.
To revert:
codexplusplus uninstall
Other commands: status, doctor, repair, tweaks list, tweaks open (opens user tweaks dir).
Updating Codex on macOS
Codex++ modifies and ad-hoc signs Codex.app, so Sparkle cannot safely install an
official Codex update while the app is patched. Use:
codexplusplus update-codex
This restores a Developer ID signed Codex.app for the official updater. After Codex updates and