Skip to content

Malformed thinking block in toolcall (glm-4.7-free) #6039

Closed

Description

@kevingatera

Description

There seems to be a malformed tool call in the thinking block on the glm-4.7-free available via opencode zen. I understand it's in beta, but I wanted to report this just in case, since there was no feedback button within opencode. I had to re-ask but was confused on whether the chat was still ongoing because it had stopped but I re-asked the question again (see screenshots attached)

OpenCode version

1.0.191

Steps to reproduce

It's intermittent so I am not sure

Screenshot and/or share link

Image Image

Operating System

linux (Nobara)

Terminal

N/A

Activity

  1. github-actions commented on Dec 23, 2025

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    Feel free to ignore if your specific case with glm-4.7-free differs from these issues.

  2. ramarivera commented on Dec 23, 2025

    @ramarivera

    +1ing this one, the "it seems to have stopped completely" thing happens both on Zen GLM 4.7 and Z.AI coding plan's

  3. rekram1-node commented on Dec 23, 2025

    @rekram1-node
    Contributor

    glm-4.7-free was incorrectly not configured as an interleaved reasoning model.

    This should be fixed if you do opencode models --refresh

    Your cache will automatically refresh but this just forces it to so that you can have the fix sooner

  4. rekram1-node commented on Dec 23, 2025

    @rekram1-node
    Contributor
  5. ramarivera commented on Dec 23, 2025

    @ramarivera

    oh this is really sad for me :(
    I was working on a PR to to detect and extract the tool call from inside the thinking block cuz I assumed it was a GLM issue that required normalization in packages/opencode/src/provider/transform.ts

    Guess I should have asked first 😓

  6. ramarivera commented on Dec 24, 2025

    @ramarivera

    so, even with this fix, I still get tool calls in thinking blocks which causes the opencode workflow to stop e.g.

    Thinking: <tool_call>bash<arg_key>command</arg_key><arg_value>cat packages/portal/.generation-cache.json | jq '."volume", "artifact", "generatedAt", "tokens" | select(.volume == "openspec") | .artifact | .generatedAt | .tokens' 2>/dev/null</arg_value><arg_key>description</arg_key><arg_value>Check cache for openspec artifacts</arg_value></tool_call>
    

    EDIT: more examples

    Thinking: <tool_call>use_skill<arg_key>skill</arg_key><arg_value>handoff</arg_value></tool_call>
    
  7. crystech commented on Dec 25, 2025

    @crystech

    so, even with this fix, I still get tool calls in thinking blocks which causes the opencode workflow to stop e.g.

    Thinking: <tool_call>bash<arg_key>command</arg_key><arg_value>cat packages/portal/.generation-cache.json | jq '."volume", "artifact", "generatedAt", "tokens" | select(.volume == "openspec") | .artifact | .generatedAt | .tokens' 2>/dev/null</arg_value><arg_key>description</arg_key><arg_value>Check cache for openspec artifacts</arg_value></tool_call>
    

    EDIT: more examples

    Thinking: <tool_call>use_skill<arg_key>skill</arg_key><arg_value>handoff</arg_value></tool_call>
    

    +1 here. same issues on GLM 4.7 local llm

  8. rekram1-node commented on Dec 25, 2025

    @rekram1-node
    Contributor

    if u are still running into it it is entirely dependent on ir provider, if opencode is properly sending thinking chunks (the interleaved setting for model is correct) then it is on the provider of the model to properly parse the tool calls out and send them as such

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingzenRelates to Zen

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions