Skip to content

[Bug]: Title: [Bug] Exec tool fails validation despite correct config — "command: must have required property 'command'" #56916

Description

@dylanpassey-hub

Bug type

Regression (worked before, now fails)

Beta release blocker

Yes

Summary

Description:
After updating to 2026.3.28 (f9b1079), agents cannot execute any commands. The exec tool fails validation with:

Validation failed for tool "exec": command: must have required property 'command'
Received arguments: {}Environment:

• OpenClaw version: 2026.3.28 (f9b1079)
• OS: macOS 15.3.2 (Darwin 25.3.0 arm64)
• Install method: npm global
• Model: kimi-coding/k2p5

Config (tools section):

"tools": {
"profile": "full",
"allow": ["*"],
"exec": {
"host": "gateway",
"security": "full",
"ask": "off"
}
}Tried:

• ✅ Latest version 2026.3.28
• ✅ Downgrade to 2026.2.21
• ✅ Config fix (exec settings with ask: "off")
• ✅ Multiple gateway restarts
• ✅ All "workarounds" from #39691

Result: Still broken. The agent generates commands but they never execute.

Impact: Completely blocks autonomous agent functionality.

Steps to reproduce

  1. Install/update OpenClaw:
    npm install -g [email protected]. Verify config has exec enabled:
    openclaw config get tools.profile # returns "full"
    openclaw config get tools.exec # returns {"host":"gateway","security":"full","ask":"off"}3. Start/restart gateway:
    openclaw gateway restart4. Ask agent to run any command:
    • "List files in current directory"
    • "Check what version of node is installed"
    • "Run: echo 'hello'"
  2. Observe failure:
    • Agent generates the command
    • Validation error: command: must have required property 'command'
    • Command never executes
    • Agent falls back to asking user to run it manually

Expected: Command executes automatically
Actual: Validation fails, command displayed but not run

Expected behavior

When an agent requests to execute a command via the exec tool, the gateway should:

  1. Accept the command parameters
  2. Execute the command on the host system
  3. Return the output to the agent

Example of working flow (pre-2026.3.7):

User: "List files in current directory"

Agent: [calls exec with command="ls -la"]

System: [executes ls -la]

Agent: "Here are the files: [output]"Actual behavior (broken):

User: "List files in current directory"

Agent: [calls exec with command="ls -la"]

System: Validation failed for tool "exec": command: must have required property 'command'
Received arguments: {}

Agent: "I can't run commands directly. Please run: ls -la"The agent should be able to execute commands autonomously when tools.profile is set to "full" or "coding" and tools.exec.ask is "off".

Actual behavior

When an agent requests to execute a command via the exec tool, the gateway should:

  1. Accept the command parameters
  2. Execute the command on the host system
  3. Return the output to the agent

Example of working flow (pre-2026.3.7):

User: "List files in current directory"

Agent: [calls exec with command="ls -la"]

System: [executes ls -la]

Agent: "Here are the files: [output]"Actual behavior (broken):

User: "List files in current directory"

Agent: [calls exec with command="ls -la"]

System: Validation failed for tool "exec": command: must have required property 'command'
Received arguments: {}

Agent: "I can't run commands directly. Please run: ls -la"The agent should be able to execute commands autonomously when tools.profile is set to "full" or "coding" and tools.exec.ask is "off".

OpenClaw version

When an agent requests to execute a command via the exec tool, the gateway should: 1. Accept the command parameters 2. Execute the command on the host system 3. Return the output to the agent Example of working flow (pre-2026.3.7): User: "List files in current directory" Agent: [calls exec with command="ls -la"] System: [executes ls -la] Agent: "Here are the files: [output]"Actual behavior (broken): User: "List files in current directory" Agent: [calls exec with command="ls -la"] System: Validation failed for tool "exec": command: must have required property 'command' Received arguments: {} Agent: "I can't run commands directly. Please run: ls -la"The agent should be able to execute commands autonomously when tools.profile is set to "full" or "coding" and tools.exec.ask is "off".

Operating system

Operating system: macOS Sequoia 15.3.2 (Darwin 25.3.0, arm64 — Apple Silicon) Node version: v22.22.1 Shell: zsh

Install method

Install method: npm global npm install -g [email protected]

Model

Model: kimi-coding/k2p5 (primary) Also tested with fallback: • ollama/llama3.2 (configured but not reached due to exec failure) Model configuration: "models": { "providers": { "kimi-coding": { "baseUrl": "https://api.kimi.com/coding/", "api": "anthropic-messages" } } }

Provider / routing chain

Provider: Kimi Coding (kimi-coding) Provider ID: kimi-coding/k2p5 Base URL: https://api.kimi.com/coding/

Additional provider/model setup details

No response

Logs, screenshots, and evidence

Tool validation error (consistent):

Validation failed for tool "exec":
  - command: must have required property 'command'
Received arguments:
{}Config verification:

$ cat ~/.openclaw/openclaw.json | grep -A5 '"tools"'
 "tools": {
   "profile": "full",
   "allow": ["*"],
   "exec": {
     "host": "gateway",
     "security": "full",
     "ask": "off"
   }
 }Failed downgrade attempt:

npm error code EACCES
npm error syscall rename
npm error path /opt/homebrew/lib/node_modules/openclaw
...
npm error The operation was rejected by your operating system.Session crash during restart:

node:events:497
 throw er; // Unhandled 'error' event
 ^
Error: write EPIPENo gateway logs — validation fails before command reaches gateway.

Impact and severity

Impact: Critical — Core functionality completely broken

• 100% of exec tool calls fail
• Agents cannot execute any commands autonomously
• All file operations, system commands, package installs blocked
• User must manually run every command agent generates
• Defeats purpose of autonomous agent

Security considerations:

• Bug forces manual command execution (safer, but inconvenient)
• No security vulnerability — just broken functionality
• No privilege escalation risk
• No data exposure risk

Severity: P0/Critical — Blocks all autonomous operations

Additional information

• Consistency: Bug occurs 100% of the time — every exec call fails
• Error details: Validation shows Received arguments: {} — the command parameter is not being passed through
• Gateway logs: No exec attempt appears in gateway logs — validation fails before reaching gateway
• Related issues: Persists despite fixes from #39691 — config has tools.profile: "full" and tools.exec.ask: "off" but still fails
• Other tools affected: write tool also intermittently fails with content: must have required property 'content'
• Session stability: Attempting to downgrade OpenClaw version caused session crashes
• Workaround: User must manually run commands that agent generates

Suspected cause: Tool parameter validation layer is not receiving arguments from model, or model is not sending parameters in expected format.

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