Releases: b-nnett/codex-plusplus
Codex++ 1.0.0
Codex++ 1.0.0 is the first stable release for the local tweak/runtime layer.
Highlights:
- Cleaner patch and re-patch flow for modern Codex app updates, including restart/reopen handling and refreshed unpatched backups.
- New debug command:
codexplusplus debugshows Codex install path, runtime type, data paths, open state, and bridge status. - Owl runtime detection and native macOS bridge groundwork for OS-level tweak capabilities.
- Multi-file tweak authoring docs covering the SDK, manifest, lifecycle, UI/DOM, native bridge, and distribution.
- Removed default tweak install logic so 1.0.0 starts clean.
- Fixed Settings sidebar injection so Codex++ nav does not get stuck in the main Codex sidebar.
- Hardened Windows uninstall cleanup for watcher tasks, watcher scripts, and leftover watcher processes.
- Added
codexplusplus uninstall --purgefor a full Codex++ user-data reset.
Verification:
npm run buildnpm testpasses 143/143npm audit --workspaces --include-workspace-rootreports 0 vulnerabilities.
Codex++ 0.1.7
Codex++ 0.1.7
Codex++ 0.1.7 is a compatibility and release-hardening update for current Codex Desktop builds. It restores Settings sidebar injection on the latest Windows Settings UI, makes the main-process hook patcher more resilient to Codex minification changes, improves failure output for future installer issues, and makes extension updates easier to see from Settings.
Highlights
- Fixed Settings sidebar detection for current Codex Desktop by scoring known Settings navigation labels instead of requiring the old
Back to applabel. - Fixed the Codex window-services patch for builds whose service factory object properties are reordered, quoted, or emitted with extra whitespace.
- Added detailed window-services patch diagnostics: candidate files scanned, byte size, existing marker state, object factory counts,
buildFlavorcounts, matched service fingerprints, parser errors, and nearby source snippets. - Broadened Vite main-bundle candidate discovery to include
main.js,main-*.js, andmain.*.js. - Removed Codex startup/composer performance patching from the installer.
- Improved self-update command failures by including captured stdout and stderr tails for dependency install, build, and repair steps.
- Made local macOS signing identity export/import use a generated PKCS#12 password and redact that secret from command failure messages.
- Added
codexplusplus install --localandcodexplusplus repair --localas an opt-in stable local macOS signing path. Ad-hoc signing remains the default to avoid Keychain identity prompts. - Added a solid blue Update pill in the Codex++ Settings sidebar that opens the GitHub Releases page.
- Added a Tweak Store sidebar badge showing how many installed tweaks have newer approved versions.
- Cleaned up Windows uninstall by removing Codex++ Explorer context-menu entries.
- Improved runtime cleanup after older sudo/elevated installs and made temporary asar cleanup retry before falling back to best-effort removal.
For Windows Users
This release targets the Codex Windows build family that reported:
Codex window services hook point not found
Platform: win32
Arch: x64
Node: v26.0.0
The installer now handles Codex bundles where minification changes the service factory shape without changing the underlying window-service fields. If a future Codex build still cannot be patched, the failure report now includes enough bundle diagnostics to update the patcher without guessing.
Settings Injection
The Settings injector now recognizes the Settings sidebar using a normalized label score. It accepts platform- and feature-dependent Settings lists such as General, Appearance, Configuration, Personalization, MCP servers, Git, Usage, Browser use, Computer use, Worktrees, Skills, Plugins, and Connections.
This avoids depending on labels that are no longer stable across current Codex Desktop builds.
Install And Update
Homebrew:
brew install b-nnett/codex-plusplus/codexplusplus
codexplusplus installBun:
bun install -g github:b-nnett/codex-plusplus#0.1.7
export PATH="$HOME/.bun/bin:$PATH"
codexplusplus installExisting Codex++ installs can update with:
codexplusplus updateRepair uses ad-hoc signing by default. To explicitly try the stable local signing identity on macOS:
codexplusplus repair --localSafe mode can be exited with:
codexplusplus safe-mode --offVerification
Before cutting 0.1.7, run:
npm test
npm run buildCodex++ 0.1.6
Codex++ 0.1.6
Codex++ 0.1.6 fixes an important settings-injector regression where Codex++ Settings navigation rows could be injected into the slash menu or home command surfaces.
Fixes
- Prevent the Settings injector from treating composer overlays, slash menus, home-main content, command-list rows, and cmdk surfaces as the Settings sidebar.
- Guard Codex++ nav and registered page group syncing so Settings rows cannot be appended to invalid roots.
- Clean up any already-misplaced Codex++ Settings groups on forbidden surfaces.
- Rebuild bundled runtime assets and bump package/runtime versions to 0.1.6.
Verification
- CI passed on PR #44.
- Verified through CDP that typing
/gleaves zero misplaced Codex++ Settings groups and no Tweak Store/settings text in the slash menu body.
Codex++ 0.1.5
Codex++ 0.1.5
Codex++ 0.1.5 is the Tweak Store production release. It adds a reviewed store registry, clearer install/update state in Settings, faster startup patching, and a more reliable recovery path after official Codex app updates.
Highlights
- Added an in-app Tweak Store backed by the live reviewed registry on GitHub Pages.
- Store installs are pinned to approved GitHub commit SHAs and validate downloaded manifests before replacing local tweaks.
- Added store icons for reviewed tweaks and removed screenshot requirements from the review flow.
- Added reviewed store entries for Reasoning & Exploration Fixes, Easy Account Switcher, Context Follow Up, and Disable Escape.
- Randomized served Tweak Store entry order so the registry stays deterministic on disk while the app does not privilege one listing order.
- Added version badges on store cards showing both the installed version and latest approved version.
- Added platform compatibility handling so unsupported tweaks can stay listed without offering installs.
- Updated Bennett's UI Improvements in the reviewed registry to
0.1.5. - Added startup performance patching for Codex 26.429: optimistic startup shell, earlier visible host window creation, deferred warmers, restored eager CSS, and removed the StrictMode renderer wrapper.
- Improved macOS Codex auto-update recovery: the watcher now separates Codex++ self-update from app repair and can open a Terminal repair fallback when macOS blocks background app modification.
For Users
The Tweak Store is available from Settings under the Codex++ section. Store cards now show the current local version beside the latest approved registry version, so updateable tweaks are easier to spot. For example, Bennett's UI Improvements now shows an update from the installed version to latest 0.1.5.
If Codex updates itself and Codex++ needs to reapply the patch, the repair guidance is now simpler. Run:
codexplusplus repairThe background watcher will still try to repair automatically. When macOS refuses to let the LaunchAgent modify /Applications/Codex.app, Codex++ now opens a Terminal repair fallback instead of sending users through App Management instructions first.
For Store Reviewers
Store entries now rely on icons, not screenshot submissions. Each approved tweak remains pinned to a full Git commit SHA in store/index.json, and the runtime installs from that exact approved archive URL.
Bennett's UI Improvements was republished in the registry at:
version: 0.1.5
commit: 05a401e90db8b8ca1a5872ea639cce0624df7f60
Fixed
- Fixed store cards so installed tweaks show
Installed vX - Latest vYin the same row as the install/update action. - Fixed the watcher flow so app repair still runs when Codex++ self-update is already current or fails independently.
- Fixed watcher repair alerts to direct users to Terminal repair, with a one-click Terminal fallback.
- Fixed generated watcher commands so production
.jsCLI runs do not inherit development-only Node exec flags. - Fixed startup patch idempotency for partial installs and older deferred-CSS patches.
Install And Update
Homebrew:
brew install b-nnett/codex-plusplus/codexplusplus
codexplusplus installBun:
bun install -g github:b-nnett/codex-plusplus#0.1.5
export PATH="$HOME/.bun/bin:$PATH"
codexplusplus installExisting Codex++ installs can update with:
codexplusplus updateVerification
Before cutting 0.1.5, the release branch passed:
npm test
npm run buildTest suite: 117 passing.
Local post-repair verification:
current asar: matches patched
plist hash: OK
asar fuse: off
watcher: launchd
Codex++ 0.1.4
Codex++ 0.1.4
Codex++ 0.1.4 is a reliability release focused on clean installs, Windows Store support, and safer automatic repair after Codex updates.
Highlights
- Added Microsoft Store / WindowsApps Codex detection and patch support.
- Fixed Windows install dependency execution by using
npm.cmd. - Fixed Windows Store install repair by mirroring locked app resources into a writable Codex++ managed location.
- Fixed Windows renderer tweak settings and Windows shortcut label matching for Bennett UI Improvements.
- Improved the auto-repair watcher so Codex updates are retried for longer and checked every 5 minutes.
- Kept Codex++ release checks throttled to hourly while allowing repair checks to run more often.
- Made Codex.app settle detection less brittle by checking only patch-critical inputs.
- Added dedicated macOS App Management permission alerts with an Open Settings action.
- Fixed Homebrew command wrappers, self-update executable permissions, and Homebrew reinstall conflicts.
- Added Bun global install support with a first-run bootstrap command.
- Made
codexpluspluswith no arguments show help instead of failing.
Install And Update
Homebrew:
brew install b-nnett/codex-plusplus/codexplusplus
codexplusplus installBun:
bun install -g github:b-nnett/codex-plusplus#0.1.4
export PATH="$HOME/.bun/bin:$PATH"
codexplusplus installExisting Codex++ installs can update with:
codexplusplus updateFor Users
Codex++ now handles more app update edge cases automatically. If Codex updates while macOS blocks writes to /Applications/Codex.app, Codex++ shows a dedicated App Management alert explaining that the app running the repair command needs permission, then asks the user to run:
codexplusplus repairBlank CLI runs now show the command list, which makes first-run Bun installs less confusing.
For Windows Users
0.1.4 adds Microsoft Store Codex install discovery and Store-safe patching. The installer now finds Codex under WindowsApps, mirrors the app into a writable managed location, and keeps the scheduled watcher command short enough for Task Scheduler.
Fixed
- Fixed Bun global installs where the package bin existed before TypeScript output was built.
- Fixed Homebrew formula bins pointing at non-executable generated files.
- Fixed Homebrew installs overwriting Homebrew-managed command links with Codex++ user shims.
- Fixed Homebrew formula tests after Codex++ self-updates the installed source checkout.
- Fixed App Management alert text that could render mojibake arrows in macOS dialogs.
- Fixed watcher fallback repair invocation so it runs explicitly as watcher mode.
Verification
Before cutting 0.1.4, the release branch passed:
npm test
npm run build --workspace codex-plusplusTest suite: 87 passing.
The following install paths were tested locally:
brew install b-nnett/codex-plusplus/codexplusplus
codexplusplus update --ref 0.1.4 --force
codexplusplus install
bun install -g github:b-nnett/codex-plusplus#0.1.4
codexplusplus installCodex++ 0.1.3
Codex++ 0.1.3
Codex++ 0.1.3 is an auto-update and maintenance release. It makes Codex++ refresh itself hourly, improves the Codex update repair flow, and trims local logs so long-running installs stay tidy.
Highlights
- Added hourly Codex++ self-update checks through the watcher.
- Added automatic Codex++ runtime download/build/repair when a newer Codex++ release is available.
- Added restart prompts when Codex is already open and needs to reload a freshly updated Codex++ runtime.
- Made Codex update repair alerts faster and clearer, including Codex-branded restart prompts on macOS.
- Added visible Codex update mode status so users can see when Codex++ is paused for the official Codex updater.
- Added Codex beta app metadata support for watcher health checks and repair state.
- Capped Codex++ runtime, loader, and watcher logs at 10 MB.
- Added GitHub issue links to unexpected CLI failure output.
- Fixed negated installer flags such as
--no-default-tweaks. - Fixed Homebrew install instructions.
- Removed bundled example tweak sources from the Codex++ release package. Default tweaks now come from their own release channels.
Important Upgrade Note
Users already on 0.1.2 should run the bootstrap installer once to move onto 0.1.3:
curl -fsSL https://raw.githubusercontent.com/b-nnett/codex-plusplus/main/install.sh | bashHomebrew users can update with:
brew update
brew upgrade codexplusplus
codexplusplus installAfter 0.1.3 is installed, Codex++ can check for future Codex++ releases hourly and prompt to restart Codex when a downloaded runtime update needs to be applied.
For Users
When Codex itself updates, Codex++ now waits briefly, checks the app state, and repairs the patch automatically when possible. If Codex is already open and still running older app code, Codex++ prompts before quitting and reopening it.
The Codex++ Config page now shows clearer installed-version copy, Markdown-rendered latest release notes, watcher health, and update-mode state.
For Tweak Authors
Example tweaks are no longer bundled in the Codex++ source release. Use the dedicated tweak repositories and release channels for Bennett UI Improvements and Custom Keyboard Shortcuts.
The installer still seeds default tweaks on install unless --no-default-tweaks is passed.
Fixed
- Fixed updater and watcher scheduling so future Codex++ releases are checked hourly.
- Fixed the repair flow to avoid unnecessary re-signing when the patch is already intact.
- Fixed Codex beta metadata detection so beta installs report watcher health correctly.
- Fixed CLI error output so unexpected failures include a prefilled GitHub issue link.
- Fixed log growth by keeping known Codex++ logs at or below 10 MB.
Verification
Before cutting 0.1.3, the release branch passed:
npm test
npm run buildTest suite: 80 passing.
The 0.1.3 self-update path was also tested against a dummy local 0.1.4 release tarball. It downloaded, built, and swapped the source root correctly without publishing a real 0.1.4 release.
Codex++ 0.1.2
Codex++ 0.1.2
Codex++ 0.1.2 is a resilience and tooling release. It fixes the Codex 26.429.20946 startup breakage, makes repair failures visible, and adds the first round of tweak developer tooling.
Highlights
- Fixed the Codex startup failure that could leave the app on
Codex failed to start. MwD is not definedafter Codex26.429.20946. - Reworked the macOS self-repair patcher around a fingerprint-based hook so minified Codex internals are less likely to break Codex++ on future updates.
- Added macOS repair-failure alerts with Dismiss and Report on GitHub actions.
- Added a Codex++ Config page health check for the auto-repair watcher, including a Check Now action.
- Fixed enable and disable behavior for
scope: "main"andscope: "both"tweaks so main-process state starts and stops immediately from Settings. - Added
create-tweak,dev,validate-tweak, andsafe-modecommands for local tweak development and recovery. - Added SDK manifest validation, permission metadata, and optional tweak-provided MCP server declarations.
- Added automatic Codex MCP config sync for enabled tweaks with
manifest.mcp. - Added CI coverage for tests and builds.
For Users
If Codex++ is already installed, update from the repo or your existing install path:
codexplusplus updateIf Codex is already stuck on a startup error, force a repair:
codexplusplus repair --forceRestart Codex after updating so the new runtime, Config page, watcher health check, and alert handling are loaded.
For Tweak Authors
This release adds the first dedicated tweak workflow commands:
codexplusplus create-tweak ./my-tweak
codexplusplus dev ./my-tweak
codexplusplus validate-tweak ./my-tweak
codexplusplus safe-modeTweak manifests can now declare permissions metadata and optional MCP servers. Enabled tweaks with manifest.mcp are synced into Codex's MCP config automatically.
Fixed
- Fixed update repair after Codex changed the minified window-services startup shape in
26.429.20946. - Fixed a malformed injected window-services expression that could produce
MwD is not defined. - Fixed launchd watcher registration so it uses the built CLI entrypoint instead of stale TypeScript source paths.
- Fixed main-process tweak enable/disable behavior from Settings.
Verification
Before cutting 0.1.2, the release branch passed:
npm test
npm run buildTest suite: 72 passing.
Codex++ 0.1.1
Added
- Added a native Codex window bridge for main-scope tweaks.
- Tweaks can now create Codex-registered chat windows for routes such as
/local/<conversation-id>, which enables split-screen chat tweaks to render the real Codex chat UI instead of transcript clones or unregistered BrowserViews. - The installer now exposes Codex's internal window services to the Codex++ runtime during asar patching.
- Added
codexplusplusas the preferred CLI command, while keepingcodex-plusplusas an alias. - Added
codexplusplus update/codexplusplus self-updateto refresh Codex++ from GitHub source, rebuild it, and runrepair. - Added
codexplusplus update-codexfor macOS Sparkle updates. It restores a signed Codex.app before the official updater runs, then lets the watcher reapply Codex++ after Codex restarts. - Added a native Windows PowerShell bootstrap script,
install.ps1. - Added
update.shandupdate.ps1helper scripts for users whose shell does not yet havecodexpluspluson PATH. - Added Homebrew formula scaffolding and Bun/global-install metadata so
codexpluspluscan be installed as a normal command.
Fixed
- Fixed the GitHub source installer failing on clean machines when
npm cirejects an out-of-sync workspace lockfile. - The source installer now installs dependencies with
npm ci --workspaces --include-workspace-root --ignore-scripts. - If the downloaded lockfile is stale, the installer now removes only that temporary lockfile and falls back to
npm install --workspaces --include-workspace-root --ignore-scripts. - Fixed fallback installs missing workspace dependencies such as
electron,chokidar, or@codex-plusplus/sdk. - Fixed Windows install preflight using the macOS-only
Contentsbundle path. - Expanded Windows app discovery to cover common Squirrel and Electron install locations.
- Hardened Windows scheduled-task repair command quoting.
- Improved installer prerequisite and failure messages with human-readable
[!]errors.
Changed
- Source bootstrap installs local CLI shims into a writable PATH directory when possible, so users can run
codexplusplus repair,codexplusplus status, andcodexplusplus updateafter the first install. - macOS installs now preserve a signed Codex.app backup when available, which supports safer official Codex updates.
- Settings injection now hides Codex++ settings surfaces more cleanly when leaving settings.
Codex++ 0.1.0
Changelog
All notable changes to codex-plusplus are documented here.
This project uses semver for the installer, runtime, SDK, and published CLI package. Tweak authors should also use semver release tags so the manager can compare installed and available versions.
0.1.0
- Initial alpha release.
- One-command GitHub installer via
install.sh; no npm package ornpxdependency. - Runtime-loaded local tweaks with Settings integration.
- App-update repair watcher for re-patching Codex after app updates, using the locally installed CLI.
- Codex++ release checks through GitHub Releases.
- Default tweak seeding from Bennett UI Improvements and Custom Keyboard Shortcuts GitHub release channels, with
--no-default-tweaks. - Review-only tweak update checks via required
githubRepomanifest metadata. - In-app tweak manager with enable/disable, config, release links, and maintenance actions.