Skip to content

[Bug]: Model does "tool calling narrations" since 2026.3.7 #45271

@MexHigh

Description

@MexHigh

Bug type

Regression (worked before, now fails)

Summary

I just updated OpenClaw from 2026.3.2 to 2026.3.8. I found out that my agent now always sends text before calling a tool (e.g. role":"assistant", content: [ {"type":"text","text":"Blabla"}, {"type":"toolCall",...} ]).

This leads to much more messages being sent in the channel, most of which are quite unpersonal since they resemble neutral actions caused by a system prompt (as it seems).

I've managed to find out that this bug was introduced by the jump from version 2026.3.2 to 2026.3.7 (by downgrading). Before there were no {"type":"text"} calls before tool calls in the same request.


Before (no {"type":"text", ...} before the tool call):

{"type":"message","id":"7d33653f","parentId":"4541d9a1","timestamp":"2026-03-13T12:47:12.949Z","message":{"role":"assistant","content":[{"type":"toolCall","id":"ollama_call_fc556e19-48ea-4ece-a09b-e4a3591a828c","name":"web_search","arguments":{"count":10,"query":"Lionell Messi"}}],"stopReason":"toolUse","api":"ollama","provider":"ollama","model":"glm-5:cloud","usage":{"input":23501,"output":220,"cacheRead":0,"cacheWrite":0,"totalTokens":23721,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"timestamp":1773406032947}}

After (always {"type":"text", ...} before tool call):

{"type":"message","id":"7d33653f","parentId":"4541d9a1","timestamp":"2026-03-13T12:47:12.949Z","message":{"role":"assistant","content":[{"type":"text","text":"It is a football player. Let me see if there are any other relevant results:"},{"type":"toolCall","id":"ollama_call_fc556e19-48ea-4ece-a09b-e4a3591a828c","name":"web_search","arguments":{"count":10,"query":"Lionell Messi"}}],"stopReason":"toolUse","api":"ollama","provider":"ollama","model":"glm-5:cloud","usage":{"input":23501,"output":220,"cacheRead":0,"cacheWrite":0,"totalTokens":23721,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"timestamp":1773406032947}}

Steps to reproduce

  1. Configure Matrix channel (propably this does not only affect the Matrix channel)
  2. Write a prompt that will trigger more than just a single response (e.g. via tool call)
  3. See that multiple messages appear with the first one being a summary of the prompt in third person.

Expected behavior

The agent only send messages after each agentic turn and tool calls remain dedicated and filtered message objects.

{"type":"message","id":"7d33653f","parentId":"4541d9a1","timestamp":"2026-03-13T12:47:12.949Z","message":{"role":"assistant","content":[{"type":"toolCall","id":"ollama_call_fc556e19-48ea-4ece-a09b-e4a3591a828c","name":"web_search","arguments":{"count":10,"query":"Lionell Messi"}}],"stopReason":"toolUse","api":"ollama","provider":"ollama","model":"glm-5:cloud","usage":{"input":23501,"output":220,"cacheRead":0,"cacheWrite":0,"totalTokens":23721,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"timestamp":1773406032947}}

Actual behavior

The agent always send a text message in the same request before each tool call, which get sent into the channel.

{"type":"message","id":"7d33653f","parentId":"4541d9a1","timestamp":"2026-03-13T12:47:12.949Z","message":{"role":"assistant","content":[{"type":"text","text":"It is a football player. Let me see if there are any other relevant results:"},{"type":"toolCall","id":"ollama_call_fc556e19-48ea-4ece-a09b-e4a3591a828c","name":"web_search","arguments":{"count":10,"query":"Lionell Messi"}}],"stopReason":"toolUse","api":"ollama","provider":"ollama","model":"glm-5:cloud","usage":{"input":23501,"output":220,"cacheRead":0,"cacheWrite":0,"totalTokens":23721,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"timestamp":1773406032947}}

Especially the first message in a turn always is a "summary" of my prompt but referring to me in third person. This really makes this conversation feel unpersonal. I did not manage to fix this through the AGENTS.md (I think this part of the system prompt?)

OpenClaw version

2026.3.8

Operating system

Ubuntu Server 24.02 LTS

Install method

Custom docker compose stack, but using the official Docker image

Model

ollama/glm-5:cloud

Provider / routing chain

openclaw > local Ollama instance as "cloud proxy" > Ollama Cloud

Config file / key location

nothing that i can think of that has to do with this problem

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Image

In this image you can see that the first message always refers to me (Leon) in third person. This makes the conversation really feel unpersonal and I did not manage to fix this through the AGENTS.md (I think this part of the system prompt?)

Impact and severity

Affected: Matrix channel users
Severity: just annoying, but seems to be unintended
Frequency: always if there is more then one step in the agentic turn
Consequence: it is annoying and sometimes, the batching of all those messages causes rate limit hits on the Matrix server (already reported in #45118)

Additional information

I have not found a way to work around this.

Maybe it would be nice to have a config field to filter out all text messages that are within the same request as the tool call? I don't know if this is intended, but it makes the conversation feel unnatural and I think having the possibility to change this behavior would be nice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now failsstaleMarked as stale due to inactivity

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions