Skip to main content

kubectx-like CLI for switching Codex auth profiles

Project description

agentctx

agentctx is a kubectx-like CLI for saving and switching local Codex auth profiles.

It manages copies of ~/.codex/auth.json under ~/.agentctx and atomically swaps the active auth file when you switch profiles. When saving the current auth via =., the profile name is derived from the user's email claim in the JWT. Token contents are never printed.

Install

pipx install agentctx

For local development:

poetry install
poetry run agentctx --help

Usage

agentctx                 # list profiles or open fzf selector when interactive
agentctx work            # switch to profile
agentctx login           # run Codex browser login and save auth as JWT email profile
agentctx -               # switch to previous profile
agentctx -c              # show current profile
agentctx =.              # save/rename current Codex auth as JWT email profile
agentctx user@example.com=. # same, but validate name matches JWT email
agentctx prod=work       # rename profile
agentctx -d old-profile  # delete profile
agentctx -u              # unset current marker
agentctx -V              # show version

Long aliases:

agentctx --current
agentctx --unset
agentctx --version

CRUD-style subcommands are intentionally not part of the public CLI.

Storage

~/.agentctx/
  profiles/
    <email-or-name>/
      auth.json
      metadata.json
  backups/
    auth-<timestamp>.json
  current
  previous
  lock

Active Codex auth remains:

~/.codex/auth.json

Security behavior

  • validates JSON before saving or switching;
  • rejects symlinks and non-regular auth files;
  • writes auth files atomically with temporary files in the target directory;
  • uses 0600 permissions for active, profile, and backup auth files where supported;
  • creates backups before switching profiles;
  • never prints token contents.

Development

poetry check
poetry run pytest
poetry build

Publish

make publish

make publish bumps the minor version, syncs agentctx.__version__, runs checks/tests, builds a clean dist/, and publishes with poetry publish.

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

agentctx-0.6.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

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

agentctx-0.6.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file agentctx-0.6.0.tar.gz.

File metadata

  • Download URL: agentctx-0.6.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.6 Darwin/24.1.0

File hashes

Hashes for agentctx-0.6.0.tar.gz
Algorithm Hash digest
SHA256 55718b17641a3ad99dc5bb89635057ec0ecf384f147d4590dd12b2decdeb8e27
MD5 6c02889280a2319fffad52f1096c2a85
BLAKE2b-256 d6da7fc0fd51a85e73336ce77ce113e24b4f4b43031b4a96c733dcbdc7ed0e5f

See more details on using hashes here.

File details

Details for the file agentctx-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: agentctx-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.2 CPython/3.14.6 Darwin/24.1.0

File hashes

Hashes for agentctx-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6da9a105009c92929ac25f9af19a45b9689b37cec97563cbb8aa5d7f371c74e6
MD5 5533365278515e26067ef6c6968e447e
BLAKE2b-256 883d67596ef075603cba6b818ebfe02d7de3fab6a40ceb31804a4b453497bece

See more details on using hashes here.

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