Model or dataset
Wangnov/Codex-App-Manager avatar
Wangnov/Codex-App-Manager

Codex App Manager: install, update and remove the official Codex desktop app

跨平台官方 Codex 桌面应用的安装 / 增量更新 / 干净卸载管理器,内置国内可达的镜像自更新。Cross-platform installer & updater for the official Codex desktop app — incremental updates, clean uninstall, China-reachable self-update.

457 stars35 forksRustMIT

At a glance

What is it?
A Tauri v2 desktop client that wraps the official OpenAI Codex desktop app with install, delta update and clean uninstall, plus a self-update path that does not depend on GitHub. The interesting part is the mirror routing, not the UI.
Who is it for?
Adopt Codex App Manager if you want the official Codex desktop app managed by something that downloads through a China-reachable mirror and can update itself without GitHub. Skip it if you need a signed Windows installer, since the README states the .exe currently has no Authenticode signature and that the SignPath Foundation application is still under review.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Rust, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap Codex App Manager fills between the Codex app and your machine

The official Codex desktop app ships as a desktop binary. Installing it, keeping it current, and removing it without leftovers are three separate chores, and on macOS the update path is a Sparkle appcast that most users never look at. Codex App Manager is a separate desktop client that does those three chores for you: it detects the Codex install on the machine, plans an install, an update or an uninstall, and offers a one-click launch. The README is explicit that the manager does not build or modify Codex itself. It sits above the payload and manages it.

The audience is narrow and specific. It is for people who want the official Codex desktop app rather than a wrapper, and who want the download and update traffic to come from a mirror that is reachable from mainland China. The README describes the mirror selection as automatic by region, with IHEP S3 for domestic traffic and R2 for overseas traffic, transparent to the user. If you are on a fast connection to GitHub and do not care about mirror routing, the value proposition shrinks to the uninstall and update-planning behaviour.

Mirror routing, Sparkle deltas and the byte-level signature trick

The mechanism has two layers, and they are easy to confuse. The manager's own updates are one layer. The Codex payload it manages is the other.

For the payload, on macOS the manager reads the upstream mirror's Sparkle appcast for arm64 and x64, compares it against the locally installed version, prefers the delta package between versions, verifies the Sparkle signature, replaces the app in place, and rolls back on failure. When no matching delta exists, the README says it falls back to a full package. On Windows it fetches an MSIX or portable build, stages the update, supports a custom install directory, and runs a health check after installation, with a prompt when the system image has been trimmed.

For its own updates, the manager ships a Tauri updater that checks a mirror-hosted latest.json first and the GitHub release latest.json second. The design detail worth understanding is that the signature inside latest.json covers the installer bytes, not the URL. The mirror copies the artifact byte for byte and rewrites only the download address, so the signature stays valid. That is what makes a non-GitHub update path possible without re-signing anything. CI syncs both artifacts and the rewritten latest.json to the mirrors on each release, with installers under versioned paths and latest.json at a fixed root with a short cache.

Installing Codex App Manager and managing Codex for the first time

The README recommends Homebrew on macOS. The tap is namespaced, so the cask name is not the repository name.

bash
brew install --cask wangnov/tap/codex-app-manager

If you prefer a direct download, the README points at the latest GitHub release or at mirror links under codexapp.agentsmirror.com. The mirror paths are version-independent: the README states that /manager/latest/ is resolved by a Cloudflare Worker to the current release, so the link does not need to change when a new version ships. The four artifacts named in the README are CodexAppManager_aarch64.dmg, CodexAppManager_x86_64.dmg, CodexAppManager_x64-setup.exe and CodexAppManager_arm64-setup.exe.

After downloading, the README suggests verifying against the SHA256SUMS file from the same GitHub release. On Windows:

powershell
Get-FileHash .\CodexAppManager_x64-setup.exe -Algorithm SHA256
# 或 ARM64:
Get-FileHash .\CodexAppManager_arm64-setup.exe -Algorithm SHA256

On macOS:

bash
shasum -a 256 CodexAppManager_aarch64.dmg

The README states that macOS builds are Developer ID signed and notarized, so Gatekeeper should not block the first launch. Once the manager is running, you do not download Codex separately: the README says the manager handles installing and updating the Codex desktop app itself. The first real use is therefore to open the manager, let it detect whether Codex is present, and start an install or update from there.

Where Codex App Manager is the wrong tool

The clearest limitation is Windows code signing. The README states that the Windows installers, CodexAppManager_x64-setup.exe and CodexAppManager_arm64-setup.exe, currently have no Authenticode code signature, so SmartScreen may warn on first run. It also states that the Tauri updater signature used for in-app self-update only validates the downloaded bytes and does not represent Windows publisher trust, and that a SignPath Foundation application has been submitted and is still under review. The README is direct that the current downloads must not be described as approved or signed. If your environment requires a signed Windows installer, this project does not meet that bar yet.

The second limitation is scope. The manager consumes the upstream codex-app-mirror for payloads and does not build or modify Codex. If you need to pin a specific Codex version, patch it, or run it in a container, this is the wrong layer. It is also a desktop GUI, so headless CI provisioning is not what it is for. And because it is a separate application that manages another application, a failure in the manager is a failure in your update path to Codex; the README's rollback and health-check behaviour mitigates this but does not remove the dependency.

How Codex App Manager differs from Homebrew casks and the upstream mirror

The nearest alternative for macOS users is a plain Homebrew cask for the Codex app itself, which installs and upgrades the application through Homebrew's own download and version tracking. The difference in approach is where the update intelligence lives. Homebrew replaces the whole application bundle on upgrade and has no concept of a Sparkle delta, so a version bump means a full download each time. Codex App Manager reads the Sparkle appcast and prefers the delta between versions, which is a different trade: more moving parts in the update planner, less bytes over the wire, and a rollback path the README describes when the replacement fails.

The other comparison is with the upstream codex-app-mirror repository. That project is the mirror and the Sparkle feed; Codex App Manager is the client that consumes it. If you only need a mirror URL to point a script at, the mirror repository is the smaller dependency. Codex App Manager adds install detection, update planning, uninstall and a GUI on top. The two are not competitors so much as a server and a client, and adopting the manager means adopting a dependency on the mirror's appcast format staying compatible.

Maintenance, release cadence and what the MIT licence leaves you

The repository is not archived, and the last push was on 2026-09-13. The three most recent releases listed are v0.5.4, v0.5.5 and v0.5.6, all dated 2026-09-04, which suggests patch releases can cluster within a day. The version in package.json is 0.5.6, matching the latest release tag, so the frontend manifest is kept in step with the release.

Upgrade cost for the manager itself is low by design: the README states that the in-app self-update checks the mirror first and GitHub second, and that CI republishes artifacts and latest.json to both mirrors on every release, so staying current does not require GitHub access. The cost that does not go away is the coordination between three repositories: the manager, the mirror, and the release workflow. The package.json scripts include test:release, which runs vitest over scripts/mirror-release.test.mjs and scripts/release-workflow.test.mjs, so the mirror and release logic has its own test surface. That is a signal that the maintainers treat the publishing pipeline as code worth testing.

The project is MIT licensed. In practical terms that permits commercial use, modification and redistribution provided the copyright notice and permission notice are retained, but it also means there is no warranty and no support obligation from the author. The README's signing and privacy policies live in docs/code-signing-policy.md and docs/privacy.md; read them before deploying into a managed fleet, because distribution and signing obligations are yours to satisfy, not the licence's to waive. Nothing here is legal advice.

Editorial conclusion

Adopt Codex App Manager if you want the official Codex desktop app managed by something that downloads through a China-reachable mirror and can update itself without GitHub. Skip it if you need a signed Windows installer, since the README states the .exe currently has no Authenticode signature and that the SignPath Foundation application is still under review. Before rolling it out, verify the SHA256SUMS of the release you download against the same GitHub release, and check whether the version you are on still has a matching Sparkle delta, because the README says a missing delta falls back to a full package.

Frequently asked questions

What is Codex App Manager and who is it for?

It is a cross-platform desktop client that installs, incrementally updates and cleanly uninstalls the official Codex desktop app. The README positions it for users who want the official Codex app managed for them, including a self-update path that is reachable from mainland China.

How do I install Codex App Manager on macOS?

The README recommends the Homebrew cask wangnov/tap/codex-app-manager. Direct downloads are also listed for Apple Silicon and Intel Macs, and the README suggests verifying the file against the SHA256SUMS from the same GitHub release.

Does Codex App Manager update the Codex app itself, or only itself?

Both. The README states that the manager consumes the upstream codex-app-mirror to plan and apply Codex installs and updates, and separately self-updates through its own mirror-hosted latest.json with a GitHub fallback.

Why does Windows show a SmartScreen warning for Codex App Manager?

The README states that the Windows installers currently have no Authenticode code signature, and that the Tauri updater signature only validates downloaded bytes rather than Windows publisher trust. A SignPath Foundation application is described as submitted and still under review.

What happens if a Sparkle delta package is not available for my Codex version?

The README states that when there is no matching delta on macOS, the manager falls back to downloading the full package. Delta packages are the preferred path, not the only one.

Is Codex App Manager open source and what licence does it use?

It is published under the MIT licence. The README also links separate code signing and privacy policy documents in the docs directory.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. Wangnov/Codex-App-Manager on GitHub
Community notes

Community notes