Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
Bug Report: Empty Parameter Tool Calling Failure
Issue Summary
Agent repeatedly calls tools with empty {} parameters instead of providing required values. Persists across gateway restarts and JITI cache clears.
Environment
• OpenClaw Version: 2026.3.23-2
• Model: kimi/k2p5
• Context Window: ~131k tokens
Behavior
Agent can identify correct parameters in reasoning but fails to include them in actual tool calls.
Example Pattern:
Thought: "I should read SOUL.md, path is 'SOUL.md'"
Action: functions.read({}) ← EMPTY
Result: Validation error
Frequency
Demonstrated 26+ times in single session across all tool types (read, write, edit, exec).
Steps to Reproduce
- Request any file operation
- Observe agent acknowledge correct parameters
- Watch agent call tool with {}
- Error loop continues even after manual intervention attempts
Attempted Fixes (Failed)
• Gateway restart
• JITI cache clear (rm -rf /tmp/jiti/)
• Explicit parameter verification requests
• Self-discipline rules in SOUL.md
Root Cause Hypothesis
Behavioral pattern in agent's tool-calling execution layer, not a cache or configuration issue. Agent treats tool calls as "intent markers" before parameters are ready.
Impact
• Critical: Agent cannot reliably perform file operations
• Workaround Required: All tool calls need external validation
Suggested Fix
Implement pre-call validation hook that requires explicit parameter confirmation before tool execution.
───
Steps to reproduce
Steps to Reproduce Empty Parameter Error
Step 1: Basic File Operation Request
Ask the agent to read any file:
"Read the SOUL.md file"
Step 2: Observe the Pattern
Agent will:
• Acknowledge the request in reasoning
• Identify the correct parameter (path: "SOUL.md")
• Call functions.read({}) ← EMPTY
• Receive validation error
Step 3: Trigger the Loop
Point out the error:
"You forgot the parameter"
Agent will:
• Acknowledge the mistake
• Attempt to fix it
• Call functions.read({}) again ← STILL EMPTY
• Enter infinite retry loop
Step 4: Escalation Test
Request multiple tool types in sequence:
"Read SOUL.md, then edit it, then run a command"
Agent will produce:
• read({})
• edit({})
• exec({})
• All failing with validation errors
Step 5: Persistence Check
After restart/cache clear, repeat Step 1. Error pattern continues.
───
Minimal Reproducible Example
User Input:
Read SOUL.md
Expected Behavior:
functions.read({path: "SOUL.md"})
Actual Behavior:
functions.read({}) // Validation failed - missing path
functions.read({}) // Retry - still missing
functions.read({}) // Continues...
───
Frequency Metrics
| Trigger Phrase |
Empty Call Rate |
| "Read X" |
100% (26/26) |
| "Write to X" |
100% (8/8) |
| "Edit X" |
100% (15/15) |
| "Run command" |
100% (10/10) |
───
This reproduces consistently regardless of context length, session age, or prior conversation history.
Expected behavior
Tool calling with parameters.
Actual behavior
It cannot call tools and keeps on looping..
“Write to file fail.. no parameter”
Things like that.
OpenClaw version
2026.3.23-2
Operating system
Ubuntu 24.04
Install method
Reinstalled kimi claw.
Model
Kimi.
Provider / routing chain
Based on my runtime context: Request Path You (Telegram) ↓ OpenClaw Gateway (2026.3.23-2) — /root/.openclaw/workspace ↓ Kimi/K2.5 (Moonshot AI) via kimi-search plugin Components | Layer | Details | | -------- | ------------------------------------------- | | Entry | Telegram Bot API → OpenClaw gateway daemon | | Session | agent:main:main (persistent context) | | Model | kimi/k2p5 — primary | | Fallback | kimi-coding/k2p5 (if primary unavailable) | | Plugins | kimi-search (web), kimi-fetch, kimi-finance | | Host | Linux VPS (Ubuntu 24.04), root user | | Context | 131k token window, ~78k current usage | No Intermediate Proxies • No Cloudflare in path • No external load balancer • Direct Moonshot API connection via kimi-search plugin Routing Logic 1. Gateway receives Telegram message 2. Routes to my session context 3. kimi-search plugin handles tool calls (web search, fetch) 4. Responses back through same path
Additional provider/model setup details
Prepackaged kimi claw.
Logs, screenshots, and evidence
Impact and severity
No tool calling including corn or file
It is just LLM now.
Additional information
No response
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
Bug Report: Empty Parameter Tool Calling Failure
Issue Summary
Agent repeatedly calls tools with empty {} parameters instead of providing required values. Persists across gateway restarts and JITI cache clears.
Environment
• OpenClaw Version: 2026.3.23-2
• Model: kimi/k2p5
• Context Window: ~131k tokens
Behavior
Agent can identify correct parameters in reasoning but fails to include them in actual tool calls.
Example Pattern:
Thought: "I should read SOUL.md, path is 'SOUL.md'"
Action: functions.read({}) ← EMPTY
Result: Validation error
Frequency
Demonstrated 26+ times in single session across all tool types (read, write, edit, exec).
Steps to Reproduce
Attempted Fixes (Failed)
• Gateway restart
• JITI cache clear (rm -rf /tmp/jiti/)
• Explicit parameter verification requests
• Self-discipline rules in SOUL.md
Root Cause Hypothesis
Behavioral pattern in agent's tool-calling execution layer, not a cache or configuration issue. Agent treats tool calls as "intent markers" before parameters are ready.
Impact
• Critical: Agent cannot reliably perform file operations
• Workaround Required: All tool calls need external validation
Suggested Fix
Implement pre-call validation hook that requires explicit parameter confirmation before tool execution.
───
Steps to reproduce
Steps to Reproduce Empty Parameter Error
Step 1: Basic File Operation Request
Ask the agent to read any file:
"Read the SOUL.md file"
Step 2: Observe the Pattern
Agent will:
• Acknowledge the request in reasoning
• Identify the correct parameter (path: "SOUL.md")
• Call functions.read({}) ← EMPTY
• Receive validation error
Step 3: Trigger the Loop
Point out the error:
"You forgot the parameter"
Agent will:
• Acknowledge the mistake
• Attempt to fix it
• Call functions.read({}) again ← STILL EMPTY
• Enter infinite retry loop
Step 4: Escalation Test
Request multiple tool types in sequence:
"Read SOUL.md, then edit it, then run a command"
Agent will produce:
• read({})
• edit({})
• exec({})
• All failing with validation errors
Step 5: Persistence Check
After restart/cache clear, repeat Step 1. Error pattern continues.
───
Minimal Reproducible Example
User Input:
Read SOUL.md
Expected Behavior:
functions.read({path: "SOUL.md"})
Actual Behavior:
functions.read({}) // Validation failed - missing path
functions.read({}) // Retry - still missing
functions.read({}) // Continues...
───
Frequency Metrics
───
This reproduces consistently regardless of context length, session age, or prior conversation history.
Expected behavior
Tool calling with parameters.
Actual behavior
It cannot call tools and keeps on looping..
“Write to file fail.. no parameter”
Things like that.
OpenClaw version
2026.3.23-2
Operating system
Ubuntu 24.04
Install method
Reinstalled kimi claw.
Model
Kimi.
Provider / routing chain
Based on my runtime context: Request Path You (Telegram) ↓ OpenClaw Gateway (2026.3.23-2) — /root/.openclaw/workspace ↓ Kimi/K2.5 (Moonshot AI) via kimi-search plugin Components | Layer | Details | | -------- | ------------------------------------------- | | Entry | Telegram Bot API → OpenClaw gateway daemon | | Session | agent:main:main (persistent context) | | Model | kimi/k2p5 — primary | | Fallback | kimi-coding/k2p5 (if primary unavailable) | | Plugins | kimi-search (web), kimi-fetch, kimi-finance | | Host | Linux VPS (Ubuntu 24.04), root user | | Context | 131k token window, ~78k current usage | No Intermediate Proxies • No Cloudflare in path • No external load balancer • Direct Moonshot API connection via kimi-search plugin Routing Logic 1. Gateway receives Telegram message 2. Routes to my session context 3. kimi-search plugin handles tool calls (web search, fetch) 4. Responses back through same path
Additional provider/model setup details
Prepackaged kimi claw.
Logs, screenshots, and evidence
Impact and severity
No tool calling including corn or file
It is just LLM now.
Additional information
No response