Skip to main content

aicx

Switch between Codex and Claude Code accounts without losing local conversation history.

PyPI version Python versions GitHub stars License

aicx keeps credentials and settings separate for every account. Saved conversations are shared by default, so you can start with one account and continue with another.

Install

You need Linux or macOS, Python 3.9 or newer, and the official Codex or Claude Code CLI.

pip install aicx
aicx doctor

Set up two accounts

Log in with the official CLI, then let aicx adopt that account under a name.

Codex example

# First account
codex login
aicx adopt codex personal
codex logout

# Second account
codex login
aicx adopt codex work

adopt copies the current login, settings, and saved conversations. It does not change or remove the original Codex directory.

Claude Code example

# First account
claude auth login
aicx adopt claude personal
claude auth logout

# Second account
claude auth login
aicx adopt claude work

Profile names are yours to choose. personal, work, and client are only examples.

Use an account

Launch the provider with @account-name:

aicx codex @personal
aicx codex @work
aicx claude @personal

The last selection is remembered:

aicx codex
aicx claude

Provider arguments pass through normally:

aicx codex @work resume --last
aicx claude @personal --resume SESSION_ID

Rename or delete a profile

aicx rename claude test1 personal   # move one tool's profile to a new name
aicx forget claude personal         # delete one tool's profile (asks first; --yes skips)

Both act on a single tool. forget keeps the shared conversation history and leaves the other tool in that profile untouched. Neither works while a tracked process for that profile is still running.

Accounts and usage

aicx accounts
aicx balance
aicx balance codex --profile work

Keep the balance view open and refresh it every 60 seconds:

aicx balance --watch

Choose another interval when needed:

aicx balance --watch --interval 15

The balance table shows usage, remaining percentage, reset time, and the time left until reset.

Pick the columns you care about; the choice is saved and reused on the next run:

aicx balance --columns tool,profile,window,usage,reset-in
aicx balance                       # same columns as last time
aicx balance --reset-columns       # forget the choice, show every column

Column names: tool, profile, active, account, window, usage, left, reset-in, reset, source.

Conversation history

aicx synchronizes saved history before a provider starts and after it exits. This lets you exit a conversation and resume it with another account.

Do not open the same conversation from two accounts at the same time. History sharing supports sequential handoff, not concurrent editing.

# Manual synchronization
aicx sync codex
aicx sync claude

# Optional: disable sharing
export AICX_CODEX_HISTORY=isolated
export AICX_CLAUDE_HISTORY=isolated

Credentials remain private to each account profile. They are never shared with the conversation store.

TODO

  • Test the complete workflow with multiple real Claude Code accounts. Multiple Codex accounts are tested.
  • Add and test VS Code account integration.
  • On macOS, confirm profile-local Claude credentials when the login Keychain holds a Claude Code-credentials item (Codex is pinned to file storage).

More documentation

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aicx-0.3.3.tar.gz (34.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aicx-0.3.3-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

Details for the file aicx-0.3.3.tar.gz.

File metadata

  • Download URL: aicx-0.3.3.tar.gz
  • Upload date:
  • Size: 34.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.5

File hashes

Hashes for aicx-0.3.3.tar.gz
Algorithm Hash digest
SHA256 d594952f7d4808036a6e42ad5542e37f5e5db3060b473dbb439507203b3e1dc4
MD5 f5d16b53022b97f321837196246b6f4a
BLAKE2b-256 ba6c907050fbfbc38bff31927c8141fef728c2da4bb40a25f2fa4df7811fd70e

See more details on using hashes here.

File details

Details for the file aicx-0.3.3-py3-none-any.whl.

File metadata

  • Download URL: aicx-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.5

File hashes

Hashes for aicx-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9815de0c8c8ca21d011446b155db07fe16c960a8b4c01e4b21bb728e638d5238
MD5 dcd7a1d5e46e5365a48f3f42e8d89b4a
BLAKE2b-256 514a0d2fd7a3352374502e8b07855d8b0681002c6bab263d7fe64d5166ed717b

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.0

2 files

This release

0.3.3 This release

2 files

0.3.2

2 files

0.3.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page