GLM-5.3 is out open-weight from Z.ai, and it is the first model I would point to when a team wants an agentic coding model they can serve themselves rather than pay per token for. The delta over the version I covered back in June is significant, and the deployment story is now turnkey.

The headline from the Z.ai model card: GLM-5.3 reuses the same base weights as GLM-5.2. Every gain is post-training. On their own numbers, that means 50% improvement on the in-house Z.ai Code Bench, open-source SOTA on Terminal Bench 3.0, and SOTA on CyberGym for vulnerability discovery.

Where the numbers actually land

The full benchmark table is the part worth reading. GLM-5.3 is the best open-weights model on the coding rows, though a couple of closed models still sit ahead:

Benchmark GLM-5.3 GLM-5.2 Kimi K3 GPT-5.6 Sol
Terminal Bench 2.1 88.2 81.0 88.3 88.8
Terminal Bench 3.0 28.3 4.6 17.4 34.6
DeepSWE (v1.1) 66.9 46.2 67.5 72.7
FrontierSWE 78.1 67.5
CyberGym 84.5 77.2 80.0 83.6
AutomationBench v1.0.6 48.2 26.2 46.7 45.8

The jump on Terminal Bench 3.0 — 4.6 to 28.3 — is the real signal. That benchmark is built for long-horizon, multi-step agentic work, and it is where the gap between a chat model and a model that can actually drive a terminal shows up. GLM-5.2 was effectively non-functional on it. GLM-5.3 is the best open-weights result on the board.

The two flags that change how you serve it

Two things in the model card are easy to miss and will bite you in a chat or agent loop:

  • reasoning_effort takes low, high, or max. It defaults to max if you do not pass it (or pass anything else). Use max if you want to reproduce the benchmark numbers; drop it for interactive latency.
  • clear_thinking defaults to false. In a chat scenario pass clear_thinking=true explicitly, or you will be re-sending the prior thinking block on every turn.

That second one is the kind of thing that quietly inflates your context window and your bill if you are not reading the card.

Getting it running

At 753B parameters in a MoE layout (the glm_moe_dsa architecture, BF16 / F8_E4M3 tensors), this is not a homelab model — you are looking at a multi-node GPU serving setup. The card documents SGLang, vLLM, TokenSpeed, Transformers, KTransformers, and Unsloth, plus Ascend NPU support via vLLM-Ascend and xLLM.

The minimal vLLM path:

pip install vllm
vllm serve "zai-org/GLM-5.3"
curl -X POST "http://localhost:8000/v1/chat/completions" \
  -H "Content-Type: application/json" \
  --data '{"model": "zai-org/GLM-5.3", "messages": [{"role": "user", "content": "ping"}]}'

There are already 23 community quantizations on the model page, so if full-precision is out of reach, you can drop to a quant and lose some of that Terminal Bench margin — the quantized numbers are not on the card, so I would not plan around the headline 88.2 if you are running a 4-bit build.

When I would and would not reach for it

I would reach for GLM-5.3 when the requirement is a self-hosted model that does long-horizon coding and the team already has the GPU budget for a 750B-class serve — it removes the per-token dependency on a frontier API and the data stays on your infrastructure.

I would not reach for it when you need it to beat GPT-5.6 Sol or Fable 5 outright (they lead on TB 3.0 and ExploitGym), or when you are on a single node and a quantized GLM-5.3 will not give you the full result. For a quick comparison of where it lands relative to the other open-weights options, see the GLM-5.2 agentic coding economics post.

The catch is the size. This is the most capable open agentic coding model on paper as of today, and it is also the one that will make you count GPUs before you count features.

Sources: