CDX Manager
The right AI coding account, when you need it. CDX Manager keeps your Codex and Claude accounts in separate profiles, shows which ones have quota, and helps you pick the next usable session from your terminal.
When one account hits a limit mid-task, you should not have to guess which login still works or rebuild your context from memory. CDX shows the available accounts and can prepare a transcript-backed handoff to another session.
Get started in a minute
Install with npm (Node.js 18+ and Python 3.9+):
npm install -g cdx-manager
cdx add codex work
cdx add claude personal
cdx status
cdx next
cdx work
cdx next recommends a session and prints the launch command; cdx work opens your isolated work profile. CDX also supports Antigravity and local Ollama sessions. Prefer pipx or uv? See installation and setup.
What you can do
| Need | CDX command | Detail |
|---|---|---|
| See quota and choose an account | cdx status, cdx next |
Quota-aware routing |
| Keep logins and settings separate | cdx add, cdx <name>, cdx set |
Isolated sessions |
| Continue work in another session | cdx handoff source target |
Context handoff |
| Run a prompt from a script | cdx run --prompt "..." --json |
Headless automation |
| Inspect usage or get an alert | cdx stats, cdx ready |
Maintenance and notifications |
| See which agents wait for you | cdx agents --json |
Agent state |
CDX checks authentication before interactive launches. Handoff keeps the source transcript in place and asks the receiving agent to verify the conversation and workspace before acting. No account switch or prompt submission happens just because you run cdx next.
Codex model capacity recovery
cdx run (including --detach) automatically recovers from Codex's "Selected model is at capacity" failure. It retries the same prompt, profile, and model after 1 and 2 seconds, then tries the profile's fallback_model list in configured order, removing duplicates. Configure alternatives with cdx set work --fallback-model MODEL_A,MODEL_B.
After exhausting those models, CDX selects another ready Codex profile using the normal ranking, including profile priority. Disabled, logged-out, never, and ask-first profiles are excluded from automatic selection. To choose an ask-first profile explicitly, name it in a new command (cdx run NAME ...). Each successor uses --model if supplied, otherwise its own configured/default model, followed by its own fallback list. Each model gets at most three attempts; at most four profile switches are allowed. Settings are not changed. Each attempt retains the command's timeout; the backoff adds at most three seconds per model.
Recovery does not require --failover, which still controls account quota exhaustion separately. Other provider failures and timeouts do not trigger capacity recovery. Attempts restart the prompt in the same workspace; files from earlier attempts remain there. Each retry, model fallback, profile fallback, and exhausted budget is logged to stderr and persisted in recovery_events in the run registry and final JSON (cdx run-status / cdx run-report). Events include archived attempt output paths. Recovery keeps one run ID and reports the final effective model. If no eligible alternative remains or the profile switch budget is reached, the run fails with capacity_recovery_exhausted.
Documentation
- Installation and first steps — prerequisites, npm/pipx/uv, Windows, configuration.
- Features and handoff — routing, isolated accounts, automation, recovery.
- Sessions and notifications — alerts, launch settings, history.
- Command and JSON reference — commands, selection, usage fields, programmatic contracts.
- Operations — backup, disk cleanup, Windows notes, troubleshooting, release procedure.
- Technical overview — isolation, status sources, project and data layout.
- Tray companion testing — local development loops.
Contributions are welcome; see CONTRIBUTING.md. CDX Manager is MIT licensed.
Metadata
Release files for cdx-manager 0.24.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cdx_manager-0.24.8.tar.gz | 468.8 kB | Without provenance | Details for cdx_manager-0.24.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cdx_manager-0.24.8-py3-none-any.whl | Python 3 | none | any | Details for cdx_manager-0.24.8-py3-none-any.whl |
Total release size: 780.9 kB
Release files / cdx_manager-0.24.8.tar.gz
| Download URL | cdx_manager-0.24.8.tar.gz |
|---|---|
| Size | 468.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de2d679a5ec9aceee8c9112e40bf3c17bd67c64b73bf9aeca0960576f9b54629
|
|
BLAKE2b-256 checksum How to use checksums |
0a65f81f644d54551f7dbb506b15cdab7557d7e8b562bf09d847e24e760537ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Release files / cdx_manager-0.24.8-py3-none-any.whl
| Download URL | cdx_manager-0.24.8-py3-none-any.whl |
|---|---|
| Size | 312.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68c2c76f7220bf7d29f73556ab5603f885a9237351365f72cb738fe71f67fe5c
|
|
BLAKE2b-256 checksum How to use checksums |
d3fcf99b26b77e6e3504a104b0cd48d75632f4e8e8f642fec383c06e56a050ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Security for cdx-manager 0.24.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.