codex-profiles 0.2.0

Manage multiple Codex CLI auth profiles
Documentation

Overview

Codex Profiles helps you manage multiple Codex CLI logins on a single machine. It saves the current login and lets you switch in seconds, making it ideal for personal and team accounts across multiple organizations.

Install

[!IMPORTANT] Requires Codex CLI (with ChatGPT subscription or OpenAI API key).

[!TIP] Looking for a Teams promo? See details

NPM

npm install -g codex-profiles

Bun

bun install -g codex-profiles

Cargo

cargo install codex-profiles

Manual Install

Automatically detects your OS/architecture, downloads the correct binary, verifies checksums:

curl -fsSL https://raw.githubusercontent.com/midhunmonachan/codex-profiles/main/install.sh | bash

Uninstall

[!WARNING] Legacy script support is ending. Remove cx and use this version instead.

rm ~/.local/bin/cx

If you installed with a custom command name (mycmd), remove that name instead:

rm ~/.local/bin/mycmd

NPM

npm uninstall -g codex-profiles

Bun

bun uninstall -g codex-profiles

Cargo

cargo uninstall codex-profiles

Manual Uninstall

rm ~/.local/bin/codex-profiles

Usage

[!TIP] load and delete are interactive unless you pass --label.

Command Description
codex-profiles save [--label <name>] Save the current auth.json as a profile, optionally labeled.
codex-profiles load [--label <name>] Load a profile from the picker without re-login (or by label).
codex-profiles list List saved profiles.
codex-profiles status [--all] [--show-errors] Show usage for the current profile, or all saved profiles (--all).
codex-profiles delete [--yes] [--label <name>] Delete profiles from the picker (or by label).

[!WARNING] Deleting a profile does not log you out. It only removes the saved profile file.

Quick example:

$ codex-profiles save --label team
Saved profile mail@company.com (Team)

$ codex-profiles load --label team
Loaded profile mail@company.com (Team)

[!NOTE] Files are stored under ~/.codex/profiles/:

File Purpose
{email-plan}.json Saved profiles.
profiles.json Profile metadata (labels and identity fields for saved profiles).
update.json Cached updater state (latest checked version metadata).
profiles.lock Lock file for safe updates.

FAQ

No. Everything stays on your machine. This tool only copies files locally.

A profile is a saved copy of your ~/.codex/auth.json. Each profile represents one Codex login.

Log in with Codex CLI, then run codex-profiles save --label <name>. To switch later, run codex-profiles load --label <name>.

You will be prompted to save the current profile, continue without saving, or cancel.

Yes. Save each account with a label (for example, personal and work) and switch with the label.

After installing, verify it works:

# Check version
codex-profiles --help

# Verify Codex CLI is detected
codex-profiles list
# Should show: "No profiles saved yet" (not an error about missing Codex CLI)

If you see "Codex CLI not found", install it from here.

Yes! Contributions are welcome. For non-trivial changes (new features, significant refactors), please open an issue or discussion first to discuss your idea and avoid wasted effort.

For minor changes (bug fixes, typos, docs), feel free to submit a PR directly.

See CONTRIBUTING.md for full guidelines.