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
CLI

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.
All reasons and checks

ducksss/codex-profiles

Install

Works in

In your terminal, with SkillFoxx CLI

npx skillfoxx add cli/ducksss-codex-profiles

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended 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.

CLI tools

Several desktop Codex copies side by side: each account gets its own icon, sign-in, chats and plugins with no switching.

CLIExtended access58Repository stars

A utility that brings back Codex threads lost after a provider switch by syncing sessions and SQLite and making backups.

CLIExtended access106Repository stars

A Codex skill for safe local-state maintenance: a report-only default, backup and archive instead of deletion, log and worktree cleanup

SkillExtended access1.6KRepository stars

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

SkillExtended access3.5KRepository stars

A macOS CLI that creates isolated Claude Desktop and Claude Code profiles, each with its own login, chats, settings and icon.

CLIExtended access199Repository stars

Codex Relay lets you follow Codex CLI sessions and answer the agent from a phone while the work stays on your computer.

CLIExtended access739Repository stars

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.

README badge

Report a problem