Codex Account Switcher is an open-source macOS menu bar utility for managing multiple Codex / ChatGPT accounts on a single machine.
It focuses on three everyday workflows:
- save and organize multiple authenticated Codex profiles
- switch the active profile with minimal friction
- inspect quota usage, recovery times, and refresh status from both the dashboard and the menu bar
- Native macOS app built with
SwiftUI + AppKit - Rust bridge for secure local storage, account switching, and quota retrieval
- Atomic replacement of
~/.codex/auth.json - Quota refresh from online APIs with fallback to local
rate_limitssnapshots - Background refresh for saved standby accounts
- In-app language switching with system-following mode
- Menu bar access for quick status checks and account switching
native-macos/ Native macOS application shell and UI
rust-bridge/ Rust bridge, secure storage, quota parsing, and switching logic
- macOS 14 or later
- Xcode 16 or later
- Rust stable toolchain
cd rust-bridge
cargo build --bin codex_account_bridgecd rust-bridge
cargo testswift test --package-path native-macos/CodexAccountNativePackagexcodebuild \
-workspace native-macos/CodexAccountNative.xcworkspace \
-scheme CodexAccountNative \
-configuration Release \
build- This tool works with local Codex authentication state and should be used only on machines you trust.
- Account profiles are stored locally and encrypted before being persisted by the Rust bridge.
- The app temporarily writes the selected profile back to
~/.codex/auth.jsonwhen switching accounts. - No telemetry, hosted backend, or cloud sync is included in this repository.
- Default documentation language is English.
- A separate Simplified Chinese document is available at README.zh-CN.md.
- The project is licensed under Apache License 2.0.
This project is an independent community utility and is not affiliated with or endorsed by OpenAI.
Use it at your own risk, especially when handling production or paid accounts.
Issues and pull requests are welcome. If you plan to change account storage, switching logic, or quota parsing, please include reproduction steps and platform details in your report.

