Follows up the GPT-5.6 launch in v2.5.0: diagnostics now probe with GPT-5.6, model pickers can actually show the new tiers, and parallel agents spread across accounts by default.
npm i -g codex-multi-authRouting, rotation, storage, and auth are unchanged. DEFAULT_MODEL stays on gpt-5.5, so nothing breaks. One behaviour change worth knowing: pidOffsetEnabled now defaults on.
check, report, forecast, best, and fix now probe with gpt-5.6-sol, falling through gpt-5.5 → gpt-5.4 → codex for accounts without 5.6 access. check reports Model probe: gpt-5.6-sol.
Only the probe moved. The general routing default and the gpt-5 alias stay on gpt-5.5 deliberately.
The probe also stopped hardcoding reasoning.effort: "none" — it now uses the cheapest effort each model actually supports, which is what a real request would do.
GPT-5.6 now shows up in older Codex builds. The legacy config template was missing the 5.6 tiers.
Upgrades stopped missing new models. The config installer merged the provider block shallowly, so an existing config's model map shadowed the template entirely — meaning an upgraded config never gained anything added after it was first written. It now merges per model id, so new template models appear while your customisations survive.
If you're on an existing install, you need to re-run the config install (and restart the app or extension) to see the 5.6 tiers in a picker. Code-level model resolution already handled gpt-5.6-* before this release.
The codex-multi-auth-codex wrapper understands GPT-5.6. It re-implements the model map because it runs before the TypeScript build, and it never got the v2.5.0 work — so a gpt-5.6-* request through the wrapper landed in the wrong family, mangled its reasoning effort, and silently resolved to gpt-5.5. It now mirrors the library, and a test pins the two together across a model × effort matrix so they can't drift again.
pidOffsetEnabled now defaults on. It gives each wrapper process a small deterministic selection bias so parallel agents spread across accounts instead of all picking the same one and cascading into 429s.
It's a no-op for single-account pools, and pins and health scoring still take precedence. Set pidOffsetEnabled: false or CODEX_AUTH_PID_OFFSET_ENABLED=0 to turn it off.
- Fixed two documented defaults that didn't match the code:
retryAllAccountsRateLimitedisfalse, andretryAllAccountsMaxRetriesis0. - New "high parallelism / swarms of agents" playbook in troubleshooting and configuration.
- Clarified that
Provider response headers timed out after 10000mscomes from the host client's own timeout, not from us.