Releases: ndycode/codex-multi-auth
v1.2.6
Release v1.2.6
Release line: stable
This patch release fixes forwarded codex exec runtime observability so real wrapped Codex requests are reflected in codex auth status and codex auth report --json even when the downstream Codex runtime does not update the snapshot itself.
Scope
- Published package version:
1.2.6 - Previous stable release:
v1.2.5
What Changed
- fixed wrapped non-auth Codex commands so successful forwarded request traffic increments persisted runtime observability counters
- added a wrapper fallback path that records forwarded request metrics only when the child Codex process leaves the runtime snapshot unchanged, avoiding double-counting when plugin-side metrics are present
- preserved the existing
codex authobservability behavior while making realcodex execsmoke runs visible incodex auth statusandcodex auth report --json - added regression coverage for both missing-child-update and already-updated snapshot cases in the wrapper test suite
Validation
npm test -- test/codex-bin-wrapper.test.tsnpm run buildcodex -a never exec --sandbox read-only --color never -o "$env:TEMP\\codex-smoke-last.txt" "Reply with exactly OK and nothing else."codex auth statuscodex auth report --json
Related
- Previous release notes:
docs/releases/v1.2.5.md
v1.2.5
Release v1.2.5
Release line: stable
This patch release follows the merged rebuild from PR #387 and publishes the consolidated request-reliability, runtime observability, and storage-hardening fixes as 1.2.5.
Scope
- Published package version:
1.2.5 - Merged PR:
#387release: rebuild open main PR wave with review fixes - Merge commit on
main:519e9dffdadef29699f56c361974b68539f4a887 - Previous stable release:
v1.2.4
What Changed
- added runtime counters, cooldown state, selection reason, and storage-health observability to
codex auth statusandcodex auth report --json, with visible tracking for multi-auth probes and refresh activity - added safer live report controls with
--max-accounts,--max-probes, and--cached-onlyso operators can inspect state without probing the full pool - disabled default whole-pool replay when every account is rate-limited and capped outbound request attempts per prompt to prevent runaway cross-account retries
- tightened retry and failover behavior for 429s, upstream 5xx bursts, empty responses, and stream replay so partial output is not re-emitted and aggressive rotation cools down sooner
- hardened rate-limit handling by keeping persisted cooldown state visible, narrowing 404 remapping to structured quota signals, and feeding overload-style server responses back into quota deferral
- improved Windows and storage safety with storage-health inspection, atomic cache/runtime snapshot writes, quieter WAL recovery checks, and retried
EBUSY/EPERMaccount cleanup - protected live-sync and session-affinity state from stale overlapping writes and expanded regression coverage across retry, observability, storage, and concurrency edge cases
Validation
npm publishnpm view codex-multi-auth versionnpm run lintnpm run typechecknpm run build
Related
- PR:
https://github.com/ndycode/codex-multi-auth/pull/387 - Previous release notes:
docs/releases/v1.2.4.md
v1.2.4
Release v1.2.4
Release line: stable
This patch release follows the published v1.2.3 rebuild and lands the post-merge review fixes from PR #356.
Scope
- Published package version:
1.2.4 - Merged PR:
#356release: patch post-merge review fixes for v1.2.4 - Merge commit on
main:688802af72d3129a6357ea3b67e7427da37d0faf - Previous stable release:
v1.2.3
What Changed
- added deterministic regressions for flagged-account backup and legacy read retries so transient Windows
EBUSYlocks stay covered - pinned the
persistRecoveredBackup -> falsepath so failed backup persistence does not report a false successful recovery - tightened test cleanup so
fs.readFilespies are restored fromfinallyand cannot leak across later Vitest cases - removed the dead inline
returnfrom the Codex wrapper mutator script used by the delayed-write retry regression - kept the post-merge review-fix branch validated end-to-end before merging back to
main
Validation
npm test -- test/storage-flagged.test.tsnpm test -- test/codex-bin-wrapper.test.tsnpm run clean:repo:checknpm run lintnpm run typechecknpm run buildnpm test -- --reporter=dot- Full suite passed:
222/222files,3313/3313tests
Related
- PR:
https://github.com/ndycode/codex-multi-auth/pull/356 - Previous release notes:
docs/releases/v1.2.3.md
v1.2.2
Release v1.2.2
Release line: stable
This release aligns main with the already-published codex-multi-auth@1.2.2 package and lands the account-pool health fix set through the catch-up release PR.
Scope
- Current package version in
package.jsonis1.2.2. - Merged
maincommit for this release isb9c92737c468aa06af4569a7120ace30f5fa8269. - Carries forward the validated release integration previously published to npm.
- Canonical command family remains
codex auth .... - Canonical package name remains
codex-multi-auth.
Changes
- Hardened fast-expiry refresh persistence so refreshed token and account state survive account-pool writes.
- Realigned account-pool health handling across success healing, guardian penalties, circuit-breaker penalties, and reason-scoped rate limiting.
- Tightened stable identity reconciliation for guardian refresh outcomes and runtime tracker state.
- Persisted refreshed auth from forecast and report live probes and improved expired CLI cache hydration.
- Expanded regression coverage around rotation, guardian scoring, circuit-breaker integration, health probes, storage identity, and CLI forecast/report flows.
Included Merges
#336release: align main with published 1.2.2
Superseded PR Stack
#323fix fast-expiry token refresh persistence in account pool#324fix stale account pool penalties after successful requests#325fix: reconcile guardian refresh outcomes by stable identity#326fix: prefer fresh access tokens during account selection#327fix: persist refreshed live-probe tokens in forecast commands#328fix: hydrate newer refresh tokens from expired cli cache#329fix: graduate refresh guardian failure penalties#330fix runtime tracker state identity keys#331fix hybrid selection sticky current account#332fix rate limit scope by reason#333fix refresh guardian pool health scoring#334fix circuit breaker account pool integration
Validation
- Release branch commit carried into
main:22db10b94e4912c9588d8c6784891708dad9205f npm run clean:repo:checknpm run lintnpm run typechecknpm run buildnpm test -- --pool=threads --maxWorkers=1- Full suite passed:
221/221files,3221/3221tests npm pack --dry-run
Related
v1.2.1
Release v1.2.1
Release line: stable
This document anchors the current stable release reference used by the docs portal.
Scope
- Current package version in
package.jsonis1.2.1. - Canonical command family remains
codex auth .... - Canonical package name remains
codex-multi-auth. - Carries forward the merged non-
devPR set landed afterv1.2.0.
Changes
- Added
codex auth forecast --explainsupport and related regression coverage. - Aligned GPT-5 model routing with current OpenAI defaults.
- Added package subpath exports and tightened shipped config/public API coverage.
- Added maintainer runbooks and refreshed onboarding and command guidance.
- Hardened storage export behavior so empty current pools fail cleanly instead of exporting invalid state.
- Carried forward remaining non-
devstorage/settings hardening work onto freshmain. - Hardened CLI manual-login test isolation and fixed the
wait-utilsfake-timer regression.
Included Merges
#318release: merge current main-target PR set#319carry forward remaining unique non-dev PR work#320fix(storage): fail export when current pool is empty#321test: harden codex manager cli isolation
Validation
- Merged
maincommit:428d3a66006dacaa9de93cfe56c6a38263154886 npm run lintnpm run typechecknpm run buildnpm test -- --pool=threads --maxWorkers=1- Full suite passed:
221/221files,3166/3166tests
Related
v1.2.0
Release v1.2.0
Release date: 2026-03-20
Channel: latest
Highlights
- Added headless-friendly auth login with manual callback support for environments where browser launch or the local callback listener is unavailable.
- Preserved selected workspace routing across retries and fallback paths instead of collapsing back to mutable token-derived identity.
- Added proxy-compatible upstream transport, workspace-disabled auto-rotation, onboarding restore from the latest saved backup, and restored experimental settings hotkeys.
Install
npm i -g @openai/codex
npm i -g codex-multi-authCore Operations
codex auth login
codex auth login --manual
codex auth status
codex auth check --live
codex auth forecast --liveValidation Snapshot
Release gate commands:
npm run clean:repo:checknpm run lintnpm run typechecknpm run buildnpm test
Broad validation result:
repo-hygiene check passednpm run lintpassednpm run typecheckpassednpm run buildpassed106/106test files passed2640/2640tests passed
Merged PRs
#132add manual login mode for headless auth flows#133preserve selected workspace in request routing#134add proxy-compatible upstream transport#136feat: auto-rotate on disabled/expired workspace errors#137add onboarding restore for latest saved backup#138fix experimental settings tui hotkeys
Notes
- This republishes the existing
v1.2.0tag with the final merged PR inventory. - The stacked
#132,#133, and#134release content is onmainthrough the release-integration merges captured by thev1.2.0tag; the temporarygit-plan/*stack branches were removed after release cleanup. - The validation run on the tagged tree emitted duplicate
getCurrentWorkspacetest-fixture warnings intest/index.test.ts, but the build and full suite still passed.
Related
v1.1.11
Release v1.1.11
Release date: 2026-03-18
Channel: latest
Highlights
- Fixed quota-cache key collisions for multi-workspace accounts that share the same email.
- Rebuilt live quota fallback state after
auth checkandauth fixrefreshes change shared-workspace identity fields. - Hardened live quota cache persistence so failed saves do not mutate the loaded cache object during forecast, check, or fix flows.
Install
npm i -g @openai/codex
npm i -g codex-multi-authCore Operations
codex auth login
codex auth status
codex auth check --live
codex auth fix --live
codex auth forecast --liveValidation Snapshot
Release gate commands:
npm run typechecknpm run buildnpm test -- test/codex-manager-cli.test.ts test/quota-cache.test.ts test/storage.test.ts test/index.test.ts
Broad validation result:
npm run typecheckpassednpm run buildpassed4/4targeted test files passed323/323targeted tests passed
Merged PRs
#122fix(quota): keep multi-workspace fallbacks distinct
Commits
- PR
#122fixes same-email multi-workspace quota fallback collisions, stale fallback pruning, and save-isolation behavior across the CLI quota flows. - The release prep in this worktree bumps package metadata to
1.1.11and refreshes the stable release-note links in the root docs surfaces.
Notes
- Accounts that share an email but belong to different workspaces now prefer accountId-scoped quota cache entries instead of collapsing onto one email-scoped entry.
- Live quota refresh paths now isolate working cache state before save, so Windows
EBUSYorEPERMfailures do not mutate the loaded cache in memory. - The release includes expanded regression coverage for mixed accountId rows, stale email fallback cleanup, targeted live-probe routing, and Windows save retry behavior.
Related
v1.1.10
Release v1.1.10
Release date: 2026-03-18
Channel: latest
Highlights
- Added
codex auth bestfor forecast-driven active-account switching from the CLI. - Hardened live probe refresh handling so rotated access, refresh, and ID tokens stay aligned through the already-best and switch paths.
- Tightened
auth bestCLI validation and JSON output coverage for help, malformed flags, null storage, concurrency, and sync-state edge cases.
Install
npm i -g @openai/codex
npm i -g codex-multi-authCore Operations
codex auth login
codex auth list
codex auth status
codex auth best --live
codex auth forecast --liveValidation Snapshot
Release gate commands:
npm run clean:repo:checknpm run typechecknpm run buildnpm run lintnpm test -- test/documentation.test.tsnpm test
Broad validation result:
repo-hygiene check passednpm run typecheckpassednpm run buildpassednpm run lintpassed19/19documentation integrity tests passed105/105test files passed on two consecutive full-suite runs2513/2513tests passed on two consecutive full-suite runs
Merged PRs
#120feat(cli): add codex auth best account switching
Commits
- PR
#120adds the newcodex auth bestcommand and the probe/sync hardening required for safe forecast-driven switching. - The release bump in this branch promotes
1.1.10in package metadata and refreshes the stable release-note links in the root docs surfaces.
Notes
codex auth best --livenow refreshes probe credentials before reuse and keeps Codex CLI sync state explicit when the current account is already the best account.auth best --jsonnow covers the already-best sync result and null-storage handling without mutating account state on help or malformed invocations.- Concurrent live-best runs continue to reuse the queued refresh network call while preserving the documented two-save behavior in the current contract.
Related
v0.1.9
Release date: 2026-03-13
Channel: latest
Highlights
- Preserved distinct business accounts that share a workspace
accountIdso no-email login, refresh, and restore paths stop overwriting sibling seats. - Aligned guarded identity matching across runtime login, CLI recovery, storage normalization, import preview/apply, and entitlement tracking.
- Hardened rollback and regression coverage for concurrent persistence, flagged-account recovery, malformed-token rows, and shared-workspace edge cases.
Install
npm i -g @openai/codex
npm i -g codex-multi-authCore Operations
codex auth login
codex auth list
codex auth status
codex auth check
codex auth forecast --liveValidation Snapshot
Release gate commands:
npm run clean:repo:checknpm run audit:cinpm run lintnpm test -- test/documentation.test.tsnpm test -- test/accounts.test.ts test/oc-chatgpt-import-adapter.test.ts test/index.test.ts test/storage.test.ts test/codex-manager-cli.test.ts test/entitlement-cache.test.ts
Broad validation result:
repo-hygiene check passednpm run audit:cipassed at the configured high-severity threshold; the remaininghonoadvisory stayed below that gatenpm run lintpassed19/19documentation integrity tests passed after promoting the new stable release notes6/6targeted shared-account regression suites passed (405/405tests)
Known baseline blockers observed during release validation:
npm run typecheckfails on bothorigin/mainand this release branch because the workspace cannot currently resolve@codex-ai/plugin/tooland already carries unrelated TypeScript errors outside#90npm run buildremains blocked by the same pre-existing typecheck baseline
Merged PRs
#90fix: preserve business accounts that share a workspace accountId
Commits
- PR
#90carries the guarded account-identity matching fixes and regression coverage that preserve shared-workspace business accounts across login, import, flagged recovery, storage normalization, and entitlement tracking. - The release bump in this branch promotes
0.1.9in package metadata and refreshes the stable release-note links in the root docs surfaces.
Notes
- Bare
accountIdfallback now only applies when the no-email case is unambiguous. - Entitlement cache identity now prefers the fresh email resolved from the latest token material and avoids refresh-token-derived keys.
- CLI and runtime persistence paths now share the same guarded account matching behavior for shared-workspace business accounts.
Related
v0.1.8
Release date: 2026-03-11
Channel: latest
Highlights
- Folded the remaining stacked settings and sync work into the stable release, including experimental settings flows, backend primitive extraction, and wrapper non-TTY behavior docs.
- Hardened account and flagged-account reset recovery so intentional clears suppress stale revival paths even when primary files survive an initial delete failure.
- Kept Codex CLI sync mirror-only while adding preview-first oc-chatgpt sync, named backup export, and richer target detection on top of the same canonical storage model.
Install
npm i -g @openai/codex
npm i -g codex-multi-authCore Operations
codex auth login
codex auth list
codex auth status
codex auth check
codex auth forecast --liveValidation Snapshot
Release gate commands:
npm cinpm run clean:repo:checknpm run audit:cinpm run typechecknpm run lintnpm testnpm run buildnpm run coveragenpm run test:model-matrix:smoke
Broad validation result:
105/105test files passed2456/2456tests passed- full coverage pass on the all-inclusive release branch
- model-matrix smoke completed with only skipped cases for the current runtime/account capability set after the entitlement-aware harness fix
Merged PRs
#64test(settings): split persistence regression coverage#65test(settings): split cli settings harness coverage#61feat(settings): add experimental settings flows#63docs(cli): document wrapper non-TTY behavior#71fix(storage): harden recovery and intentional reset flows#72fix(sync): keep Codex CLI state mirror-only#74feat(sync): extract backend primitives for the sync stack
Commits
- Replacement RC assembled from
mainplus the original release branch and the previously open stacked branches for#65,#74,#61, and#63. - Stack prerequisite work from
split/pr58-sync-orchestratoris included because#61depends on it. - Release-only follow-up commit
961c3dbformalizes the flagged reset edge-case fix, the entitlement-aware smoke harness update, and the fresh-worktree documentation-test fix needed to keep the validation gate reproducible. - Release-only follow-up commit
c946d08adds broad merged-feature regression coverage. - Release-only follow-up commit
8ee10e3restores backup metadata, restore assessment, and transaction-safe named backup export behavior after the all-open merge.
Notes
- Flagged-account clears now remain suppressed when the reset marker exists, even if the primary flagged file survives an initial delete failure.
- Smoke-matrix results now distinguish unsupported account/runtime capabilities from true release-blocking failures.
- The current smoke run was environment-inconclusive rather than failing: no supported live model completed in this account/runtime, but no hard harness or transformer failures remained.
- Broad release regressions now verify that Codex CLI mirror files cannot mutate canonical storage or unified settings, that flagged reset suppression still holds when mirror files exist, and that the experimental sync/backup stack continues to validate as part of the full merged branch.