Skip to content

[Bug]: read and write tools not executing in v2026.3.7 #39788

@GTC2080

Description

@GTC2080

Issue: read and write tools not executing in v2026.3.7

Summary

In OpenClaw 2026.3.7, the read and write tools do not actually execute - they only display the tool invocation code without returning results or modifying files. However, the exec tool works correctly.

Environment

  • OpenClaw Version: 2026.3.7 (42a1394)
  • OS: WSL2 (Windows Subsystem for Linux)
  • Node.js: v22.22.1
  • Installation Method: npm install -g [email protected]
  • Channel: Telegram
  • Model Provider: kimi-coding/k2p5

Configuration

Current tools config:

{
  "tools": {
    "profile": "full",
    "allow": ["exec", "read", "write", "bash", "shell", "apply_patch", "web_search"]
  }
}

Exec approvals configured:

{
  "allowlist": [
    {
      "agent": "*",
      "pattern": "*"
    }
  ]
}

Steps to Reproduce

Case 1: read tool not working

  1. Send message in Telegram: read /home/asus/.openclaw/workspace/SOUL.md
  2. Expected: Returns file content
  3. Actual: Only returns read({"path": "/home/asus/.openclaw/workspace/SOUL.md"})

Screenshot: The bot only shows the tool invocation code without the actual file content.

Case 2: write tool not working

  1. Send message: modify SOUL.md and add a line "test content"
  2. Expected: File is modified with new content
  3. Actual: No response, file unchanged (verified by direct file read)

Case 3: exec tool working (for comparison)

  1. Send message: execute pwd
  2. Expected: Returns current directory
  3. Actual: ✅ Returns /home/asus/.openclaw/workspace (works correctly!)

Detailed Behavior

read tool

  • Input: Natural language request to read a file
  • Model Response: Shows read({"path": "/path/to/file"}) or <invoke name="read"><parameter name="path">...</parameter></invoke>
  • Result: ❌ No file content returned, no error message

write tool

  • Input: Natural language request to write/modify a file
  • Model Response: May show write({...}) invocation or no response
  • Result: ❌ File not modified, no error message

exec tool

  • Input: execute cat /path/to/file
  • Model Response: Shows <invoke name="exec"><parameter name="command">...</parameter></invoke>
  • Result: ✅ Returns actual command output

Workaround

Currently using exec tool as a workaround:

execute cat /home/asus/.openclaw/workspace/SOUL.md  # Works
execute echo "content" >> /path/to/file            # Works

Possible Causes

  1. read/write tools may require different parameter names (e.g., "file" vs "path")
  2. Missing tool-specific configuration in 2026.3.7
  3. Tools may be in "dry-run" mode in this version
  4. Missing plugin or skill file that defines read/write behavior

Logs

No error logs found in /tmp/openclaw/openclaw-*.log related to tool execution failures. The logs show:

{"subsystem":"tools","1":"tools.allow allowlist contains unknown entries (shell, apply_patch)..."}

But this is just a warning, not an error.

Additional Notes

  • The model correctly identifies that it should use the read tool
  • The tool invocation is generated correctly (proper JSON/XML format)
  • However, the tool is never actually executed - it just displays the invocation code
  • This suggests the issue is in the tool execution layer, not the model/tool selection layer

Request

Please investigate why read and write tools don't execute while exec works correctly. If this is a configuration issue, please document the correct setup. If it's a bug, please fix in the next release.


Labels: bug, tools, v2026.3.7
Priority: Medium (has workaround via exec)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingregressionBehavior that previously worked and now fails

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions