{"slug": "glm-5-3-hits-the-api-and-thinking-is-now-mandatory", "title": "GLM-5.3 Hits the API, and Thinking Is Now Mandatory", "summary": "Z.ai released GLM-5.3's token-metered API on August 18, 2026, at $1.40 input / $4.40 output per million tokens, the same rates as GLM-5.2, and OpenRouter listed the model the same day. The model, which launched August 14 via GLM Coding Plan subscriptions and the ZCode CLI, now requires thinking to be enabled, as requests with thinking disabled will fail. Pricing remains flat, but GLM-5.3 is more verbose than its predecessor, and benchmark claims are vendor self-reported with no independent audit yet.", "body_md": "GLM-5.3’s direct token-metered API went live on August 18, 2026 at $1.40 input / $4.40 output per million tokens — the same rates GLM-5.2 charged. The model itself launched four days earlier, on August 14, gated behind GLM Coding Plan subscriptions and the ZCode CLI. Nothing about the model changed in between; what changed is who can meter it, and what every integration must now accept: thinking can no longer be turned off.\n\nThat last clause is the part most coverage skipped. VentureBeat framed August 18 as a pricing story — the model “has now hit the application programming interface (API),” distinct from its debut the week before. TechNode and others led with a “50% coding gain” headline that, as we’ll show, refers to Z.ai’s own in-house benchmark. Neither walked through what actually breaks when a GLM-5.2 integration points at the new model ID.\n\nThis guide is that migration walkthrough: the exact parameter change that hard-fails unmigrated requests, the correct fallback mapping for workloads that used to disable thinking, what the unchanged price sheet does and doesn’t tell you about cost, and how to read benchmark claims where no independent audit exists yet. If you want the model capabilities themselves, start with [our August 14 launch coverage of GLM-5.3](/blog/glm-5-3-launch-post-training-scaling-coding-agents) — this post picks up where that one left off.\n\n- 01August 18 is an access milestone, not a new model.GLM-5.3 launched August 14 via GLM Coding Plan subscriptions and the ZCode CLI. On August 18, direct token-metered API pricing went live and OpenRouter listed the model the same day. Capabilities are identical across both dates.\n- 02Thinking can no longer be disabled — requests fail.Z.ai's API notes are explicit: thinking.type accepts only enabled on GLM-5.3. A GLM-5.2 integration still passing disabled will have its requests fail — not silently downgrade — until migrated.\n- 03The effort ladder is low / high / max. There is no medium.Default is max, the most expensive rung. Z.ai recommends max for coding tasks, and maps former disabled-thinking workloads to enabled plus reasoning_effort low.\n- 04Pricing is flat vs GLM-5.2, with no OpenRouter markup.$1.40 in / $4.40 out / $0.26 cached-read per million tokens — identical to GLM-5.2 and GLM-5.1. OpenRouter's live API record matches Z.ai's list to the cent. Cached-input storage is free only 'for a limited time.'\n- 05Flat per-token rates do not mean flat cost per task.Artificial Analysis found GLM-5.3 more verbose than its predecessor, and every Terminal-Bench figure in circulation is vendor self-reported — we found no GLM-5.2 or GLM-5.3 entry on the official tbench.ai leaderboards. Budget and verify accordingly.\n\n## 01 — The MilestoneSame model, *new meter*: what August 18 actually changed.\n\nGet the timeline right first, because a surprising amount of secondary coverage gets it wrong. GLM-5.3 launched on **August 14, 2026** — Z.ai’s own launch post internally dates its benchmark footnotes to that day. At launch, access ran exclusively through **GLM Coding Plan** subscriptions and coding agents wired into them — Z.ai’s own [ZCode agentic environment](/blog/zcode-glm-5-2-agentic-development-environment-guide), plus third-party harnesses like Claude Code and OpenCode routed through the same plans. Direct pay-per-token API access was not available.\n\nOn **August 18**, that changed: token-metered API pricing went live, and OpenRouter listed `z-ai/glm-5.3`\n\nthe same day (its listing record was created August 18 at 20:57 UTC). VentureBeat covered it that evening as exactly what it was — an access milestone for a model that had already debuted. Nothing about the model’s weights, capabilities, or behavior changed between the two dates, and any write-up implying an August 18 “new model” is simply misreading a listing date as a launch date.\n\n##### Subscription + *CLI* only\n\nGLM-5.3 debuts. Access runs through GLM Coding Plan subscriptions and coding agents (ZCode, Claude Code, OpenCode) attached to those plans. Direct API listed as coming soon.\n\n##### Token-metered *API* opens\n\nDirect pay-per-token access and pricing go live. OpenRouter lists the model the same day at identical rates. The model itself is unchanged — this is a distribution event.\n\nUnder the hood, GLM-5.3 uses the same base model as GLM-5.2 — Z.ai states plainly that all improvements come from post-training, not a new pretraining run. The spec sheet on both Z.ai’s docs and OpenRouter’s live record agrees: text-only input, a **1,048,576-token (1M) context window**, and a **131,072-token maximum output**. OpenRouter’s model description calls it “a large-scale reasoning model from Z.ai, built for complex software engineering and long-horizon agent tasks” — and, notably, independently restates that its built-in reasoning cannot be disabled. Which brings us to the actual story.\n\n## 02 — Breaking ChangeThinking is now *mandatory*, and unmigrated requests fail.\n\nBuried under the benchmark charts in Z.ai’s launch post is an “API Changes in GLM-5.3” section that matters more to working teams than any headline score. On GLM-5.2, the `thinking.type`\n\nparameter accepted `enabled`\n\nor `disabled`\n\n— so an integration on a latency-sensitive or cost-sensitive path could opt out of reasoning entirely. On GLM-5.3, that option is gone. The docs list `enabled`\n\nas both the only valid value and the default; `disabled`\n\nis explicitly no longer supported.\n\n\"GLM-5.3 supports three thinking effort levels: low, high, and max. Disabling thinking is no longer supported by GLM-5.3.\"— Z.ai, GLM-5.3 launch post, API Changes section\n\nThe word to take literally is *fail*. Z.ai’s migration note spells out both the consequence and the fix: “If your application currently uses thinking.type: ‘disabled’, change it to ‘enabled’ and set reasoning_effort to ‘low’ before updating the model ID to glm-5.3. Otherwise, the request will fail.” This is not a soft deprecation where the parameter gets ignored, and not a silent downgrade to some default behavior — the call errors out. Any retry logic wrapping those calls will burn attempts against a request that can never succeed until the payload changes.\n\nIn place of the on/off switch, GLM-5.3 exposes a three-rung effort ladder: `low`\n\n(lightweight reasoning), `high`\n\n(enhanced reasoning), and `max`\n\n(deep reasoning). Two details deserve attention. First, **there is no medium rung** — teams porting effort mappings from vendors whose ladders center on a medium setting have no direct equivalent, a wrinkle we cover across providers in [our cross-vendor guide to effort ladders](/blog/llm-reasoning-effort-ladders-cross-vendor-guide). Second, **the default is max** — the most expensive, most verbose rung. An integration that omits `reasoning_effort`\n\nentirely inherits the heaviest setting Z.ai offers, which is also the setting Z.ai explicitly recommends for coding tasks. That may be the right call for an agentic coding harness; it is almost certainly not the right default for a high-volume extraction pipeline that used to run with thinking disabled.\n\n`z-ai/glm-5.3`\n\nencodes the breaking change in machine-readable form: *reasoning mandatory, default enabled*, supported efforts max / high / low, default effort max. When the router’s own schema marks reasoning as mandatory, there is no header, flag, or provider trick that gets the old disabled behavior back.\n\n## 03 — MigrationThe GLM-5.2 → 5.3 migration diff, *parameter by parameter*.\n\nNo launch coverage we reviewed reproduced the actual before/after parameter behavior, so here it is as a working reference. The GLM-5.3 column and the migration actions come from Z.ai’s API Changes section and the GLM-5.3 developer docs — the vendor’s own guidance in both cases; the GLM-5.2 column is our summary of the behavior those docs replace. If you run GLM through a Claude Code-style harness rather than raw API calls, the same parameter semantics apply — see [our guide to running GLM models inside Claude Code](/blog/run-glm-5-2-inside-claude-code-setup-guide) for where these settings surface in that setup.\n\n| Parameter / behavior | GLM-5.2 | GLM-5.3 | Migration action |\n|---|---|---|---|\n`thinking.type` | `enabled` or `disabled` — thinking was optional | `enabled` only — the sole valid value and the default; `disabled` no longer supported | Set `enabled` everywhere before touching the model ID |\n`reasoning_effort` | Fast paths typically bypassed reasoning by disabling thinking outright | `low` / `high` / `max` — no medium rung; default `max` | Pick a rung explicitly; Z.ai recommends `max` for coding tasks |\nUnmigrated `disabled` request | Succeeds — no reasoning tokens | Fails. Z.ai’s word — not a silent downgrade, not an ignored parameter | Migrate payloads first; audit retry loops that would hammer a permanently failing call |\n| Former disabled-thinking workloads | Minimal-latency, minimal-token completions | Reasoning always on; some reasoning tokens unavoidable | Z.ai’s mapping: `enabled` + `reasoning_effort: low` — the closest behavioral match |\nOmitted `reasoning_effort` | No effect when thinking was disabled | Inherits `max` — the heaviest, most verbose rung | Never ship the implicit default on high-volume routes; set the rung deliberately |\n\nThe pattern worth internalizing: this is the reasoning-model direction of travel, not a Z.ai quirk. Vendors are increasingly treating chain-of-thought as a load-bearing part of model quality rather than an optional garnish, and “turn it off for cheap calls” is quietly disappearing as an architectural escape hatch. Teams that structured their routing around a binary thinking switch should expect to redo that work as an effort-ladder mapping — per vendor, because the ladders don’t align.\n\n## 04 — PricingFlat rates, *not* flat costs.\n\nThe price sheet is the least dramatic part of the announcement — deliberately so. GLM-5.3 lands at **$1.40 input / $4.40 output / $0.26 cached-read per million tokens**, the identical row GLM-5.2 and GLM-5.1 occupy on Z.ai’s live pricing table. (The base GLM-5 line is cheaper, at $1.00 / $3.20 / $0.20 — a different tier, not a discount on 5.3.) VentureBeat’s shorthand: a request consuming a million tokens in and a million out costs $5.80 at list. For how those GLM-5.2 rates originally compared across providers, see [our GLM-5.2 API pricing and provider comparison](/blog/glm-5-2-api-access-providers-price-comparison-2026).\n\n##### Per million tokens\n\nIdentical to GLM-5.2 and GLM-5.1 on Z.ai's live pricing table. The 5.1 / 5.2 / 5.3 line is a flat row — no launch premium, no launch discount.\n\n##### Per million tokens\n\nAlso unchanged. VentureBeat's combined framing: $5.80 for a 1M-in + 1M-out request at list rates. Output is where verbosity quietly moves the bill.\n\n##### Per million tokens\n\nCached-input reads are billed; cached-input storage is free only 'for a limited time' — Z.ai's own table labels it Limited-time Free, an explicitly temporary concession.\n\nTwo verification points strengthen the sheet’s credibility. First, **there is no OpenRouter markup**: the router’s live API record prices the model at exact per-token equivalents of $1.40 / $4.40 / $0.26 per million — matching Z.ai’s list to the cent. Routing through OpenRouter costs the same as going direct. Second, the pricing, context window, and mandatory-reasoning behavior are all independently confirmable from that same machine-readable record rather than only from the vendor’s announcement — worth more than another outlet paraphrasing the press release.\n\nNow the caveat that makes “unchanged pricing” a half-truth: **flat per-token rates do not mean flat cost per completed task**. Artificial Analysis found GLM-5.3 more verbose than its predecessor — and on a model where thinking can no longer be switched off and the default effort is `max`\n\n, longer completions are structural, not incidental. The same workload that cost X on GLM-5.2 with thinking disabled will consume more output tokens on GLM-5.3 even at identical rates. Budget owners should treat the migration as a rate-stable, volume-inflating event and re-baseline per-task cost after cutover, not before.\n\nOne adjacent system to keep separate: alongside the rollout, the GLM Coding Plan subscription moved to a points-based quota with off-peak calls consuming 50% of standard points, and ZCode is running a limited-time 1.5× quota boost through August 31. Those are subscription mechanics — they have nothing to do with the flat per-token API rates above, and conflating the two systems is a recurring error in the secondary coverage.\n\n## 05 — BenchmarksSelf-reported vs *audited*: reading the numbers honestly.\n\nThe launch headline that traveled furthest — a “50% coding gain” — deserves precise handling. Z.ai’s own sentence reads: “GLM-5.3 is the most capable open-weights model for coding, with a 50% improvement over GLM-5.2 on our in-house Z.ai Code Bench.” That one sentence stacks three claims worth separating: the 50% figure comes from Z.ai’s *own in-house* benchmark, not a public one; the “open-weights” framing describes the model’s announced future release form, not its current status (more on that in the next section); and public-benchmark deltas tell a far less uniform story.\n\nOn the public Terminal-Bench suites, Z.ai’s own footnoted table self-reports **88.2 vs 81.0** for GLM-5.3 vs GLM-5.2 on Terminal-Bench 2.1 — a +7.2-point gain — and **28.3 vs 4.6** on the newer, harder Terminal-Bench 3.0, a +23.7-point jump. Gains vary enormously by benchmark version, which is exactly why a single in-house headline number is the wrong summary. And a critical asterisk applies to both rows: neither has an independent cross-check yet.\n\n| Benchmark | GLM-5.3 (Z.ai self-report) | GLM-5.2 (Z.ai self-report) | Delta | Official tbench.ai leaderboard |\n|---|---|---|---|---|\n| Terminal-Bench 2.1 | 88.2 | 81.0 | +7.2 pts | No GLM-5.2 or GLM-5.3 entry. Only GLM-5.1 is listed, audited at 58.7% ± 1.2% |\n| Terminal-Bench 3.0 | 28.3 | 4.6 | +23.7 pts | No audited entry for either model that we could locate |\n\nThat leaderboard column is the genuinely underreported data point. The official Terminal-Bench 2.1 leaderboard’s only GLM entry is GLM-5.1, audited at 58.7% — roughly thirty points below the 88%-range scores the 5.x line posts under Z.ai’s own harness configuration (Claude Code 2.1.207, max reasoning effort, 6-hour timeout, all disclosed in the footnotes). That gap doesn’t prove the self-reports are wrong — harness, effort setting, and timeout legitimately move terminal-agent scores — but it does mean every GLM-5.3 Terminal-Bench number in circulation is a vendor self-report until an audited entry lands.\n\nTo Z.ai’s credit, its benchmark footnotes are unusually rigorous for a vendor blog — harness version, temperature, output budget, timeout, and judge model disclosed per benchmark, with two evaluations explicitly run by third parties (GDPval-AA v2 by Artificial Analysis; FrontierSWE by Proximal). Everything else is vendor-run. For a third-party signal published outside Z.ai’s own benchmark table, the numbers to reach for are the Artificial Analysis indices carried in OpenRouter’s own model record:\n\n#### Third-party scores published outside Z.ai's benchmark table\n\nSource: Artificial Analysis indices, as carried in OpenRouter's live model record — third-party scores, not Z.ai's numbersThe coding index leading the trio is consistent with what Z.ai optimized for — but note these are Artificial Analysis’s scores surfaced by OpenRouter, not Z.ai figures, and AA is also the source of the verbosity finding from the pricing section. The honest read for a team lead: GLM-5.3 is plausibly a meaningful coding upgrade over GLM-5.2, the magnitude is unverified outside the vendor’s own harness, and the only audited public leaderboard entry for the family remains a much older model. Run your own evals before repricing any routing decision on these numbers.\n\n## 06 — Open WeightsNot open-weight *yet* — despite what the aggregators say.\n\nA correction several model aggregators already need: as of its API launch, **GLM-5.3 is not an open-weight model**. The weights have not shipped. Z.ai’s own commitment is explicit and future-dated: “We will release the weights in two weeks after launch, once safety evaluation and hardening are complete” — putting the target around August 28, announced but not delivered. Listings that already file GLM-5.3 under open models are premature.\n\nThe reason for the delay is more interesting than a routine legal review. The same launch post documents at length what Z.ai calls the model’s emergent cyber capability — including that security teams running it against real-world codebases surfaced 2,436 candidate vulnerabilities across 269 open-source projects after expert screening, over a thousand of them rated medium-to-high severity. Weights you can download are weights whose safety mitigations you can remove; holding the release until a safety evaluation of exactly that capability completes is the connective tissue between those two sections of the announcement.\n\n*GLM-5.3 is an API-and-subscription model*. Teams with self-hosting or data-sovereignty requirements should plan against the announced ~August 28 target as a date that can slip — and note that Z.ai’s “most capable open-weights model” marketing line describes the intended release form, not something you can deploy on-prem today.\n\n## 07 — PlaybookThe migration playbook, *by workload*.\n\nPulling the threads together: the API opening makes GLM-5.3 meterable for the first time, the mandatory-thinking change decides how much migration work that takes, and the verbosity finding decides what it costs. Here’s how the decision falls for the four situations we see most often.\n\n##### GLM-5.2 with thinking off\n\nYou have real migration work. Apply Z.ai's mapping — thinking enabled, reasoning_effort low — before touching the model ID, then re-measure latency and per-task output tokens. Expect some cost inflation even on low; the old zero-reasoning profile no longer exists.\n\n##### Coding agents on *max*\n\nThe cleanest upgrade path. Z.ai recommends max for coding, the default is already max, and the highest of the three Artificial Analysis indices (74.8 coding) sits on exactly that axis. Verify on your own repos — the headline gains are vendor-benchmarked.\n\n##### Bulk extraction & classification\n\nThe riskiest default in the release: omitting reasoning_effort silently buys max, the most verbose rung, on a model AA already found more verbose than GLM-5.2. Pin low explicitly and re-baseline cost per thousand tasks before scaling traffic.\n\n##### Teams choosing by leaderboard\n\nEvery Terminal-Bench figure for GLM-5.3 is self-reported and we found no 5.2 or 5.3 entry on the official tbench.ai leaderboards. Treat vendor deltas as hypotheses, weight the third-party AA indices, and gate adoption on your own eval harness.\n\nThe projection we’d make: mandatory reasoning will look less like an outlier and more like a template. Post-training investment is now where model quality comes from — GLM-5.3 itself is the same base model as 5.2, improved entirely in post-training — and vendors protecting that investment have every incentive to stop letting callers switch the reasoning layer off. Migration playbooks like this one stop being release-notes trivia and become recurring engineering work. If your team wants help building the eval harnesses and routing architecture that make model swaps like this a one-day exercise instead of a quarter-long scramble, that’s exactly what our [AI transformation engagements](/services/ai-transformation) are built around.\n\n## 08 — ConclusionThe meter opened; the *off switch* closed.\n\n### Aug 18 changed who can meter GLM-5.3 — and confirmed you can no longer opt out of its thinking.\n\nStrip the coverage down and August 18 delivered exactly two facts: GLM-5.3 became payable by the token at GLM-5.2’s unchanged rates, on Z.ai directly and on OpenRouter *with no markup* — and every integration migrating to it must accept reasoning it can no longer disable, on a three-rung ladder with no medium and a max default.\n\nThe unchanged price sheet is real but incomplete. A more verbose model with mandatory thinking spends more output tokens per completed task, so the bill moves even when the rates don’t. And the benchmark story deserves adult supervision: the 50% figure is an in-house benchmark, the Terminal-Bench gains are self-reported at +7.2 and +23.7 points depending on version, and we found no audited entry for either model on the official tbench.ai leaderboards.\n\nOur advice is the boring kind that survives contact with production: migrate the `thinking.type`\n\nparameter before the model ID, set the effort rung deliberately on every route, re-baseline per-task cost after cutover, and let your own eval harness — not a vendor’s harness — decide whether GLM-5.3 earns the traffic.", "url": "https://wpnews.pro/news/glm-5-3-hits-the-api-and-thinking-is-now-mandatory", "canonical_source": "https://www.digitalapplied.com/blog/glm-5-3-api-opens-thinking-no-longer-optional", "published_at": "2026-08-18 00:00:00+00:00", "updated_at": "2026-08-22 05:42:45.894791+00:00", "lang": "en", "topics": ["large-language-models", "ai-products", "ai-tools", "ai-infrastructure"], "entities": ["Z.ai", "GLM-5.3", "GLM-5.2", "OpenRouter", "GLM Coding Plan", "ZCode CLI", "VentureBeat", "Artificial Analysis"], "alternates": {"html": "https://wpnews.pro/news/glm-5-3-hits-the-api-and-thinking-is-now-mandatory", "markdown": "https://wpnews.pro/news/glm-5-3-hits-the-api-and-thinking-is-now-mandatory.md", "text": "https://wpnews.pro/news/glm-5-3-hits-the-api-and-thinking-is-now-mandatory.txt", "jsonld": "https://wpnews.pro/news/glm-5-3-hits-the-api-and-thinking-is-now-mandatory.jsonld"}}