Skip to content

Migrating from GLM-5.2 to GLM-5.3

GLM-5.2 (zai/glm-5.2) retires at 5:00 PM AEDT on Tuesday 10 November 2026. After that, any request that names it returns an error. Its replacement, GLM-5.3 (zai/glm-5.3), is available now.

GLM-5.3 is Z.ai’s post-training refresh of GLM-5.2. The model architecture is the same, and it is tuned further for long-horizon agentic work, coding and tool use. It runs on the same OpenAI-compatible endpoint, so your API key, SDK and base URL stay as they are.

Most integrations need two changes: the model name and, if you set it, the reasoning effort. Read the reasoning section before switching, because GLM-5.3 handles reasoning differently from GLM-5.2.

Replace With
zai/glm-5.2 zai/glm-5.3
response = client.chat.completions.create(
model="zai/glm-5.3", # was "zai/glm-5.2"
messages=[{"role": "user", "content": "Hello"}],
)

Check the places a model name tends to hide, as well as your application code:

  • Coding tools and agent frameworks. A provider entry such as resetdata/zai/glm-5.2 in an OpenCode configuration file needs updating too (see Coding tools).
  • Environment variables and saved configuration, for example a MODEL or ANTHROPIC_MODEL variable.
  • Scheduled jobs and batch scripts that run less often than your main application, and so are the most likely to break unnoticed after the retirement.

GLM-5.2 let you switch reasoning off. GLM-5.3 always reasons: Z.ai’s model does not offer a non-thinking mode.

If you currently disable reasoning on GLM-5.2 with any of these:

  • reasoning_effort: "none"
  • reasoning_effort: "minimal"
  • thinking: {"type": "disabled"}

then GLM-5.3 runs at its highest effort, max, instead. That is the opposite of what you asked for: responses are slower and use more output tokens, which are billed.

Send reasoning_effort: "low" to get the lightest reasoning GLM-5.3 offers.

response = client.chat.completions.create(
model="zai/glm-5.3",
messages=messages,
reasoning_effort="low", # was "none" on GLM-5.2
)

GLM-5.3 has three native levels: low, high and max. GLM-5.2’s levels were mapped differently, so the same value can now do something different.

If you send today GLM-5.2 ran at GLM-5.3 runs at To keep similar behaviour
none, minimal, or thinking disabled no reasoning max send low
low high low send high
medium high max send high
high high high no change
xhigh or max max max no change
nothing (field omitted) max high send max for the same depth

Two of these are easy to miss:

  • medium gets heavier. On GLM-5.2 it ran as high. On GLM-5.3 it runs as max. If you chose medium as a middle setting, send high.
  • Omitting the field gets lighter. GLM-5.2 reasoned at max by default. GLM-5.3 uses high. If you relied on the default for hard problems, send max explicitly.

These mappings follow Z.ai’s own documentation for each model. You can confirm them from the API:

Terminal window
curl -s "https://api.resetdata.ai/api/v1/models/detail?slug=zai/glm-5.3" \
-H "Authorization: Bearer $RESETDATA_API_KEY" \
| jq '.default_parameters | {reasoning_effort_levels, reasoning_effort_default}'

GLM-5.3 has a smaller maximum context window than GLM-5.2. If you send very long prompts or run long agentic sessions, check the current limit before you switch; a request above it is rejected. The model detail call above returns it as context_length, and the catalog shows it alongside pricing.

GLM-5.3 is also priced differently. Current rates are on its page in the catalog.

Run a representative sample of your prompts and tool calls against zai/glm-5.3 before switching production traffic.

Your first requests may be slower than you are used to. The prompt cache is held per model, so everything starts uncached on GLM-5.3. Once your repeated prompt prefixes are cached again, latency and input cost settle. Keep your reasoning effort fixed while you compare: on these models the level is written into the start of the prompt, so changing it between requests also misses the cache.

For a general checklist when moving between any two models, see Switching models safely.

  • Your API keys, workspace and wallet balance.
  • The endpoint (/api/v1/chat/completions) and request format.
  • Supported request parameters, including tool calling (tools and tool_choice) and structured output (response_format).
  • The maximum length of a single response (max_completion_tokens).
  • Hosting: GLM-5.3 is served from Australia, as GLM-5.2 is.

Questions, or need help validating your prompts? Contact support@resetdata.com.au.