Symptoms
• Assistant returns raw <function_calls>...</function_calls> blocks as literal text
• Tools are NOT executed; no actual tool calls dispatched
• Response contains malformed XML instead of tool results
Regression Window
• Last known good: Yesterday (2026-03-10), tool execution functional
• First observed: Today (2026-03-11) after OpenClaw upgrade to 2026.3.2
• Frequency: 100% reproduction rate on all tool attempts
Environment
• Runtime: kimi-coding/k2p5 (default model, unchanged from yesterday)
• Channel: Telegram DM (telegram:65617588)
• Streaming config: channels.telegram.streaming: "partial" (active)
• Host: Ubuntu / Linux 6.12.54-Unraid
• OpenClaw version: 2026.3.2 (upgraded today)
Reproduction Steps
- User sends any request requiring tool use (e.g., memory_search, exec)
- Assistant attempts tool call (visible in thought process)
- Output layer returns raw <function_calls>...</function_calls> XML as literal message text
- No actual tool execution occurs
Suspected Triggers
• Telegram streaming pathway (streaming: "partial") may be bypassing tool execution parser
• Possible regression in message serialization between model output → dispatcher
• Upgrade artifact: 2026.3.2 vs 2026.2.25 delta
Hypothesis
Streaming transport is capturing raw model output before tool XML gets parsed/handled. When streaming is active, the tool XML is treated as response content rather than executable directives. Not sure if it's the streaming or something in the most recent version.