openclaw - ✅(Solved) Fix [Bug]: Kimi 系列模型调用 read 工具时反复漏传 path 参数,导致循环报错 Missing required parameter: path alias [1 pull requests, 10 comments, 6 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#55039Fetched 2026-04-08 01:33:20
View on GitHub
Comments
10
Participants
6
Timeline
20
Reactions
1
Timeline (top)
commented ×10cross-referenced ×4labeled ×2referenced ×2

问题: Kimi 系列模型调用 read 工具时反复漏传 path 参数,导致循环报错 Missing required parameter: path alias 复现场景: 使用 kimi-coding / kimi-moonshot 作为 agent 模型,启动新会话执行 BOOTSTRAP 流程时必现 根本原因: Kimi 对 required 字段遵循不稳定,需要在工具的 description 字段里也明确说明参数必填 建议修复: 在 read 工具定义的 description 中加一句,例如: "path 参数必填,例如:path='BOOTSTRAP.md'" 日志内容:16:09:41+08:00 typing TTL reached (2m); stopping typing indicator 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_gdgU9WjBxrBSZOX4Wy3I3KTI argsType=object 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_tDBt6C95lkZ65lZmNB5y7AU9 argsType=object 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_1GNBUqC529XIElDCmgvAgvRQ argsType=object 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_LHs6N5c5BEuJCLE9dRNr5J8J argsType=object 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_V8qhH8eRhvgV0i6z1WFnNNih argsType=object 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Q9QRGSL4vxi6YRgtSac1jCYp argsType=object 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:06+08:00 [ws] ⇄ res ✓ config.schema 159ms conn=c4d7bd8d…4e8c id=b0d65675…9599 16:10:06+08:00 [ws] ⇄ res ✓ config.get 56ms conn=c4d7bd8d…4e8c id=69e62825…bd93 16:10:13+08:00 [ws] ⇄ res ✓ config.get 236ms conn=c4d7bd8d…4e8c id=b1cc81e9…e296 16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_TePj641OvjftDFYWXkyyo3bB argsType=object 16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dmjEeJZZjIUUJgthuZYFawNX argsType=object 16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:27+08:00 [ws] ⇄ res ✓ chat.history 85ms conn=c4d7bd8d…4e8c id=36e60ecb…167e 16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_f3Mu1xMktz6HbslxCWV93goj argsType=object 16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WpWdjjnLBjWtFcpUHUXjrmSi argsType=object 16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_9aweyinjsy56zmxLrx3NTKS1 argsType=object 16:11:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:41+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xAuRaDveH4pRUFIh3Z9YAPgF argsType=object 16:11:41+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:12:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_ciM3NsaqnA5uA7Qfr6TQdoif argsType=object 16:12:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:12:51+08:00 [agent/embedded] read tool called without path: toolCallId=tool_lAwYt44xSmEyh87vAhUf9F9e argsType=object 16:12:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:13:27+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xtf5o3bTHmw0fiZMgHiustz5 argsType=object 16:13:27+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:13:50+08:00 [agent/embedded] read tool called without path: toolCallId=tool_zzc09mVQF4b8CnClofkEI8OV argsType=object 16:13:50+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:08+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Ywy2mPNhfaoytswLA7E0PHEd argsType=object 16:14:08+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:22+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Z0fvUjRWO0g6QcqeZZiV0iTW argsType=object 16:14:22+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_jNnD5TyCdg4zsjfuJCxNytES argsType=object 16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WIH89jszr0laGNzXkv9Adi2U argsType=object 16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:04+08:00 [agent/embedded] read tool called without path: toolCallId=tool_AAy0R3vZwWtYokEq7gJuCS7P argsType=object 16:15:04+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:04+08:00 [ws] ⇄ res ✓ sessions.list 53ms conn=c4d7bd8d…4e8c id=02c69a09…3eca 16:15:15+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dWtbqAXXiHL9i3VS9yaI6YrM argsType=object 16:15:15+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:42+08:00 [diagnostic] lane wait exceeded: lane=session:agent:main:feishu:direct:ou_effd346519030cba456e8300610635fb waitedMs=270913 queueAhead=0

Root Cause

问题: Kimi 系列模型调用 read 工具时反复漏传 path 参数,导致循环报错 Missing required parameter: path alias 复现场景: 使用 kimi-coding / kimi-moonshot 作为 agent 模型,启动新会话执行 BOOTSTRAP 流程时必现 根本原因: Kimi 对 required 字段遵循不稳定,需要在工具的 description 字段里也明确说明参数必填 建议修复: 在 read 工具定义的 description 中加一句,例如: "path 参数必填,例如:path='BOOTSTRAP.md'" 日志内容:16:09:41+08:00 typing TTL reached (2m); stopping typing indicator 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_gdgU9WjBxrBSZOX4Wy3I3KTI argsType=object 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_tDBt6C95lkZ65lZmNB5y7AU9 argsType=object 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_1GNBUqC529XIElDCmgvAgvRQ argsType=object 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_LHs6N5c5BEuJCLE9dRNr5J8J argsType=object 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_V8qhH8eRhvgV0i6z1WFnNNih argsType=object 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Q9QRGSL4vxi6YRgtSac1jCYp argsType=object 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:06+08:00 [ws] ⇄ res ✓ config.schema 159ms conn=c4d7bd8d…4e8c id=b0d65675…9599 16:10:06+08:00 [ws] ⇄ res ✓ config.get 56ms conn=c4d7bd8d…4e8c id=69e62825…bd93 16:10:13+08:00 [ws] ⇄ res ✓ config.get 236ms conn=c4d7bd8d…4e8c id=b1cc81e9…e296 16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_TePj641OvjftDFYWXkyyo3bB argsType=object 16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dmjEeJZZjIUUJgthuZYFawNX argsType=object 16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:27+08:00 [ws] ⇄ res ✓ chat.history 85ms conn=c4d7bd8d…4e8c id=36e60ecb…167e 16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_f3Mu1xMktz6HbslxCWV93goj argsType=object 16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WpWdjjnLBjWtFcpUHUXjrmSi argsType=object 16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_9aweyinjsy56zmxLrx3NTKS1 argsType=object 16:11:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:41+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xAuRaDveH4pRUFIh3Z9YAPgF argsType=object 16:11:41+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:12:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_ciM3NsaqnA5uA7Qfr6TQdoif argsType=object 16:12:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:12:51+08:00 [agent/embedded] read tool called without path: toolCallId=tool_lAwYt44xSmEyh87vAhUf9F9e argsType=object 16:12:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:13:27+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xtf5o3bTHmw0fiZMgHiustz5 argsType=object 16:13:27+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:13:50+08:00 [agent/embedded] read tool called without path: toolCallId=tool_zzc09mVQF4b8CnClofkEI8OV argsType=object 16:13:50+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:08+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Ywy2mPNhfaoytswLA7E0PHEd argsType=object 16:14:08+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:22+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Z0fvUjRWO0g6QcqeZZiV0iTW argsType=object 16:14:22+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_jNnD5TyCdg4zsjfuJCxNytES argsType=object 16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WIH89jszr0laGNzXkv9Adi2U argsType=object 16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:04+08:00 [agent/embedded] read tool called without path: toolCallId=tool_AAy0R3vZwWtYokEq7gJuCS7P argsType=object 16:15:04+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:04+08:00 [ws] ⇄ res ✓ sessions.list 53ms conn=c4d7bd8d…4e8c id=02c69a09…3eca 16:15:15+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dWtbqAXXiHL9i3VS9yaI6YrM argsType=object 16:15:15+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:42+08:00 [diagnostic] lane wait exceeded: lane=session:agent:main:feishu:direct:ou_effd346519030cba456e8300610635fb waitedMs=270913 queueAhead=0

Fix Action

Fixed

PR fix notes

PR #54491: fix(kimi): preserve valid Anthropic-compatible toolCall arguments in malformed-args repair

Description (problem / solution / changelog)

Summary

  • Problem: When using Kimi in Anthropic-compatible (anthropic-messages) mode, the malformed toolCall-arguments repair logic could fail to preserve otherwise-valid JSON arguments (resulting in missing/empty tool arguments).
  • Why it matters: Tool execution depends on correct toolCall.arguments; losing valid arguments can cause wrong tool behavior, failures, or unexpected “empty args” executions.
  • What changed: Adjusted the Kimi/Anthropic toolCall-argument repair path to keep valid, complete JSON arguments intact and only apply “balanced-prefix + short trailing junk” repair when the arguments are actually malformed.
  • What did NOT change (scope boundary): No changes to tool dispatch logic, tool allowlists, transcript storage, or non-Kimi providers.

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

Root Cause / Regression History (if applicable)

  • Root cause: The malformed-args repair wrapper for Kimi/Anthropic streams treated some valid toolCall argument payloads as candidates for repair, and under certain stream delta patterns it could clear/override arguments instead of preserving the complete JSON object.
  • Missing detection / guardrail: Unit coverage focused on “valid JSON + short trailing junk” but didn’t adequately lock in “valid JSON must remain unchanged” across all relevant stream delta/event sequences.
  • Prior context (git blame, prior PR, issue, or refactor if known): Unknown.
  • Why this regressed now: Likely triggered by Kimi’s Anthropic-compatible streaming behavior (toolcall deltas containing } early / nested JSON / event chunking), which increased the chance the heuristic attempted repair at the wrong time.
  • If unknown, what was ruled out: Not an auth/key issue and not a tool registry/dispatch mismatch; reproduces at the stream parsing/repair layer.

Regression Test Plan (if applicable)

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: src/agents/pi-embedded-runner/run/attempt.test.ts (malformed toolCall args repair tests)
  • Scenario the test should lock in: When toolCall arguments are already valid JSON (including nested objects), the repair path must not alter or clear them; when valid JSON is followed by 1–3 trailing junk characters, it should repair to the valid object.
  • Why this is the smallest reliable guardrail: This bug is purely in the stream repair/parsing layer; unit tests can deterministically simulate deltas/events without requiring a live model.
  • Existing test that already covers this (if any): The suite includes a test for “trailing junk follows valid JSON”; this PR strengthens/extends coverage to ensure valid JSON remains intact.
  • If no new test is added, why not: N/A

User-visible / Behavior Changes

None (except improved reliability of tool execution for Kimi Anthropic-compatible runs).

Security Impact (required)

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

Repro + Verification

Environment

  • OS: macOS
  • Runtime/container: Node.js (local)
  • Model/provider: kimi-coding/k2p5
  • Integration/channel (if any): N/A
  • Relevant config (redacted): Provider set to kimi, model API anthropic-messages

Steps

  1. Configure provider kimi with Anthropic-compatible API (anthropic-messages).
  2. Trigger a tool call where arguments are a valid nested JSON object (e.g. {"path":{"a":"/tmp/report.txt"}}) and/or where streaming deltas include early } tokens.
  3. Observe tool call arguments during/after stream assembly.

Expected

  • Valid JSON arguments are preserved exactly and passed to tool execution unchanged.

Actual

  • Arguments could be cleared/overwritten in the repair path, resulting in incomplete or empty arguments passed to tools.

Evidence

Attach at least one:

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

Human Verification (required)

  • Verified scenarios: Ran the unit tests for the malformed toolCall-arguments repair and confirmed that the final assembled message preserves valid arguments; also confirmed that the “short trailing junk” repair still works. Before the fix, with Kimi in Anthropic-messages streaming mode, multiple consecutive tool_call invocations could carry empty arguments; after the fix, empty-argument tool calls no longer occur.
  • Edge cases checked: -
  • What you did not verify: -

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? (Yes/No): Yes
  • Config/env changes? (Yes/No): No
  • Migration needed? (Yes/No): No
  • If yes, exact upgrade steps: N/A

Failure Recovery (if this breaks)

  • How to disable/revert this change quickly: Revert this commit; alternatively disable the Kimi/Anthropic malformed-args repair wrapper if maintainers prefer.
  • Files/config to restore: src/agents/pi-embedded-runner/run/attempt.ts
  • Known bad symptoms reviewers should watch for: Tool calls executed with {}/missing required parameters; intermittent tool failures only on Kimi Anthropic-compatible runs.

Risks and Mitigations

  • Risk: Repair logic might still be triggered too aggressively for some unusual streaming chunk patterns.
    • Mitigation: Keep repair gated to Kimi + anthropic-messages, retain strict trailing-suffix limits, and add/extend unit coverage for representative delta sequences.

Changed files

  • src/agents/pi-embedded-runner/run/attempt.test.ts (modified, +48/-0)
  • src/agents/pi-embedded-runner/run/attempt.ts (modified, +9/-3)

Code Example

16:09:41+08:00 typing TTL reached (2m); stopping typing indicator
16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_gdgU9WjBxrBSZOX4Wy3I3KTI argsType=object
16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_tDBt6C95lkZ65lZmNB5y7AU9 argsType=object
16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_1GNBUqC529XIElDCmgvAgvRQ argsType=object
16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_LHs6N5c5BEuJCLE9dRNr5J8J argsType=object
16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_V8qhH8eRhvgV0i6z1WFnNNih argsType=object
16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Q9QRGSL4vxi6YRgtSac1jCYp argsType=object
16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:06+08:00 [ws] ⇄ res ✓ config.schema 159ms conn=c4d7bd8d…4e8c id=b0d65675…9599
16:10:06+08:00 [ws] ⇄ res ✓ config.get 56ms conn=c4d7bd8d…4e8c id=69e62825…bd93
16:10:13+08:00 [ws] ⇄ res ✓ config.get 236ms conn=c4d7bd8d…4e8c id=b1cc81e9…e296
16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_TePj641OvjftDFYWXkyyo3bB argsType=object
16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dmjEeJZZjIUUJgthuZYFawNX argsType=object
16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:27+08:00 [ws] ⇄ res ✓ chat.history 85ms conn=c4d7bd8d…4e8c id=36e60ecb…167e
16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_f3Mu1xMktz6HbslxCWV93goj argsType=object
16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WpWdjjnLBjWtFcpUHUXjrmSi argsType=object
16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:11:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_9aweyinjsy56zmxLrx3NTKS1 argsType=object
16:11:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:11:41+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xAuRaDveH4pRUFIh3Z9YAPgF argsType=object
16:11:41+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:12:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_ciM3NsaqnA5uA7Qfr6TQdoif argsType=object
16:12:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:12:51+08:00 [agent/embedded] read tool called without path: toolCallId=tool_lAwYt44xSmEyh87vAhUf9F9e argsType=object
16:12:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:13:27+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xtf5o3bTHmw0fiZMgHiustz5 argsType=object
16:13:27+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:13:50+08:00 [agent/embedded] read tool called without path: toolCallId=tool_zzc09mVQF4b8CnClofkEI8OV argsType=object
16:13:50+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:14:08+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Ywy2mPNhfaoytswLA7E0PHEd argsType=object
16:14:08+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:14:22+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Z0fvUjRWO0g6QcqeZZiV0iTW argsType=object
16:14:22+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_jNnD5TyCdg4zsjfuJCxNytES argsType=object
16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WIH89jszr0laGNzXkv9Adi2U argsType=object
16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:15:04+08:00 [agent/embedded] read tool called without path: toolCallId=tool_AAy0R3vZwWtYokEq7gJuCS7P argsType=object
16:15:04+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:15:04+08:00 [ws] ⇄ res ✓ sessions.list 53ms conn=c4d7bd8d…4e8c id=02c69a09…3eca
16:15:15+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dWtbqAXXiHL9i3VS9yaI6YrM argsType=object
16:15:15+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:15:42+08:00 [diagnostic] lane wait exceeded: lane=session:agent:main:feishu:direct:ou_effd346519030cba456e8300610635fb waitedMs=270913 queueAhead=0
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Summary

问题: Kimi 系列模型调用 read 工具时反复漏传 path 参数,导致循环报错 Missing required parameter: path alias 复现场景: 使用 kimi-coding / kimi-moonshot 作为 agent 模型,启动新会话执行 BOOTSTRAP 流程时必现 根本原因: Kimi 对 required 字段遵循不稳定,需要在工具的 description 字段里也明确说明参数必填 建议修复: 在 read 工具定义的 description 中加一句,例如: "path 参数必填,例如:path='BOOTSTRAP.md'" 日志内容:16:09:41+08:00 typing TTL reached (2m); stopping typing indicator 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_gdgU9WjBxrBSZOX4Wy3I3KTI argsType=object 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_tDBt6C95lkZ65lZmNB5y7AU9 argsType=object 16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_1GNBUqC529XIElDCmgvAgvRQ argsType=object 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_LHs6N5c5BEuJCLE9dRNr5J8J argsType=object 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_V8qhH8eRhvgV0i6z1WFnNNih argsType=object 16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Q9QRGSL4vxi6YRgtSac1jCYp argsType=object 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:06+08:00 [ws] ⇄ res ✓ config.schema 159ms conn=c4d7bd8d…4e8c id=b0d65675…9599 16:10:06+08:00 [ws] ⇄ res ✓ config.get 56ms conn=c4d7bd8d…4e8c id=69e62825…bd93 16:10:13+08:00 [ws] ⇄ res ✓ config.get 236ms conn=c4d7bd8d…4e8c id=b1cc81e9…e296 16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_TePj641OvjftDFYWXkyyo3bB argsType=object 16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dmjEeJZZjIUUJgthuZYFawNX argsType=object 16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:10:27+08:00 [ws] ⇄ res ✓ chat.history 85ms conn=c4d7bd8d…4e8c id=36e60ecb…167e 16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_f3Mu1xMktz6HbslxCWV93goj argsType=object 16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WpWdjjnLBjWtFcpUHUXjrmSi argsType=object 16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_9aweyinjsy56zmxLrx3NTKS1 argsType=object 16:11:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:11:41+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xAuRaDveH4pRUFIh3Z9YAPgF argsType=object 16:11:41+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:12:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_ciM3NsaqnA5uA7Qfr6TQdoif argsType=object 16:12:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:12:51+08:00 [agent/embedded] read tool called without path: toolCallId=tool_lAwYt44xSmEyh87vAhUf9F9e argsType=object 16:12:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:13:27+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xtf5o3bTHmw0fiZMgHiustz5 argsType=object 16:13:27+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:13:50+08:00 [agent/embedded] read tool called without path: toolCallId=tool_zzc09mVQF4b8CnClofkEI8OV argsType=object 16:13:50+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:08+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Ywy2mPNhfaoytswLA7E0PHEd argsType=object 16:14:08+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:22+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Z0fvUjRWO0g6QcqeZZiV0iTW argsType=object 16:14:22+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_jNnD5TyCdg4zsjfuJCxNytES argsType=object 16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WIH89jszr0laGNzXkv9Adi2U argsType=object 16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:04+08:00 [agent/embedded] read tool called without path: toolCallId=tool_AAy0R3vZwWtYokEq7gJuCS7P argsType=object 16:15:04+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:04+08:00 [ws] ⇄ res ✓ sessions.list 53ms conn=c4d7bd8d…4e8c id=02c69a09…3eca 16:15:15+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dWtbqAXXiHL9i3VS9yaI6YrM argsType=object 16:15:15+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying. 16:15:42+08:00 [diagnostic] lane wait exceeded: lane=session:agent:main:feishu:direct:ou_effd346519030cba456e8300610635fb waitedMs=270913 queueAhead=0

Steps to reproduce

根本原因: Kimi 对 required 字段遵循不稳定,需要在工具的 description 字段里也明确说明参数必填

Expected behavior

建议修复: 在 read 工具定义的 description 中加一句,例如: "path 参数必填,例如:path='BOOTSTRAP.md'"

Actual behavior

建议修复: 在 read 工具定义的 description 中加一句,例如: "path 参数必填,例如:path='BOOTSTRAP.md'"

OpenClaw version

2026.3.24

Operating system

win10

Install method

node.js/cmd

Model

kimi-coding / kimi-moonshot

Provider / routing chain

moonshot

Additional provider/model setup details

No response

Logs, screenshots, and evidence

16:09:41+08:00 typing TTL reached (2m); stopping typing indicator
16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_gdgU9WjBxrBSZOX4Wy3I3KTI argsType=object
16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_tDBt6C95lkZ65lZmNB5y7AU9 argsType=object
16:09:48+08:00 [agent/embedded] read tool called without path: toolCallId=tool_1GNBUqC529XIElDCmgvAgvRQ argsType=object
16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:09:48+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_LHs6N5c5BEuJCLE9dRNr5J8J argsType=object
16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_V8qhH8eRhvgV0i6z1WFnNNih argsType=object
16:10:05+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Q9QRGSL4vxi6YRgtSac1jCYp argsType=object
16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:05+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:06+08:00 [ws] ⇄ res ✓ config.schema 159ms conn=c4d7bd8d…4e8c id=b0d65675…9599
16:10:06+08:00 [ws] ⇄ res ✓ config.get 56ms conn=c4d7bd8d…4e8c id=69e62825…bd93
16:10:13+08:00 [ws] ⇄ res ✓ config.get 236ms conn=c4d7bd8d…4e8c id=b1cc81e9…e296
16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_TePj641OvjftDFYWXkyyo3bB argsType=object
16:10:16+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dmjEeJZZjIUUJgthuZYFawNX argsType=object
16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:16+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:10:27+08:00 [ws] ⇄ res ✓ chat.history 85ms conn=c4d7bd8d…4e8c id=36e60ecb…167e
16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_f3Mu1xMktz6HbslxCWV93goj argsType=object
16:11:00+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WpWdjjnLBjWtFcpUHUXjrmSi argsType=object
16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:11:00+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:11:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_9aweyinjsy56zmxLrx3NTKS1 argsType=object
16:11:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:11:41+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xAuRaDveH4pRUFIh3Z9YAPgF argsType=object
16:11:41+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:12:14+08:00 [agent/embedded] read tool called without path: toolCallId=tool_ciM3NsaqnA5uA7Qfr6TQdoif argsType=object
16:12:14+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:12:51+08:00 [agent/embedded] read tool called without path: toolCallId=tool_lAwYt44xSmEyh87vAhUf9F9e argsType=object
16:12:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:13:27+08:00 [agent/embedded] read tool called without path: toolCallId=tool_xtf5o3bTHmw0fiZMgHiustz5 argsType=object
16:13:27+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:13:50+08:00 [agent/embedded] read tool called without path: toolCallId=tool_zzc09mVQF4b8CnClofkEI8OV argsType=object
16:13:50+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:14:08+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Ywy2mPNhfaoytswLA7E0PHEd argsType=object
16:14:08+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:14:22+08:00 [agent/embedded] read tool called without path: toolCallId=tool_Z0fvUjRWO0g6QcqeZZiV0iTW argsType=object
16:14:22+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_jNnD5TyCdg4zsjfuJCxNytES argsType=object
16:14:53+08:00 [agent/embedded] read tool called without path: toolCallId=tool_WIH89jszr0laGNzXkv9Adi2U argsType=object
16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:14:53+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:15:04+08:00 [agent/embedded] read tool called without path: toolCallId=tool_AAy0R3vZwWtYokEq7gJuCS7P argsType=object
16:15:04+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:15:04+08:00 [ws] ⇄ res ✓ sessions.list 53ms conn=c4d7bd8d…4e8c id=02c69a09…3eca
16:15:15+08:00 [agent/embedded] read tool called without path: toolCallId=tool_dWtbqAXXiHL9i3VS9yaI6YrM argsType=object
16:15:15+08:00 [tools] read failed: Missing required parameter: path alias. Supply correct parameters before retrying.
16:15:42+08:00 [diagnostic] lane wait exceeded: lane=session:agent:main:feishu:direct:ou_effd346519030cba456e8300610635fb waitedMs=270913 queueAhead=0

Impact and severity

卡任务

Additional information

No response

extent analysis

Fix Plan

To fix the issue of the read tool being called without a path parameter, we need to modify the tool's definition to explicitly state that the path parameter is required.

Here are the steps to follow:

  • Locate the read tool definition in your codebase.
  • Add a description to the tool definition that includes a note about the path parameter being required, for example:
const readTool = {
  // ... other properties ...
  description: "Reads a file. Path parameter is required, for example: path='BOOTSTRAP.md'",
  // ... other properties ...
}
  • Alternatively, if you are using a framework or library to define your tools, you may need to use a specific syntax or function to set the description. Consult the documentation for your framework or library for more information.

Verification

To verify that the fix worked, try calling the read tool again and check the logs for any error messages related to the path parameter. If the fix was successful, you should no longer see errors about the path parameter being missing.

Extra Tips

  • Make sure to test your changes thoroughly to ensure that the read tool is working as expected with the updated description.
  • Consider adding additional validation or error handling to your tool definitions to catch and handle missing or invalid parameters.
  • If you are using a version control system, be sure to commit your changes and update your documentation accordingly.

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

建议修复: 在 read 工具定义的 description 中加一句,例如: "path 参数必填,例如:path='BOOTSTRAP.md'"

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 系列模型调用 read 工具时反复漏传 path 参数,导致循环报错 Missing required parameter: path alias [1 pull requests, 10 comments, 6 participants]