Back to feed

b-nnett/codex-plusplus

b-nnett/codex-plusplus
894
+40/day
43
TypeScript

Codex++ tweak system for the Codex desktop app

From the README

codex-plusplus

Join the Discord

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:

  1. Locates your Codex.app (/Applications/Codex.app, %LOCALAPPDATA%/codex/..., etc.).
  2. Backs it up to ~/.codex-plusplus/backup/.
  3. Patches app.asar to require our loader.
  4. Recomputes the asar header SHA-256 and writes it into Info.plist (ElectronAsarIntegrity).
  5. Flips EnableEmbeddedAsarIntegrityValidation in the Electron Framework binary as a belt-and-suspenders.
  6. Re-signs the app ad-hoc on macOS (codesign --force --deep --sign -).
  7. Installs a launch agent / login item that detects app updates and re-runs repair --quiet.
  8. Installs the default tweak set from their latest GitHub releases unless --no-default-tweaks is 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