Skip to content

[Bug]: Tool Parameter Serialization Failure #54978

Description

@wl4811544

Bug type

Regression (worked before, now fails)

Summary

Version: OpenClaw 2026.3.24 (cff6dc9)
Environment: Windows 10, Node v24.14.0, PowerShell
Model: kimi/k2p5

Issue Description

When calling tools that require parameters, the parameters fail to serialize and pass to the Runtime layer. Validation errors show received arguments as empty object {}.

Reproduction Steps

  1. Start any session
  2. Attempt to call a tool with parameters, e.g.:
    {"command": "echo test"}
  3. Error returned:
    Validation failed for tool "exec":
    - command: must have required property 'command'
    Received arguments: {}
    

Test Results

Tool Parameters Result
session_status none ✅ Works
exec {"command": "..."} ❌ Parameters lost
web_fetch {"url": "..."} ❌ Parameters lost
read {"path": "..."} ❌ "Missing required parameter: path alias"

Key Observations

  • Parameter-less tools work fine, ruling out basic connectivity issues
  • Different error messages between read and exec suggest inconsistent parameter alias handling
  • Configuration appears normal (gateway.mode: local, port: 18789)

Impact

All parameter-requiring tools are non-functional, severely limiting capabilities.

Workaround

Use CLI commands as alternatives (e.g., curl instead of web_fetch).


指挥官,英文版已准备好。可直接复制到 GitHub Issues 或 Discord 反馈。

Steps to reproduce

  1. Start OpenClaw session with model kimi/k2p5
  2. Invoke tool: exec with payload {"command":"echo test"}
  3. Observed: Error Received arguments: {}
  4. Invoke tool: session_status with no payload
  5. Observed: Success — returns session info
    Deterministic evidence: Parameter-less tools succeed; parameterized tools fail with empty args.

Expected behavior

Expected:
exec({"command":"echo test"}) → executes command, returns output
web_fetch({"url":"https://example.com"}) → returns page content
read({"path":"./file.md"}) → returns file content
Reference: Tool schemas define these parameters as required. Session logs show tools are invoked but parameters are not serialized to Runtime.

Actual behavior

exec({"command":"echo test"}) → Validation failed: "command: must have required property 'command'", Received arguments: {}
web_fetch({"url":"https://example.com"}) → Validation failed: "url: must have required property 'url'", Received arguments: {}
read({"path":"./file.md"}) → Error: "Missing required parameter: path alias"
session_status({}) → Success (returns session info)
Evidence: All parameterized tools fail with empty arguments {}; parameter-less tools succeed.

OpenClaw version

2026.3.24

Operating system

window 11

Install method

npm global

Model

kimi/k2p5

Provider / routing chain

User (WebChat) → OpenClaw Gateway (local, ws://127.0.0.1:18789) → kimi/k2p5 (Kimi API)

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Impact and severity

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions