Stop checking accounts one by one. See the right Codex or Claude account before you work.
CodexPlusBar is a native macOS menu bar app for people who use more than one ChatGPT/Codex or Claude browser account. It keeps every account in its own local Chrome profile and puts live remaining usage, reset times, and sign-in status in one place.
Download CodexPlusBar.dmg · Release notes and checksum · View the source
Opening accounts one at a time is slow and easy to get wrong. CodexPlusBar works like a small control panel: check your limits at a glance, choose an account with enough capacity, and fix a sign-in before it blocks your work.
- One glance: See every saved account from the menu bar.
- Better account choice: Find accounts with usable, high, or full limits before starting a task.
- Less account confusion: Each account has its own named Chrome profile and provider session.
- Faster recovery: Profiles that need login or failed refresh are clearly marked.
- No API key setup: Sign in through Chrome and let the app read the signed-in web session.
Screenshots show the 1.1.0 interface using sample profiles.
- Track Codex (ChatGPT) and Claude profiles together.
- See remaining 5H and 7D usage, live reset countdowns, refresh time, sign-in state, and Codex account expiry when ChatGPT provides it.
- Refresh all profiles on launch, every five minutes, or on demand; refresh one profile when you only need a quick check.
- Keep healthy cards visible when another profile fails to refresh.
- Search by full or partial email address or phone number.
- Filter by provider (
CodexorClaude), tag (Active,Need action,Pending), or limit (Usable,>35%,Full). - Sort by Next 5H reset, Next 7D reset, account expiry, or saved order; the selected sort is remembered across the menu bar and Profile Manager, with the soonest known dates first and unavailable dates last.
- See counts in the Filter menu and clear all filters with one action.
- Copy a profile label, open its saved link, open Profile Manager, or pin a profile from its card.
- Pin one profile so its label and usage appear in the macOS menu bar status.
- Adjust panel text size from More → Larger text / Smaller text.
Profile Manager puts remaining capacity first. Expand Profile details to edit, or Connection setup to change the provider. The More menu holds reorder and removal actions. Optional fields include:
- profile label and web/email link
- password and 2FA secret (copy helpers)
- phone number and private notes
- status tags
Private fields stay covered until you choose Show. A saved 2FA secret can generate a current TOTP code, show its expiry countdown, and copy the code without revealing it first. The phone summary groups shared numbers, one-use numbers, and profiles with no number, then opens a profile directly.
- Open Codex or Claude in the profile's dedicated Chrome window.
- Sign in yourself, then return to CodexPlusBar; the app imports the local session and refreshes usage.
- Use Check now, Cancel, or Clear session when a sign-in needs attention.
- Use Touch ID help when a Codex passkey needs a fuller Chrome sign-in flow.
- A ready profile opens its saved provider account page; a profile that needs login opens the repair flow.
The app does not type passwords into provider pages for you.
Bulk import accepts one profile per line in this format:
person@example.com|your-password|YOURBASE32SECRET
2. second@example.com|another-password|ANOTHERBASE32SECRET
It previews valid rows, reports the exact lines that need fixing, ignores blank lines, and creates the imported rows as Codex profiles. You can change the provider after import. Imported rows use https://2fa.live as their starting saved link; the app does not send your 2FA key to that link.
Email Tools generates every single-dot variation for a Gmail username, such as johndoe@gmail.com → j.ohndoe@gmail.com. Save sessions, search long lists, copy one or all unused variations, and mark variations as used so you do not repeat work.
The compact list keeps used addresses readable, supports keyboard checkbox navigation, and groups session removal in a More menu with a native confirmation.
- Everforest-based interface with System, Dark, and Light appearance.
- Hard, Medium, and Soft contrast choices.
- Provider colors, status icons, accessibility labels, and masked email labels for quick scanning.
- Open CodexPlusBar. Its status appears in the macOS menu bar; it does not add a normal Dock icon.
- Choose Manage profiles from the menu bar panel.
- Select Add profile, or choose More → Import profiles… for multiple profiles.
- Edit the label in Profile details, save, then choose Codex or Claude in Connection setup.
- Choose Open Codex or Open Claude and sign in in the Chrome window that opens.
- Return to CodexPlusBar. If needed, select Check now; usage will then refresh automatically.
- Pin a profile, or use search, filters, and sorting to choose one for your next task.
- Percentages are remaining usage, not used usage.
5His the provider's five-hour window;7Dis its seven-day window.—orUnavailablemeans the provider did not return that value; the app does not guess.- Countdown text uses the provider's reset time, so it stays useful while the app is open.
- Codex expiry comes from ChatGPT account data. Claude expiry is not fetched.
CodexPlusBar reads the signed-in web services used by ChatGPT and Claude. These are provider website endpoints, not stable public APIs, so a provider website change can temporarily affect refresh or sign-in until the app is updated.
The easiest way to install CodexPlusBar is the signed and notarized GitHub DMG. You do not need Xcode. One download supports both Apple silicon and Intel Macs running macOS 14 or newer.
Version 1.1.3 verifies saved OpenChamber/OpenAI sign-ins with OpenAI before reporting a successful switch. It refreshes expired or rejected access tokens when possible, preserves rotated refresh tokens, and restores the previous sign-in if a different-account switch fails verification and the local file has not changed elsewhere. The signed and notarized DMG also includes reset-window sorting, the compact, capacity-first interface, and theme-aware action icons from earlier releases. The download link below always downloads the latest published DMG; the 1.1.3 release has version-specific downloads and release notes.
-
Optional: download
CodexPlusBar.dmg.sha256into the same folder. In Terminal, go to that folder (usually~/Downloads) and verify the download:cd ~/Downloads shasum -a 256 -c CodexPlusBar.dmg.sha256
-
Open the DMG and drag
CodexPlusBar.appto Applications. If an older copy is there, replace it after quitting the running app. -
Eject the DMG, then open CodexPlusBar from Applications. Its status appears in the menu bar; it does not add a normal Dock icon.
The published app and DMG are Developer ID signed and notarized by Apple, so macOS can verify them during a normal first launch.
To update from 1.1.2 or an earlier release, quit CodexPlusBar, download the latest DMG, and repeat steps 3–4. Replacing the app keeps your saved profiles and Chrome sign-ins in ~/Library/Application Support/CodexPlusBar; you do not need to import them again.
After switching OpenChamber's OpenAI account, wait for switched and verified. If OpenChamber's Usage panel still shows an older result, refresh that panel. If the saved sign-in is rejected, sign in to that account again in OpenChamber and use Save current sign-in in CodexPlusBar before retrying.
- macOS 14 or newer
- Google Chrome
- Internet access
- One ChatGPT or Claude account for each profile you want to track
Developers can build the current macOS project with Xcode 26 or newer:
git clone https://github.com/withLinda/CodexPlusBar.git
cd CodexPlusBar
make build-and-runUseful checks:
make test
make agent-verify
make dmgmake dmg writes a local developer DMG to build/dist/CodexPlusBar.dmg. It does not perform Developer ID signing or Apple notarization; use the published GitHub DMG for normal installation.
bash scripts/render_design.sh --build --output /tmp/codexplusbar-preview.png
bash scripts/render_design.sh --compact --light --output /tmp/codexplusbar-compact.png
bash scripts/render_design.sh --panel --large-text --output /tmp/codexplusbar-panel.png
# Interactive, isolated fixture window:
bash scripts/render_design.sh --details
# In another terminal:
osascript scripts/inspect_design.applescript
# Email utility preview and interaction check:
bash scripts/render_design.sh --email-tools --compact
osascript scripts/inspect_email_tools.applescript
# Native theme-transition regression (Pillow required):
bash scripts/render_design.sh --missing-expiry --cycle-theme --output /tmp/theme.png
bash scripts/render_design.sh --missing-expiry --light --output /tmp/theme-fresh-light.png
python3 scripts/verify_theme_transition.py /tmp/theme.png /tmp/theme-fresh-light.pngThe preview uses a separate bundle ID, sample profiles, and stub services. Screen capture needs macOS Screen Recording permission; interaction checks need Accessibility permission. Enable Keyboard navigation for the email Tab/Space check and restore your preference afterward. The email check preserves and restores the clipboard. See the design contract and verification results.
CodexPlusBar has no profile-sync server of its own. It connects directly to ChatGPT or Claude through the browser sessions created on your Mac.
- Profile data is stored at
~/Library/Application Support/CodexPlusBar/profiles.json. - Email Tools sessions are stored at
~/Library/Application Support/CodexPlusBar/dot-trick-sessions.json. - Named Chrome profiles are stored at
~/Library/Application Support/CodexPlusBar/ChromeProfiles. - Profile labels, links, passwords, 2FA keys, phone numbers, notes, and tags stay on your Mac.
- Passwords and 2FA keys are not stored in the macOS Keychain and are not encrypted by CodexPlusBar.
- Removing a profile also removes its local browser data.
Use the app only on a Mac user account you trust. Do not share the profile JSON file, Chrome profile folder, screenshots with private values, or real import rows.

