I’m having the same issue, it can’t read files and instead prints XML representing the tool call…
Hi @krisreads Yup this is part of the issue, we’ve got eyes on it and we’ll let you know when it’s fixed!
Any timeline for this? This affects the people who are on a primarily GLM 5.2 workflow. ![]()
Same issue with GLM 5.2 for the past 8hrs, whenever tool calling happens, chat terminates with tool calling log.
Hello,
I worked the last couple of days with the model GLM 5.2. all worked fine but since 2 days something is wrong. I ask the agent, it starts and the reply is like this
Let me read the full family-v.ts file to understand the patterns, then read the catalog V.json and other key files.<tool_call>Read<arg_key>path</arg_key><arg_value>/Users/XX/repository/XXX/packages/director-shared/src/scene-templates/authored/family-v.ts</arg_value></tool_call>
and from this onwards it is freezing. Nothing is working.
When i select now other model such as opus 4.8 or Grok, it works fine.
me too
Describe the Bug
GLM 5.2 MAX is not handling tool calls correctly in Agent Mode.
When the model attempts to use tools such as grep, read, or other file-search actions, the calls are not executed. Instead, the raw tool call markup is printed directly in the chat, and the agent exits silently without completing the requested task.
Example of raw tool call markup shown in chat:
… I should use the explore agent or do this directly. Let me start by searching for relevant files.<tool_call>Grep<arg_key>glob</arg_key><arg_value>/*.{ts,tsx}</arg_value><arg_key>head_limit</arg_key><arg_value>50</arg_value><arg_key>output_mode</arg_key><arg_value>files_with_matches</arg_value><arg_key>pattern</arg_key><arg_value>delete.document|deleteDocument|removeDocument|trash</arg_value></tool_call><tool_call>Grep<arg_key>glob</arg_key><arg_value>/.{ts,tsx}</arg_value><arg_key>head_limit</arg_key><arg_value>50</arg_value><arg_key>output_mode</arg_key><arg_value>files_with_matches</arg_value><arg_key>pattern</arg_key><arg_value>analisi|analysis|analyses</arg_value></tool_call>
Additionally, reasoning text appears to be exposed as part of the assistant response, instead of being handled as internal reasoning.
Steps to Reproduce
Steps to Reproduce
- Open Agent Mode.
- Select GLM 5.2 MAX as the active model.
- Send any request that requires the agent to use tools.
- Wait for the response.
- The raw tool call markup is displayed in the chat, and the agent exits silently.
Expected Behavior
GLM 5.2 MAX should execute tool calls correctly in Agent Mode and complete the requested task without exposing raw tool call markup in the chat.
Operating System
Windows 10/11
Version Information
Version: 3.10.11 (user setup)
VS Code Extension API: 1.125.0
Commit: 4ef9fe3d055f8c4523179a090f14eb835bc3c940
Date: 2026-07-03T04:44:14.398Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.256
OS: Windows_NT x64 10.0.26200
For AI issues: which model did you use?
GLM 5.2 MAX
Does this stop you from using Cursor
No - Cursor works, but with this issue
Hi all!
Thank for the continued reports. It would help us a lot if you could share the Request ID of an affected chat.
Here is one Request ID for you to check out:
1aa10687-40aa-4092-95e3-1ac9769b7622
Describe the Bug
Bug: GLM 5.2 (high / max) does not invoke Cursor IDE tools — only replies in chat
Summary
When using the GLM 5.2 model in high and max (reasoning) modes, the model does not initiate tool calls within the Cursor IDE. Instead of executing commands via shell, reading files, searching, etc., the model only generates a text response in chat, describing what it intends to do without actually invoking the tools.
Environment
OS: macOS (darwin 25.5.0)
IDE: Cursor
Model: GLM 5.2 (high / max reasoning)
Comparison: other models (e.g., Claude Sonnet, GPT-5.x) correctly invoke tools under the same conditions.
Reproduction steps
Open Cursor IDE, start a new chat with the GLM 5.2 model (high or max).
Send a request that requires a tool call, for example:
“Use the Cursor CLI and ping any model from there”
“Read the package.json file and tell me what dependencies are installed”
“Run git status in the terminal”
Observe the model’s response.
Expected behavior
The model should invoke the corresponding IDE tools (Shell, Read, Grep, etc.) and return the result of their execution, as other models do under the same conditions.
Actual behavior
The model only replies with text in chat. In the first response it describes the intent (“let me check…”) but does not invoke the tool. Only after the user explicitly points it out again (“what’s the problem, why did you reply in chat instead of calling the tool”) does the model start invoking tools.
Impact
GLM 5.2 (high/max) cannot be used for agentic tasks in Cursor: code edits, command execution, repository search, file reading — none of these run until a repeated “nudge”.
Increased latency and token consumption: the user is forced to repeat the request to make the model invoke a tool.
Behavior is unpredictable: after one “nudge” the model starts working correctly, but in a new session the bug reproduces again.
Hypothesis (for investigation only, not for fixing)
The issue may be related to how the reasoning variants of GLM 5.2 (high/max) process the system prompt describing available tools: the model “thinks” through the response but never reaches the step of emitting tool-call tokens, or the emission happens but is not parsed correctly by the Cursor frontend. In non-reasoning modes (low/medium) the bug may not reproduce — worth checking.
Reproducibility
Reproduces consistently in a new session with GLM 5.2 high/max.
Does not reproduce with other models in the same session/configuration.
Steps to Reproduce
Open Cursor IDE, start a new chat with the GLM 5.2 model (high or max).
Send a request that requires a tool call, for example:
“Use the Cursor CLI and ping any model from there”
“Read the package.json file and tell me what dependencies are installed”
“Run git status in the terminal”
Observe the model’s response.
Expected Behavior
The model should invoke the corresponding IDE tools (Shell, Read, Grep, etc.) and return the result of their execution, as other models do under the same conditions.
Operating System
MacOS
Version Information
Version: 3.10.20 (Universal)
VS Code Extension API: 1.125.0
Commit: 23b9fb205fe595ea2be29da7214e19762d037fc0
Date: 2026-07-07T07:03:33.071Z
Layout: IDE
Build Type: Stable
Release Track: Default
Electron: 40.10.3
Chromium: 144.0.7559.236
Node.js: 24.15.0
V8: 14.4.258.32-electron.0
xterm.js: 6.1.0-beta.256
OS: Darwin arm64 25.5.0
For AI issues: which model did you use?
z.ai glm 5.2 HIGH / MAX
Does this stop you from using Cursor
No - Cursor works, but with this issue
Currently, every attempt returns the same result. Is there any timeline for this? Those of us who are primarily on a GLM 5.2 workflow are hoping for an early resolution.
Hi Kevin, thanks for getting back to me. I’m using cursor from my company’s subscription and cannot change this setting. I will try to reproduce it in my personal account.
@kevinn Can we get this put on the status page for Cursor? Effectively cursor is down for a whole model type and we don’t have a way to follow the status.
+1 here. It took me some time to find this thread and looking at the status page was the first thing I did ![]()
Hi @Peter_Marcellino Thank you for the post. Generally we only update the status page for serious incidents or issues with 1st party or model provider issues for major API providers. BYOK issues generally don’t make it to the status page. I understand this can be disappointing, but we want to reserve the status page for critical issues that impact the majority of users.
GLM is not a first party model. First party models would be Auto, Composer, Cursor Grok, and then 3rd Party major API providers would be Anthropic, OpenAI, Google etc.
my point was, it’s not BYOK. it’s a model offered by cursor directly
My understanding is that this is not a BYOK issue, GLM model is available in the Cursor’s models dropdown, without any extra API key configured


