# GLM 5.2 leaves Mistral on Oct 31: what to move and test

URL: https://infro.io/blog/glm-5-2-leaves-mistral-on-oct-31-what-to-move-and-test
Author: INFRO Editorial (https://infro.io/blog/editorial)
Publisher: INFRO
Published: 2026-10-29
Last modified: 2026-10-29
Last reviewed: 2026-10-29 (next review due 2026-11-28)
Topic: Routing and reliability
Format: Brief

> Mistral retires zai-glm-5-2 on 31 October 2026 and names zai-glm-5-3 as the replacement at the same price [^mistral-changelog]. Search code, config and request logs for the id, test the successor (and GLM 5.3 Flash as a separate candidate) on your own prompts, then put a fallback in front before the date.

Key takeaways:
- Mistral's changelog says zai-glm-5-2 retires on 31 October 2026 and names zai-glm-5-3 as the replacement at the same price.
- GLM 5.3 Flash is a separate, smaller model with its own rates, not Mistral's named successor; qualify it as a candidate, not a drop-in.
- Search for the model id in code, config, prompt stores and request logs; hosted third-party ids differ in spelling per platform.
- A fallback only helps if the replacement has been tested on your prompts before the cutoff.

## What is retiring, and what the vendor says to use

Mistral's changelog lists Z.ai GLM 5.2 (`zai-glm-5-2`) as deprecated, retiring on 31 October 2026, and says to use Z.ai GLM 5.3 (`zai-glm-5-3`) instead, at the same price.[1] GLM 5.3 became generally available on Mistral on 28 September.[1] The page does not say how a request to the retired id will fail, so plan for an error and do not assume an automatic redirect.

GLM 5.3 Flash (`zai-glm-5-3-flash`) arrived on 22 October. Mistral describes it as a multimodal mixture-of-experts model with 320B parameters, 18B active and a 1M-token context, at $0.15 input, $0.03 cached input and $0.50 output per million tokens.[1] It is not the named successor. It is a different model, and the changelog gives no rate for `zai-glm-5-3`, so compare the two on your own bill before choosing.

This is a different class of problem from the usual calendar entry. The model is a third party's, served under a host's id, and the host sets the date. INFRO's own tracker lists it as a Mistral shutdown, with the date four days out when it was last updated.[2]

## Find every call, including the ones that are not in code

Hosted third-party ids are spelled differently per platform. Mistral uses `zai-glm-5-2`. Alibaba Model Studio's recommended list shows GLM 5.3 as both `glm-5.3` and `ZHIPU/GLM-5.3`.[3] Perplexity's Agent API uses `provider/model` ids such as `openai/gpt-5.4`.[4] Search for all spellings:

```bash
rg -n -i 'zai-glm-5-2|glm[-_. ]?5[-_.]?2|zhipu/glm' \
  --glob '!node_modules' --glob '!*.lock' .
# also: .env files, Helm values, feature-flag exports, prompt/config tables
```

Code is the easy half. The harder places are a config table, a feature-flag payload, an eval harness, a notebook and a vendor's no-code workflow that stores a model string. Then check traffic, not just source: group the last 30 days of requests by model id in your gateway or provider logs. A string that appears there but not in your repo is a caller you have not found. Perplexity's October retirement notice told users to update "direct model selections and fallback chains" before the cutoff, which is the same two places to look.[4]

## Choose the successor and test it first

Start with `zai-glm-5-3`, since the vendor names it. Add `zai-glm-5-3-flash` only if you want the lower-rate tier and are willing to qualify it separately. Before moving traffic, replay a sample of real prompts against each candidate and check:

- **Output shape:** JSON validity, tool-call arguments and refusal behaviour on your own schemas.
- **Length and latency:** time to first token and total tokens per task, since a model that answers longer costs more at the same rate.
- **Cost per task:** use the list rates your provider bills, then your contract rate if you have one.
- **Region and key:** Model Studio regions differ in endpoints, supported models and pricing, and API keys are not interchangeable across regions.[5] A model id that works in one region may not exist in another.

> **Example: Illustrative two-day plan**
> These steps are illustrative, not a vendor schedule. Today: run the search and the log query, list owners. 30 October: replay 200 stored prompts against the successor and the Flash candidate, compare failures by category, ship the winner to a small share of traffic. 31 October: leave the old id only as a first-position fallback that you expect to fail, and watch error rates.

## Put a failover rule in front

A migration done in one deploy has no way back. A rule in front of the call lets you change the model without shipping code, and keeps one working path if the new one misbehaves.

With INFRO, name a route in your application and put the model choice in the route's targets. Priority targets are tried in order, and weighted targets let you send a small share to the candidate first.[6] Failover applies before the first token; a provider 5xx, timeout, 429 or even a 404 moves the request to the next target.[7] If you call a model directly, a request-level `fallbacks` array takes up to five catalog model ids, tried in order once the primary has failed.[7]

```python
from openai import OpenAI

client = OpenAI(base_url="https://api.infro.io/v1", api_key="INFRO_API_KEY")
resp = client.chat.completions.create(
    model="<primary: tested GLM 5.3 id>",
    messages=[{"role": "user", "content": "..."}],
    # ids below are placeholders; use catalog ids from /providers
    extra_body={"fallbacks": ["<second: Flash candidate>"]},
)
```

`fallbacks` is ignored when `model` names a route, so use one mechanism per call site.[7] A fallback is cross-model: your outputs will change when it fires. That is why the replay test comes first. For teams that already record retirements in INFRO, the model-lifecycle capability warns organizations still sending a retiring model and, from the shutdown date, refuses it before any provider call, naming the replacement.

## After the date

Check three things on 1 November: no request still names `zai-glm-5-2`, the fallback is not carrying more than its expected share, and cost per task moved the way your replay predicted. The same checks apply to the next hosted-model retirement. See the [deprecation calendar](https://infro.io/blog/ai-model-deprecation-calendar) for dated entries and the [migration playbook](https://infro.io/blog/model-deprecation-migration-playbook) for the general sequence.

## Questions

### Is GLM 5.3 Flash the official replacement for GLM 5.2 on Mistral?

No. Mistral's changelog names zai-glm-5-3 as the replacement, at the same price as GLM 5.2 [1]. GLM 5.3 Flash (zai-glm-5-3-flash) is a separate model released on 22 October, so treat it as a candidate to test.

### Does Alibaba Model Studio retire GLM 5.2 on the same day?

The Model Studio pages read for this article do not announce a GLM 5.2 retirement date. Each platform keeps its own schedule, so check the model's page in your region.

## Sources

1. Changelog — Mistral. https://docs.mistral.ai/resources/changelogs (accessed 2026-10-29)
2. AI model updates: releases, price changes and shutdowns — INFRO. https://infro.io/ai-updates (accessed 2026-10-29)
3. Recommended models, Alibaba Cloud Model Studio — Alibaba Cloud. https://www.alibabacloud.com/help/en/model-studio/models (accessed 2026-10-29)
4. Changelog — Perplexity. https://docs.perplexity.ai/docs/resources/changelog (accessed 2026-10-29)
5. What is Alibaba Cloud Model Studio — Alibaba Cloud. https://www.alibabacloud.com/help/en/model-studio/what-is-model-studio (accessed 2026-10-29)
6. Routes — INFRO. https://infro.io/docs/routes (accessed 2026-10-29)
7. Failover & fallbacks — INFRO. https://infro.io/docs/features/fallbacks (accessed 2026-10-29)
