Usage
Output Format
The command prints:- Total account count
- Storage file path
- Numbered list of accounts with status markers
- Last-used timestamp for each account
Example Output
Status Markers
This account is active for API requests.
Account is disabled and won’t be used for rotation.
Account hit rate limits and is temporarily unavailable.
Account in cooldown period. Shows remaining time (e.g.,
1h30m, 45s).Multiple Markers
Accounts can have multiple status markers:Account Labels
Each account shows the first available identifier:- Email address - Preferred (e.g.,
[email protected]) - Custom label - If set (e.g.,
Work Account) - Account ID - From token (e.g.,
user-abc123) - Token prefix - Fallback (e.g.,
token-xyz789...)
Timestamp Format
Last-used times are shown as relative durations:never used- Account hasn’t been used yetused 5 seconds agoused 3 minutes agoused 2 hours agoused 4 days ago
- API requests succeed
- Tokens are refreshed
- Accounts are manually switched
Empty State
codex auth login to add accounts.
Exit Codes
0- Always succeeds (even with zero accounts)1- Storage read failure
Examples
Quick status check
Verify active account
Count total accounts
Check for rate-limited accounts
Comparison with Other Commands
codex auth status vs codex auth list
Both show similar information. status is an alias for list.
codex auth status vs codex auth check
| Command | Purpose | Speed |
|---|---|---|
status | Show current state (no validation) | Instant |
check | Validate tokens and refresh if needed | Slow (network calls) |
status for quick lookups, check for validation.
codex auth status vs codex auth report --json
| Command | Output | Use Case |
|---|---|---|
status | Human-readable text | Quick terminal checks |
report --json | Machine-readable JSON | Automation, scripting |
Related Commands
codex auth list- Identical outputcodex auth check- Validate account healthcodex auth switch- Change active accountcodex auth report- Detailed health reportcodex auth forecast- Predict best account
Storage Location
The storage path varies based on configuration:Default (Global)
Project-Scoped
When inside a Git repository:Custom Root
WhenCODEX_MULTI_AUTH_DIR is set: