Skip to main content

Transparent account-aware wrapper for the Codex CLI

Project description

codex-switch

codex-switch is a local wrapper for the Codex CLI. It keeps the normal codex command, but chooses the logged-in account instance with the most remaining quota before launching the real CLI.

What it does

  • installs a PATH-first codex shim
  • stores one isolated runtime home per account
  • checks account login state with codex login status
  • probes each account's remaining quota with /status before launch
  • forwards the original user command unchanged to the selected account
  • keeps repository files, project instructions, and shared skills visible to every instance

Install

From PyPI after release:

python3 -m pip install codex-switch-cli
codex-switch init

From Homebrew:

brew tap ForeverHYX/tap
brew install codex-switch-cli
codex-switch init

From GitHub before the first PyPI release:

python3 -m pip install git+https://github.com/ForeverHYX/codex-switch.git
codex-switch init

codex-switch init auto-detects the real codex binary, asks how many accounts to create, walks you through each upstream login flow, and installs the shim so later codex commands go through codex-switch.

codex-switch init
codex

Once setup is done, day-to-day usage stays the same:

codex "review this branch"
codex exec "make test"

How it works

The first codex run triggers setup if you have already installed the shim. codex-switch init runs the same interactive flow explicitly and is the recommended first step after installation. In both cases, codex-switch creates one isolated runtime home per account, runs the upstream login flow for each account in turn, then stores the real Codex binary path for later launches.

When you later run codex, the shim probes each configured account, skips unhealthy or unlogged ones, and picks the one with the most remaining quota.

Caveats

  • it does not switch accounts in the middle of a running Codex session
  • it does not manage upstream Codex upgrades for you
  • it depends on the upstream CLI's login/status output staying readable
  • all accounts still share the same project working directory

Public repository rules

  • commit source files, tests, and public docs only
  • keep local planning docs out of public pushes
  • keep local-only agent and skill metadata out of public pushes

Publishing

This repository is set up to publish the codex-switch-cli package to PyPI through GitHub Actions trusted publishing. After PyPI trusted publishing is configured for this repository, creating a GitHub release tag can build and upload the package automatically.

Project details


Download files

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

Source Distribution

codex_switch_cli-0.1.2.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

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

codex_switch_cli-0.1.2-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

File details

Details for the file codex_switch_cli-0.1.2.tar.gz.

File metadata

  • Download URL: codex_switch_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for codex_switch_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d759e7aba582a28781cca97c825386337b17d72d475c6884210250b0fe68543b
MD5 3ebec608ccff306cb5756b5bde5e0416
BLAKE2b-256 255150cac9193f60f414c995b56fbcc7f6f274b7a55e8d9b9876914398954b78

See more details on using hashes here.

Provenance

The following attestation bundles were made for codex_switch_cli-0.1.2.tar.gz:

Publisher: publish.yml on ForeverHYX/codex-switch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file codex_switch_cli-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for codex_switch_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0081f7d9974bf3f44796b95b50cef2dd034ccd482b88fd3d9711afacd7aa8e86
MD5 31ba0d4170714bb544bfa36ad577511c
BLAKE2b-256 6018cfc2e09ac66ff055a0d0c3d8b6d321ad009edee54f917b60ab682ce15346

See more details on using hashes here.

Provenance

The following attestation bundles were made for codex_switch_cli-0.1.2-py3-none-any.whl:

Publisher: publish.yml on ForeverHYX/codex-switch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page