GLM-5.3 drops the “thinking: disabled” flag, so any integration that passed {"thinking":{"type":"disabled"}} now returns an error instead of a response. The change broke dozens of test suites overnight and forces developers to rewrite a single line of code to keep their applications running.
Why the shift matters
In GLM-5.2 the API let callers turn thinking mode off for trivial prompts. That option was a common pattern in automation scripts, batch-processing pipelines and low-latency bots. GLM-5.3 removed the flag altogether and introduced three effort levels—low, high and max—with max as the default. The new model always generates a reasoning trace; it can no longer be silenced completely.
What broke and how it propagates
When the request body contains "type":"disabled" the server rejects the payload, returning a generic failure response. No authentication or syntax errors appear, so the problem can be hard to spot until a full regression run fails. Because the flag lived in a single, reusable helper function in many codebases, the impact rippled through large test suites and production endpoints alike.
The exact code change
Replace the old payload:
extra_body = {"thinking": {"type": "disabled"}}
with the GLM-5.3-compatible version:
extra_body = {"thinking": {"type": "enabled", "effort": "low"}}
The "type":"enabled" key re-activates the reasoning engine, while "effort":"low" mimics the speed of the former disabled mode as closely as the new model permits.
Performance implications
Running the same code-review prompts with the low-effort setting yields results that are “close to the old speed” but not identical. The model still emits a reasoning trace, which adds a few extra tokens and a modest latency bump. In high-throughput or latency-critical workloads you should benchmark your own data to confirm that the overhead is acceptable.
Why migrate despite the cost
GLM-5.3 retains the 744-billion-parameter architecture of its predecessor but refocuses on coding and agentic tasks. Independent benchmarks (Terminal-Bench 3.0) show a noticeable jump in scores, and internal tests reported better detection of logic errors across multiple files. For teams that rely on the model for complex code analysis, the performance gains can outweigh the small increase in token consumption.
The trade-off you can’t ignore
If an application truly needs zero-thinking responses—e.g., a pure token-completion service—it now has no native option in GLM-5.3. Developers must either accept the extra reasoning output or switch to a different model that still offers a disabled mode.
What to watch next
- Latency monitoring: After the payload change, track response times and token counts to spot regressions early.
- Effort tuning: Some workloads may benefit from “high” effort without a full penalty, so experiment beyond the low setting.
- Future deprecations: The removal of a single flag suggests the API could see more consolidations; keep an eye on upcoming release notes.
Bottom line: Updating the thinking payload to {"type":"enabled","effort":"low"} restores compatibility with GLM-5.3. Verify latency and token usage in your pipelines, and decide whether the improved coding capabilities justify the unavoidable reasoning trace.
Discussion and community support are available at the GyaanSetu AI Telegram channel.
