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
0600permissions 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55718b17641a3ad99dc5bb89635057ec0ecf384f147d4590dd12b2decdeb8e27
|
|
| MD5 |
6c02889280a2319fffad52f1096c2a85
|
|
| BLAKE2b-256 |
d6da7fc0fd51a85e73336ce77ce113e24b4f4b43031b4a96c733dcbdc7ed0e5f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6da9a105009c92929ac25f9af19a45b9689b37cec97563cbb8aa5d7f371c74e6
|
|
| MD5 |
5533365278515e26067ef6c6968e447e
|
|
| BLAKE2b-256 |
883d67596ef075603cba6b818ebfe02d7de3fab6a40ceb31804a4b453497bece
|