Client or integration
OpenCodex dashboard
Area
Authentication and account pool
Summary
With the Quota strategy and an enabled usage threshold, the dashboard still offers Use this account next for an account whose displayed quota is already above that threshold. The action accepts the selection and shows it as pinned, but routing releases the drained pin before resolving the next request and uses another eligible account.
The action therefore promises an outcome that the current routing policy will not allow. The setting responsible for overriding the action is also difficult to discover in the Providers workspace: Rotation strategy is visible, while the active usage threshold is only shown after expanding Advanced settings below it.
For example, with Main at 100%, a secondary account below the 80% threshold, and the secondary account currently selected, clicking Use this account next on Main does not make Main serve the next request. The pin is discarded because Main has no quota headroom.
Reproduction
- Configure two ChatGPT/Codex accounts in Pool mode.
- Select the
Quota rotation strategy and enable usage-based proactive switching with an 80% threshold.
- Let Main reach 100% of its five-hour quota while the second account remains below 80%.
- Open Providers, select OpenAI, and view Available accounts.
- Observe that the visible strategy says
Quota, but the active 80% threshold is only available inside the collapsed Advanced settings section.
- Click
Use this account next on the exhausted Main account.
- Observe that the selection is accepted and pinned.
- Send the next request. Routing clears the Main pin as drained and selects the eligible secondary account.
The same mismatch is visible in current source. The account-card action is gated by pause, authentication, cooldown, and validation state, but not by known quota headroom. releaseDrainedCodexAccountPin() then clears the accepted pin when hasCodexQuotaHeadroom() is false.
Version
Observed with 2.53.0. The same action, collapsed-threshold layout, and drained-pin release are present on current dev at df7dc1be530141c55bd10e70ebe79cb80914d98e (package version 2.54.0).
Operating system
Ubuntu 24.04 under WSL2
Provider and model
OpenAI ChatGPT/Codex account pool; model-independent
Logs or error output
accountPoolStrategy=quota
autoSwitchThreshold=80
main five-hour usage=100
secondary five-hour usage<80
manual pin accepted for main
next request resolves to secondary after the drained main pin is released
Screenshots and supporting files
No private screenshot is attached. The visible state is described above without account email addresses or identifiers.
Redacted configuration
{
"accountPoolStrategy": "quota",
"autoSwitchThreshold": 80,
"codexAccountMode": "pool"
}
Checks
Related: #504 made manual selection immediate while preserving known threshold rotation, and #806 clarified strategy-dependent threshold semantics. This report is narrower: the current dashboard still enables a manual action whose promised next-request outcome is impossible under the displayed quota state, while hiding the overriding threshold from the normal Providers view.
Possible observable fixes include disabling the action for an account known to be drained, warning in the confirmation that the pin will be released, and showing an effective policy summary such as Quota · 80% next to the visible rotation strategy. CURRENT, SELECTED, and PINNED should also expose their distinct meanings without requiring source knowledge.
Client or integration
OpenCodex dashboard
Area
Authentication and account pool
Summary
With the Quota strategy and an enabled usage threshold, the dashboard still offers
Use this account nextfor an account whose displayed quota is already above that threshold. The action accepts the selection and shows it as pinned, but routing releases the drained pin before resolving the next request and uses another eligible account.The action therefore promises an outcome that the current routing policy will not allow. The setting responsible for overriding the action is also difficult to discover in the Providers workspace:
Rotation strategyis visible, while the active usage threshold is only shown after expandingAdvanced settingsbelow it.For example, with Main at 100%, a secondary account below the 80% threshold, and the secondary account currently selected, clicking
Use this account nexton Main does not make Main serve the next request. The pin is discarded because Main has no quota headroom.Reproduction
Quotarotation strategy and enable usage-based proactive switching with an 80% threshold.Quota, but the active80%threshold is only available inside the collapsedAdvanced settingssection.Use this account nexton the exhausted Main account.The same mismatch is visible in current source. The account-card action is gated by pause, authentication, cooldown, and validation state, but not by known quota headroom.
releaseDrainedCodexAccountPin()then clears the accepted pin whenhasCodexQuotaHeadroom()is false.Version
Observed with 2.53.0. The same action, collapsed-threshold layout, and drained-pin release are present on current
devatdf7dc1be530141c55bd10e70ebe79cb80914d98e(package version 2.54.0).Operating system
Ubuntu 24.04 under WSL2
Provider and model
OpenAI ChatGPT/Codex account pool; model-independent
Logs or error output
Screenshots and supporting files
No private screenshot is attached. The visible state is described above without account email addresses or identifiers.
Redacted configuration
{ "accountPoolStrategy": "quota", "autoSwitchThreshold": 80, "codexAccountMode": "pool" }Checks
Related: #504 made manual selection immediate while preserving known threshold rotation, and #806 clarified strategy-dependent threshold semantics. This report is narrower: the current dashboard still enables a manual action whose promised next-request outcome is impossible under the displayed quota state, while hiding the overriding threshold from the normal Providers view.
Possible observable fixes include disabling the action for an account known to be drained, warning in the confirmation that the pin will be released, and showing an effective policy summary such as
Quota · 80%next to the visible rotation strategy.CURRENT,SELECTED, andPINNEDshould also expose their distinct meanings without requiring source knowledge.