A tiny native macOS menu-bar app for switching Codex / ChatGPT accounts before your usage limit gets in the way.
Download v1.3 · Install from source · How switching works
If you use the Codex Desktop app heavily, swapping between personal and work ChatGPT accounts can be clunky. Codex Account Switcher puts the useful bits in your menu bar:
- weekly usage for each saved account at a glance
- active account highlighted, inactive accounts dimmed
- both accounts' 5-hour usage in the dropdown
- one-click switching with Codex relaunch
- optional automatic switching when the active account drops below your chosen 5-hour usage threshold
- low-usage notification with a
Switch Nowaction - a compact click-to-open account panel for quick switching and settings
It is deliberately small: a single Swift/AppKit menu-bar app for Codex Desktop that talks to codex-auth.
By default, each account uses the first letter or number from its email address. For example:
alice@example.combecomesAbuilds@example.combecomesB
You can switch the menu bar to a smaller A93 B84 style, or override account labels from the menu if you prefer custom initials.
- Menu-bar usage display with weekly or 5-hour usage, active account color, large percentage and small compact styles.
- Click-to-open account panel with 5-hour rings, weekly progress, refresh, settings, and close controls.
- Bright active account card and dim inactive accounts, with green, orange, and red status colors reflected in the active card background.
- Dropdown showing 5-hour usage for all saved accounts.
- Email-based switching, avoiding brittle numeric selectors.
- Optional panel-card confirmation: first click arms the inactive card, second click on the highlighted switch pill confirms the account change.
- Codex relaunch after switching so Desktop picks up the new account.
- Configurable notification and auto-switch thresholds.
- Optional auto-switching from a low-usage active account to another saved account.
Switch Nownotification action for low usage.- Refresh interval controls for active and idle states.
- In-panel settings for display mode, launch-at-login, usage reminders, card confirmation, auto-switching, account actions, health checks, and maintenance.
- Account backup cleanup.
- No bundled credentials, tokens, account registry, or usage snapshots.
- macOS 14 or later.
- Xcode command line tools / Swift compiler.
- Codex Desktop installed at
/Applications/Codex.app. codex-authinstalled and configured.
Install codex-auth:
npm install -g @loongphy/codex-authAdd accounts:
codex-auth loginRepeat login for each account you want to switch between.
./build.shThe app bundle is created at:
build/Codex Account Switcher.app
./install.shThis installs to:
/Applications/Codex Account Switcher.app
./run.shCodex Desktop needs to be relaunched after an account switch before the newly active account takes effect. This app handles that relaunch as part of switching.
The app uses codex-auth switch <email-query> internally, so it does not depend on account numbers such as 01 or 02.
This repository does not contain account credentials, tokens, account IDs, local auth files, usage registries, or personal account data.
Screenshots are generated from demo account data and should stay that way for future releases.
Usage refresh depends on codex-auth. In API mode, codex-auth fetches usage from ChatGPT backend endpoints using your saved account token. Review the codex-auth documentation and decide whether that tradeoff is right for you.
- Version 1.3: adds panel-card switch confirmation, account-label edit badges, a shorter account panel, cleaner compact Settings layout, compact Settings health checks, clearer refresh/stale status text, and tooltips on icon-only controls.
- Version 1.2.2: fixes menu-bar percentage display issues and makes usage readings more stable when live Codex usage data is unavailable. Includes recent compact panel design refinements, clearer account controls, reset-time display polish, and lighter active/inactive visual styling.
- Version 1.2.1: matches the in-app active account card, border, 5-hour ring, label, and active pill to the same green/orange/red usage status colors used in the menu bar, with light and dark mode background tints.
- Version 1.2: adds the compact modern account panel redesign, in-panel settings redesign, visible account email labels, active account menu-bar usage colors, and a weekly/5-hour menu-bar usage selector.
- Version 1.1: adds the account panel UI and dialog-based settings controls.
- Version 1.00: first public release.
- Signed release builds.
- Homebrew cask.
- Preferences window if the menu grows too large.
- Optional sound or banner style settings for switch prompts.
MIT. See LICENSE.


