prodex
Run multiple isolated Codex profiles on the same OpenAI account pool, with smart quota checks, clean profile separation, and continuation-aware routing.
prodex helps you manage multiple Codex identities without turning your workflow into a mess.
It is designed around a simple model:
- One account = one profile
- Quota is checked before launch
- Fresh work can move to another ready profile
- Existing continuations stay with the profile that already owns them
That means you can keep working smoothly across multiple accounts while preserving session continuity where it matters.
Why prodex?
Not everyone wants to pay $200 for a single account.
Sometimes it makes more sense to run 2 or 3 separate $20 accounts you already have. The problem is that doing it manually is annoying fast. You have to log in, log out, switch homes, check quota, and keep track of which session belongs to which account.
prodex exists to remove that pain.
It manages isolated profiles for each account, checks quota before launch, routes fresh work to an available profile, and keeps ongoing continuations attached to the right one.
Less account juggling, less friction, more actual work.
Requirements
Before using prodex, make sure you have:
- An OpenAI account, plus at least one logged-in Prodex profile
- Codex CLI, if you want to use
prodex - Claude Code (
claude), if you want to useprodex claude
Installing
@christiandoxa/prodexfrom npm also installs the Codex runtime dependency for you.
Claude Code is still a separate CLI and must already be available on yourPATHif you want to useprodex claude.
Install
npm
Cargo
The npm package version is kept in lockstep with the published crate version.
Update
Check your installed version:
The current local version in this repo is 0.2.131:
Dependency status in this repo:
- The npm runtime dependency is already at the latest published
@openai/codexrelease:0.118.0 cargo updatecurrently produces no Rust lockfile changes on the Rust1.94.1compatible graph used by this projectgeneric-arrayremains pinned transitively bycrypto-common, andsha2 0.11would require a wider RustCrypto compatibility jump than this release
Switching from a Cargo-installed binary to npm?
Quick Setup
If your shared Codex home already contains a login:
Or create a profile through the usual login flow:
Want to name the profile first?
Check your profile pool and quota status:
Run Codex CLI or Claude Code through Prodex:
prodexwithout a subcommand is shorthand forprodex run.
Common Workflows
1. Create or import profiles
2. Inspect your pool
3. Run Codex with automatic profile selection
4. Resume an existing session on the correct profile
5. Run Claude Code through the same profile pool
For managed profiles, Prodex now seeds Claude state from your existing ~/.claude and ~/.claude.json on first use, then keeps Claude config and chat history in shared Prodex-managed state.
Command Reference
Profile & Login
Run with Codex CLI
|
Run with Claude Code
Export & Import Profiles
prodex profile export includes each exported profile’s auth.json.
By default, it exports every configured profile and asks whether the bundle should be password-protected.
Quota, Status & Debugging
If a runtime session looks stalled, inspect the latest runtime log:
That pointer path lives in /tmp only when you keep the default runtime log directory. If you override the runtime log directory through policy or environment, use prodex doctor --runtime --json to read the active log_path and live broker metrics.
Use prodex cleanup to remove stale local runtime logs, temporary login homes, dead broker leases and registries, plus old orphaned managed profile homes that are no longer tracked in state.
Runtime Policy
Enterprise-style local deployments can pin runtime logging and proxy tuning in $PRODEX_HOME/policy.toml or ~/.prodex/policy.toml.
= 1
[]
= "json"
= "runtime-logs"
[]
= "file"
# keyring_service = "prodex"
[]
= 16
= 128
= 96
= 5000
= 300000
Notes:
- Environment variables still win over
policy.toml. prodex infoandprodex doctorshow the active policy file, selected secret backend, and effective runtime log mode.- The default runtime log format remains
text; setlog_format = "json"orPRODEX_RUNTIME_LOG_FORMAT=jsonwhen you want machine-readable runtime logs. - Secret backend selection can be overridden with
PRODEX_SECRET_BACKENDandPRODEX_SECRET_KEYRING_SERVICE. prodex auditreads the local append-only audit log and supports--tail,--component,--action,--outcome, and--json.
Enterprise Hardening
The current hardening is still local-first, but it now includes:
- a secret-management abstraction for
auth.jsonand exported profile bundles, plus global secret-backend selection via policy or environment - a stable live broker snapshot at
GET /__prodex/runtime/metrics - a Prometheus scrape target at
GET /__prodex/runtime/metrics/prometheus prodex infoandprodex doctor --runtime --jsonsurfacing live broker metrics targets and the selected secret backend- enterprise audit logging for profile selection, rotation decisions, and admin-facing state changes, kept separate from transport behavior and discoverable via
prodex infoorprodex doctor --runtime --json prodex auditas a local read-only CLI surface for browsing recent append-only audit events
Current limitations:
- local
auth.jsonremains the compatibility source of truth for current Codex flows even when a non-file backend is selected - there is no keychain, Vault, or KMS-backed secret backend implementation yet
- audit logs follow the resolved runtime log directory by default, or
PRODEX_AUDIT_LOG_DIRwhen set - there is no central control plane, RBAC, SSO, or SCIM
prodex doctor --runtime --jsonis operationally useful, but it is not a full observability stack- the repo still assumes a per-host profile pool and local state ownership
- runtime-store modularization is still in progress, so persistence and audit/event handling remain implementation details rather than a public API
Notes
- Managed profiles share persisted Codex state through Prodex-owned shared storage.
prodex quota --allrefreshes live by default.- Use
--onceif you only want a one-shot snapshot.
Learn More
For a longer walkthrough, see QUICKSTART.md.