openclaw - ✅(Solved) Fix [Bug]: Kimi/k2p5 tool calls expose raw JSON instead of executing in OpenClaw 2026.4.2 [1 pull requests, 4 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#60059Fetched 2026-04-08 02:36:56
View on GitHub
Comments
4
Participants
3
Timeline
12
Reactions
0
Timeline (top)
commented ×4referenced ×3closed ×1cross-referenced ×1

After upgrading to OpenClaw 2026.4.2, Kimi tool calls are completely broken. The model outputs raw tool call JSON directly in the response instead of executing the tool. This is different from the previously reported arguments: {} bug (#59327).

Root Cause

After upgrading to OpenClaw 2026.4.2, Kimi tool calls are completely broken. The model outputs raw tool call JSON directly in the response instead of executing the tool. This is different from the previously reported arguments: {} bug (#59327).

Fix Action

Fix / Workaround

Workaround: Use minimax-cn/MiniMax-M2.7 instead of kimi/k2p5

PR fix notes

PR #60391: fix(kimi-coding): Make tool calling works again by remove OpenAI toolSchemaMode and toolChoiceMode

Description (problem / solution / changelog)

Summary

  • Problem: kimi-for-coding not usable after 2026.4.2 to current main version
  • Why it matters: it cause openclaw un-usable for user, who using kimi-for-coding.
  • What changed: Using anthropic style calling
  • What did NOT change (scope boundary): every other part except for kimi-coding extension.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #60059
  • Related #
  • This PR fixes a bug or regression

Root Cause / Regression History (if applicable)

  • Root cause: Kimi code K2.5 always work in anthropic-message format.
  • Missing detection / guardrail:
  • Prior context (git blame, prior PR, issue, or refactor if known):
  • Why this regressed now: Unknown
  • If unknown, what was ruled out:

Regression Test Plan (if applicable)

For bug fixes or regressions, name the smallest reliable test coverage that should have caught this. Otherwise write N/A.

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file:
  • Scenario the test should lock in:
  • Why this is the smallest reliable guardrail:
  • Existing test that already covers this (if any):
  • If no new test is added, why not:

User-visible / Behavior Changes

Before fix:

<img width="834" height="538" alt="image" src="https://github.com/user-attachments/assets/ebb6dd29-989c-46dc-b64c-c6c9e2c2cd8a" />

After fix:

<img width="851" height="538" alt="image" src="https://github.com/user-attachments/assets/cf945252-ba2d-4ee0-8252-2129b525edbf" />

Diagram (if applicable)

N/A

Security Impact (required)

  • New permissions/capabilities?: No
  • Secrets/tokens handling changed?: No
  • New/changed network calls?: Yes/No
  • Command/tool execution surface changed?: Yes/No
  • Data access scope changed?: Yes/No
  • If any Yes, explain risk + mitigation:

Repro + Verification

Environment

  • OS: MacOS
  • Runtime/container: brew install node@24
  • Model/provider: kimi-for-coding
  • Integration/channel (if any): kimi
  • Relevant config (redacted): see below
{
  "version": 1,
  "profiles": {
    "kimi-coding:default": {
      "type": "api_key",
      "provider": "kimi-coding",
      "key": "sk-kimi-key"
    },
  },
  "lastGood": {
    "kimi-coding": "kimi-coding:default",
  },
  "usageStats": {
    "kimi-coding:default": {
      "lastUsed": 1775229293844,
      "errorCount": 0,
      "lastFailureAt": 1774701235004
    }
  }
}

Steps

  1. Say hello or /new

Expected

  • tool call executed

Actual

我来获取这篇文章并全文翻译。 <|tool_calls_section_begin|> <|tool_call_begin|> functions.web_fetch:0 <|tool_call_argument_begin|> {"url": "https://socket.dev/blog/hidden-blast-radius-of-the-axios-compromise"} <|tool_call_end|> <|tool_calls_section_end|>

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

What you personally verified (not just CI), and how:

  • Verified scenarios: Yew
  • Edge cases checked: No

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.

Compatibility / Migration

  • Backward compatible? No
  • Config/env changes? No
  • Migration needed? No
  • If yes, exact upgrade steps: No need

Risks and Mitigations

None

Changed files

  • CHANGELOG.md (modified, +1/-0)
  • extensions/kimi-coding/index.ts (modified, +2/-2)
  • extensions/kimi-coding/stream.ts (modified, +0/-7)
  • src/agents/pi-embedded-runner-extraparams.test.ts (modified, +25/-21)
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Summary

After upgrading to OpenClaw 2026.4.2, Kimi tool calls are completely broken. The model outputs raw tool call JSON directly in the response instead of executing the tool. This is different from the previously reported arguments: {} bug (#59327).

Environment

  • OpenClaw version: 2026.4.2
  • Model: kimi/k2p5
  • Default model: kimi/k2p5
  • Operating system: Ubuntu (Linux 6.8.0)
  • Node.js: v24.13.0

Steps to reproduce

  1. Start a chat session with kimi/k2p5
  2. Ask the model to perform any tool call (e.g., "read the file /path/to/file")
  3. Observe the raw JSON tool call appears in the response instead of being executed

Expected behavior

Tool calls should be executed normally, as they were before the 4.2 upgrade.

Actual behavior

The response contains raw tool call JSON visible to the user. Example:

read:8-3{"file_path": "/home/openclaw/.openclaw/workspace-yuanshan/IDENTITY.md"}

The JSON is not executed - it is displayed as plain text in the response.

Additional context

  • MiniMax M2.7 works correctly with the same tool calls
  • This appears to be a regression in OpenClaw 4.2 for Kimi models
  • The tool call JSON is visible to the user, meaning the OpenClaw tool execution pipeline is not intercepting it
  • This is a different symptom from the previously reported #59327 (arguments: {} issue)

Impact

All Kimi/k2p5 tool calls are completely non-functional in OpenClaw 4.2.


Workaround: Use minimax-cn/MiniMax-M2.7 instead of kimi/k2p5

extent analysis

TL;DR

Downgrade to a previous version of OpenClaw or use an alternative model like MiniMax M2.7 as a temporary workaround.

Guidance

  • Verify that the issue is specific to Kimi models by testing tool calls with other models, such as MiniMax M2.7, which is reported to work correctly.
  • Check the OpenClaw documentation and release notes for version 2026.4.2 to see if there are any known issues or changes related to tool call execution.
  • Test tool calls with a different Kimi model to determine if the issue is specific to the kimi/k2p5 model.
  • Consider reporting the issue to the OpenClaw developers, as this appears to be a regression in version 4.2.

Example

No code snippet is provided, as the issue is related to the behavior of the OpenClaw tool and Kimi model, rather than a specific code implementation.

Notes

The workaround suggested in the issue, using MiniMax M2.7 instead of kimi/k2p5, may not be suitable for all use cases, and downgrading OpenClaw may have other implications.

Recommendation

Apply the workaround by using MiniMax M2.7 instead of kimi/k2p5, as this is reported to work correctly and can provide a temporary solution until the issue is resolved in OpenClaw.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Tool calls should be executed normally, as they were before the 4.2 upgrade.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix [Bug]: Kimi/k2p5 tool calls expose raw JSON instead of executing in OpenClaw 2026.4.2 [1 pull requests, 4 comments, 3 participants]