Client or integration
Codex App / OpenCodex provider configuration and quota UI
Provider or upstream service
Zhipu BigModel GLM Coding Plan — zhipu-bigmodel-responses
OpenCodex version
2.49.0 (installed npm package)
Endpoint or capability
Responses preset at https://open.bigmodel.cn/api/v1: account quota visibility and glm-5.3-flash model availability.
Summary
The new Responses preset should preserve the existing Coding Plan experience when changing the API wire format. From a user's perspective this is still the same GLM Coding Plan subscription, accessed through Responses instead of Chat Completions. Switching to the new preset currently loses quota visibility and the built-in glm-5.3-flash selection.
This issue tracks those two related gaps. The quota selector omission is confirmed by local source inspection; Flash support on this specific Responses endpoint still needs endpoint-specific validation.
Current behaviour
1. The new provider is not connected to the existing quota reader.
In the installed 2.49.0 src/providers/quota.ts:
isCanonicalZaiBaseUrl() already accepts https://open.bigmodel.cn/api/v1 (around line 348).
fetchZaiQuota() already selects the domestic monitor endpoint and its raw Authorization API-key convention.
- However,
keyQuotaReaderForProvider() (around line 2894) restricts this reader to provider names zai, glm, glm-cn, and zhipu-bigmodel-coding. It omits zhipu-bigmodel-responses.
- Consequently,
providerApiKeyQuotaMode() returns unsupported for the new preset, and fetchProviderApiKeyQuotas() returns an empty list before making a quota request.
This is a provider-name eligibility gap, not a missing domestic Responses URL in the canonical URL check.
2. glm-5.3-flash is absent from the new model catalog.
In src/providers/registry.ts:
- Existing
zhipu-bigmodel-coding includes glm-5.3-flash (around line 2628).
- New
zhipu-bigmodel-responses seeds only glm-5.3 and glm-5-turbo (around line 2651).
- The saved local Responses provider also contains only those two model IDs.
We acknowledge the prior discussion in #3641 / #3828: the static subset was landed deliberately, while live HTTP model discovery and exact Flash Responses metadata were deferred. This is a request to complete that remaining support, not a claim that it was accidentally removed.
Expected behaviour
- Using the Responses preset with an eligible domestic Coding Plan key should expose the same account quota information available through the existing Coding Plan quota reader, while retaining response-driven handling of whichever quota windows the account actually returns.
- The preset should offer
glm-5.3-flash if the domestic Responses endpoint supports it, with verified context, modalities, and reasoning metadata. If the endpoint does not support it, please document that specific upstream restriction and the resulting difference from the Chat preset.
- The product expectation is continuity of the same subscription when changing API access method. This does not require assuming that every model or every metadata field is identical across wire protocols.
Minimal redacted reproduction
- On OpenCodex 2.49.0, configure the built-in
Zhipu AI — BigModel Coding Plan (Responses) provider using a domestic Coding Plan API key.
- Inspect its Usage/quota capability: the provider is classified as unsupported by the quota reader selector.
- Inspect the built-in model selection:
glm-5.3 and glm-5-turbo are seeded, but glm-5.3-flash is absent.
- Compare the existing
zhipu-bigmodel-coding preset, which is admitted by the quota selector and includes Flash in its model roster.
Relevant redacted configuration fields:
{
"providers": {
"zhipu-bigmodel-responses": {
"adapter": "openai-responses",
"baseUrl": "https://open.bigmodel.cn/api/v1",
"models": ["glm-5.3", "glm-5-turbo"]
}
}
}
Credentials are omitted. This report is based on the observed configuration and read-only inspection of installed source; no new inference or authenticated quota/model-list request was made during this investigation.
Actual response or error
No upstream error is required to trigger the quota gap: the local selector rejects the provider before dispatch. Flash is missing from the preset catalog; this report does not claim a failed Flash inference request.
Upstream documentation
Official domestic Coding Plan Codex guide, checked 2026-09-10:
https://docs.bigmodel.cn/cn/coding-plan/tool/codex
The guide places Codex under GLM Coding Plan and specifies the domestic /api/v1 endpoint with the Responses wire format. Its current local model-catalog example lists GLM-5.3 and GLM-5-Turbo. The example alone does not prove either Flash support or an authenticated HTTP /models contract; those need separate evidence.
Suggested mapping or implementation notes
- Connect the built-in
zhipu-bigmodel-responses ID to the existing domestic Coding Plan quota reader while retaining exact destination checks, domestic authentication, and redirect refusal.
- Add a regression case proving this preset is quota-probe eligible and dispatches to the domestic monitor endpoint. Preserve unsupported/custom destination safeguards.
- Validate Flash on the domestic Responses endpoint and add verified model metadata. Static Flash support can be completed independently of a general live-discovery implementation; there is no need to treat the official local JSON example as an HTTP discovery contract.
Related issues and PRs
Checks
Client or integration
Codex App / OpenCodex provider configuration and quota UI
Provider or upstream service
Zhipu BigModel GLM Coding Plan —
zhipu-bigmodel-responsesOpenCodex version
2.49.0 (installed npm package)
Endpoint or capability
Responses preset at
https://open.bigmodel.cn/api/v1: account quota visibility andglm-5.3-flashmodel availability.Summary
The new Responses preset should preserve the existing Coding Plan experience when changing the API wire format. From a user's perspective this is still the same GLM Coding Plan subscription, accessed through Responses instead of Chat Completions. Switching to the new preset currently loses quota visibility and the built-in
glm-5.3-flashselection.This issue tracks those two related gaps. The quota selector omission is confirmed by local source inspection; Flash support on this specific Responses endpoint still needs endpoint-specific validation.
Current behaviour
1. The new provider is not connected to the existing quota reader.
In the installed 2.49.0
src/providers/quota.ts:isCanonicalZaiBaseUrl()already acceptshttps://open.bigmodel.cn/api/v1(around line 348).fetchZaiQuota()already selects the domestic monitor endpoint and its rawAuthorizationAPI-key convention.keyQuotaReaderForProvider()(around line 2894) restricts this reader to provider nameszai,glm,glm-cn, andzhipu-bigmodel-coding. It omitszhipu-bigmodel-responses.providerApiKeyQuotaMode()returnsunsupportedfor the new preset, andfetchProviderApiKeyQuotas()returns an empty list before making a quota request.This is a provider-name eligibility gap, not a missing domestic Responses URL in the canonical URL check.
2.
glm-5.3-flashis absent from the new model catalog.In
src/providers/registry.ts:zhipu-bigmodel-codingincludesglm-5.3-flash(around line 2628).zhipu-bigmodel-responsesseeds onlyglm-5.3andglm-5-turbo(around line 2651).We acknowledge the prior discussion in #3641 / #3828: the static subset was landed deliberately, while live HTTP model discovery and exact Flash Responses metadata were deferred. This is a request to complete that remaining support, not a claim that it was accidentally removed.
Expected behaviour
glm-5.3-flashif the domestic Responses endpoint supports it, with verified context, modalities, and reasoning metadata. If the endpoint does not support it, please document that specific upstream restriction and the resulting difference from the Chat preset.Minimal redacted reproduction
Zhipu AI — BigModel Coding Plan (Responses)provider using a domestic Coding Plan API key.glm-5.3andglm-5-turboare seeded, butglm-5.3-flashis absent.zhipu-bigmodel-codingpreset, which is admitted by the quota selector and includes Flash in its model roster.Relevant redacted configuration fields:
{ "providers": { "zhipu-bigmodel-responses": { "adapter": "openai-responses", "baseUrl": "https://open.bigmodel.cn/api/v1", "models": ["glm-5.3", "glm-5-turbo"] } } }Credentials are omitted. This report is based on the observed configuration and read-only inspection of installed source; no new inference or authenticated quota/model-list request was made during this investigation.
Actual response or error
No upstream error is required to trigger the quota gap: the local selector rejects the provider before dispatch. Flash is missing from the preset catalog; this report does not claim a failed Flash inference request.
Upstream documentation
Official domestic Coding Plan Codex guide, checked 2026-09-10:
https://docs.bigmodel.cn/cn/coding-plan/tool/codex
The guide places Codex under GLM Coding Plan and specifies the domestic
/api/v1endpoint with the Responses wire format. Its current local model-catalog example lists GLM-5.3 and GLM-5-Turbo. The example alone does not prove either Flash support or an authenticated HTTP/modelscontract; those need separate evidence.Suggested mapping or implementation notes
zhipu-bigmodel-responsesID to the existing domestic Coding Plan quota reader while retaining exact destination checks, domestic authentication, and redirect refusal.Related issues and PRs
api.z.aiquota eligibility for Anthropic/Responses paths. Related but different from this domestic provider-name omission.Checks