Codex Profiles CLI
A CLI and macOS menu bar app keeping separate Codex profiles for personal and work, each with its own windows, projects and quota.
- 194 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The tool launches Codex CLI and the ChatGPT app, writes profiles into `~/.codex-name` home folders and can edit shell startup after approval.
- Profile separation is not a security boundary; use separate OS users for strong isolation.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/ducksss-codex-profilesDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The tool launches Codex CLI and the ChatGPT app, writes profiles into `~/.codex-name` home folders and can edit shell startup after approval.
- Profile separation is not a security boundary; use separate OS users for strong isolation.
This is third-party code. Review the repository files before installing.
What it does
Codex Profiles separates local Codex state into named profiles. The work profile keeps data in `~/.codex-work`, the default profile uses the usual `~/.codex`, and each name's ChatGPT window gets its own user data folder. `codex-profile cli work` starts Codex CLI inside that profile. The macOS menu bar app shows each profile's Codex CLI quota, reset time and low-quota warnings beside its name. Project folders bind to profiles, so `codex-profile run` opens a project in the right one at once. The tool launches the original ChatGPT app and does not read or copy authentication files or cookies.
Who it is for. People who run personal and work projects in Codex under different logins and are tired of re-signing in and checking quota by hand.
Good fit when
- Two ChatGPT windows, personal and work, stay open side by side on one Mac.
- Before a long task you need to see how much Codex quota is left in a profile.
- A client project always opens in its own profile with no manual choice.
- A script or agent needs to call `codex-profile cli work exec`.
- Linux needs the same Codex CLI profile set in the terminal.
Not a fit when
- You need a security boundary between accounts; local-state separation does not create one, separate OS users do.
- The goal is to switch one account between people or share a subscription.
- Only ChatGPT is installed and Codex CLI is not wanted.
Example request
Create a work profile, start Codex CLI in it and show the remaining quota across all profiles.Limitations
The app builds on your Mac with `codex-profile menu install`: there is no signed download yet, and it needs macOS 13 or newer plus Xcode Command Line Tools. ChatGPT windows need the official ChatGPT app, and terminal launches and quota readings need the official Codex CLI. The author stresses that local-state separation is not an account, OS or server-side security boundary. Quota follows the Codex CLI sign-in, while a ChatGPT window may use a different account. A community project unaffiliated with OpenAI. The Raycast extension is not in the store yet.
How to disable. Remove a profile with `codex-profile remove <profile>` and the CLI itself with `npm uninstall -g codex-profile` or `brew uninstall codex-profile`. The app lives in the Applications folder.
FAQ
How do I install codex-profile?
Run `npm install -g codex-profile` or `brew install Ducksss/tap/codex-profile`. Then `codex-profile setup work` creates a profile and offers sign-in.
How do I build the menu bar app?
Run `codex-profile menu install`. The build takes a few minutes and puts Codex Profiles.app in Applications or ~/Applications.
Does it work on Linux?
The CLI works on macOS and Linux with Bash and Codex CLI present. The menu bar app is macOS 13 or newer only.
Does it copy authentication files?
No. It launches the original signed ChatGPT app and does not read or copy authentication files or cookies.
How is codex-profile different from codex-profiles?
Install `codex-profile` in the singular. It provides both `codex-profile` and `codex-profiles` commands, while the plural npm package belongs to another project.
Discussion
No questions or reviews yet.
Related
CLI toolsSeveral desktop Codex copies side by side: each account gets its own icon, sign-in, chats and plugins with no switching.
A utility that brings back Codex threads lost after a provider switch by syncing sessions and SQLite and making backups.
A Codex skill for safe local-state maintenance: a report-only default, backup and archive instead of deletion, log and worktree cleanup
A local task board with the taskctl CLI and a skill for Codex, Claude Code, and other agents: creates issues, moves statuses, and keeps comments under a fixed w
A macOS CLI that creates isolated Claude Desktop and Claude Code profiles, each with its own login, chats, settings and icon.
Codex Relay lets you follow Codex CLI sessions and answer the agent from a phone while the work stays on your computer.
README in short
The tool splits Codex profiles by directory and ChatGPT window and shows quota. SECURITY.md covers security limits and USAGE.md covers sharing configuration without sharing identity.