Skip to content

[Provider compatibility] Complete Z.AI GLM-5.3 Coding Plan metadata #1734

Closed

Description

@terrytan95

Client or integration

Codex CLI and Codex App.

Provider or upstream service

Z.AI GLM Coding Plan.

OpenCodex version

dev at 02abe0afa (the released main line does not yet include GLM-5.3).

Endpoint or capability

Z.AI Coding Plan model catalog and reasoning.effort metadata for glm-5.3 / glm-5.3[1m].

Current behaviour

The released line does not advertise GLM-5.3. A preliminary direct commit on dev now registers the two Coding Plan aliases and their three effective effort tiers, but it omits the documented default effort and per-model output limit. Catalog generation therefore selects high as default_reasoning_level even though Z.AI documents max as the model default.

Expected behaviour

OpenCodex should advertise zai/glm-5.3 and zai/glm-5.3[1m] with the published Coding Plan contract: text input, 1M context, 128K maximum output, effective effort tiers low / high / max, and default effort max.

The scope should remain the Z.AI Coding Plan route. Z.AI currently marks the pay-as-you-go GLM-5.3 API as "coming soon", so Coding Plan availability alone should not be treated as proof that unrelated provider endpoints support the same model id.

Minimal redacted request or reproduction

bun -e '<build the static zai catalog from the provider registry and print glm-5.3 defaults>'

No API key or upstream request is required; this is deterministic catalog metadata.

Actual response or error

{"slug":"zai/glm-5.3","default_reasoning_level":"high","supported_reasoning_levels":["low","high","max","ultra"],"context_window":1000000}
{"slug":"zai/glm-5.3[1m]","default_reasoning_level":"high","supported_reasoning_levels":["low","high","max","ultra"],"context_window":1000000}

Upstream documentation

The switching guide documents model ids, endpoints, effort folding, and the max default. The model page documents text input, 1M context, 128K maximum output, and that the general API is still coming soon while Coding Plan access is live.

Suggested mapping or implementation notes

Keep the existing OpenAI Chat adapter and bracket-suffix stripping. Add registry-owned modelDefaultReasoningEfforts and modelMaxOutputTokens entries for both Coding Plan aliases so the existing derivation, routing, and catalog code carries the official metadata end to end.

Additional context and attachments

dev commit d00dfdba1e52f3fbac2b172ff23d77a660e5608a added preliminary GLM-5.3 rows directly and has no associated PR. This issue tracks the remaining Z.AI-specific contract rather than duplicating that registration.

Checks

  • I searched existing provider and compatibility issues.
  • The request and response were redacted.
  • The expected behaviour is based on an upstream specification or a concrete client requirement.

Activity

  1. coderabbitai commented on Aug 15, 2026

    @coderabbitai
    Contributor
    🔗 Related PRs

    #536 - [WRONG BRANCH] feat(providers): add Zhipu AI GLM provider (open.bigmodel.cn) [open]
    #853 - feat(server): advertise reasoning-effort ladders on the raw /v1/models list [merged]
    #889 - fix(providers): Copilot mixed-wire routing, DeepSeek service_tier + reasoning replay, Claude 4.6/4.7 1M windows [open]
    #963 - fix(catalog): preserve provider capabilities on custom models [open]
    #1716 - feat(models): per-custom-model reasoning effort in the Models dashboard [open]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

  2. added
    enhancementNew feature or request
    catalogModel catalog, slugs, visibility, routed entries
    on Aug 15, 2026
  3. Ingwannu commented on Aug 15, 2026

    @Ingwannu
    Owner

    Confirmed on current dev against the published Z.AI Coding Plan contract.

    The two GLM-5.3 Coding Plan aliases and their effective low / high / max ladder are already present, but the registry does not currently declare the documented default effort (max) or the 128K maximum output limit. As a result, catalog derivation can choose the wrong default and cannot advertise the model-specific output cap.

    I will keep the correction scoped to zai/glm-5.3 and zai/glm-5.3[1m]:

    • add registry-owned modelDefaultReasoningEfforts entries set to max;
    • add registry-owned modelMaxOutputTokens entries set to 128000;
    • verify that seeding, routing, and generated catalog metadata preserve both values.

    I will not use Coding Plan availability as evidence for unrelated pay-as-you-go or aggregator endpoints.

  4. Ingwannu commented on Aug 15, 2026

    @Ingwannu
    Owner

    Implemented in #1762.

    The patch is restricted to the Z.AI Coding Plan aliases and adds the official max default effort plus the 128,000-token output cap. It also pins propagation through registry seeding, key-login derivation, routing, and generated catalog defaults.

    Validation on current dev:

    • provider registry parity suite: 37 passed
    • typecheck passed
    • privacy scan passed
    • diff check passed

    The issue remains linked to the PR and will close only when the fix lands.

  5. added 2 commits that reference this issue on Aug 15, 2026
    ad89bc0
    8dcb834
  6. lidge-jun commented on Aug 15, 2026

    @lidge-jun
    Owner

    Completed on dev as 8dcb834 (squash of #1762).

    GLM-5.3 now carries its default reasoning effort and output budget for both the plain and bracketed ids, so routed callers stop falling back to the provider default.

    One correction against the PR as submitted: the output budget landed as 131_072, not 128_000. The vendor page prints a rounded "128K", but src/generated/model-metadata.ts and every other GLM-5.x entry in this repository use the exact 131072, and this value is injected as max_tokens when a caller omits one — so it is behavioral, not display-only. Coding Plan pricing stays unasserted because the vendor has not published it.

    Verified on the remote validation host: 142 pass / 0 fail across tests/provider-registry-parity.test.ts, tests/openai-chat-hardening.test.ts, tests/reasoning-effort.test.ts, tests/openai-chat-model-suffix.test.ts.

    Thanks @Ingwannu.

  7. added a commit that references this issue on Sep 17, 2026
    d3df8eb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    catalogModel catalog, slugs, visibility, routed entriesenhancementNew feature or requestproviderProvider adapters, OpenAI-compat presets, upstream API quirksprovider-compatibilityProvider compatibility reports

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions