openclaw - ✅(Solved) Fix Read tool path validation misses filePath and file aliases [2 pull requests, 1 comments, 2 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#60550Fetched 2026-04-08 02:49:44
View on GitHub
Comments
1
Participants
2
Timeline
6
Reactions
0
Author
Participants
Timeline (top)
referenced ×3cross-referenced ×2commented ×1

The warning check for the read tool's path parameter in pi-embedded-BYdcxQ5A.js only validates against path and file_path, but CLAUDE_PARAM_GROUPS and CLAUDE_PARAM_ALIASES define four accepted aliases: path, file_path, filePath, and file.

This causes spurious read tool called without path warnings in the diagnostic logs when the LLM constructs a tool call using one of the unrecognized aliases.

Root Cause

The warning check for the read tool's path parameter in pi-embedded-BYdcxQ5A.js only validates against path and file_path, but CLAUDE_PARAM_GROUPS and CLAUDE_PARAM_ALIASES define four accepted aliases: path, file_path, filePath, and file.

This causes spurious read tool called without path warnings in the diagnostic logs when the LLM constructs a tool call using one of the unrecognized aliases.

Fix Action

Fixed

PR fix notes

PR #2: Fix: read tool path validation includes filePath and file aliases

Description (problem / solution / changelog)

  • Check all four accepted path parameter aliases (path, file_path, filePath, file)
  • Prevents false positive 'read tool called without path' warnings in diagnostic logs
  • Matches the param groups definition in pi-tools.params.ts

Fixes #60550

Changed files

  • src/agents/pi-embedded-subscribe.handlers.tools.ts (modified, +5/-1)
  • src/agents/skills/workspace.ts (modified, +1/-1)

PR #60554: Fix: read tool path validation includes filePath and file aliases

Description (problem / solution / changelog)

Good day,

Summary

This PR fixes issue #60550 where the read tool's path parameter validation only checks path and file_path aliases, but misses filePath and file which are also accepted per the param groups definition.

Changes

  • Extended path validation to check all four aliases: path, file_path, filePath, and file
  • Prevents false positive "read tool called without path" warnings when LLM sends path using filePath or file aliases

Testing

  • Validated the fix against the issue description's suggested implementation

Thank you for your attention. If there are any issues or suggestions, please leave a comment and I will address them promptly.

Warmly, Jah-yee https://github.com/Jah-yee

Changed files

  • src/agents/pi-embedded-subscribe.handlers.tools.ts (modified, +5/-1)
  • src/agents/skills/workspace.ts (modified, +1/-1)

Code Example

if (!(typeof record.path === "string" ? record.path : typeof record.file_path === "string" ? record.file_path : "").trim()) {

---

const CLAUDE_PARAM_GROUPS = {
    read: [{
        keys: ["path", "file_path", "filePath", "file"],
        label: "path alias"
    }],
    // ...
};

---

if (!(typeof record.path === "string" ? record.path
    : typeof record.file_path === "string" ? record.file_path
    : typeof record.filePath === "string" ? record.filePath
    : typeof record.file === "string" ? record.file
    : "").trim()) {
RAW_BUFFERClick to expand / collapse

Summary

The warning check for the read tool's path parameter in pi-embedded-BYdcxQ5A.js only validates against path and file_path, but CLAUDE_PARAM_GROUPS and CLAUDE_PARAM_ALIASES define four accepted aliases: path, file_path, filePath, and file.

This causes spurious read tool called without path warnings in the diagnostic logs when the LLM constructs a tool call using one of the unrecognized aliases.

Details

The validation check (around line 34696 in the bundled dist):

if (!(typeof record.path === "string" ? record.path : typeof record.file_path === "string" ? record.file_path : "").trim()) {

Only checks path and file_path, but the param groups definition (around line 24586) accepts:

const CLAUDE_PARAM_GROUPS = {
    read: [{
        keys: ["path", "file_path", "filePath", "file"],
        label: "path alias"
    }],
    // ...
};

Expected behavior

The warning check should match all four aliases so it doesn't fire false positives when the LLM sends filePath or file.

Suggested fix

if (!(typeof record.path === "string" ? record.path
    : typeof record.file_path === "string" ? record.file_path
    : typeof record.filePath === "string" ? record.filePath
    : typeof record.file === "string" ? record.file
    : "").trim()) {

Environment

  • openclaw version: 2026.4.2
  • OS: Windows 11 Pro
  • Provider: anthropic/claude-sonnet-4-6

Thank you for your work on openclaw — happy to provide any additional info if helpful!

extent analysis

TL;DR

Update the warning check in pi-embedded-BYdcxQ5A.js to validate against all four accepted path aliases: path, file_path, filePath, and file.

Guidance

  • Review the CLAUDE_PARAM_GROUPS definition to ensure it aligns with the expected aliases in the warning check.
  • Update the validation check to include filePath and file as shown in the suggested fix.
  • Verify that the diagnostic logs no longer contain spurious read tool called without path warnings after applying the fix.
  • Test the updated warning check with different path aliases to ensure it correctly handles all four accepted aliases.

Example

The suggested fix provides a concrete example of how to update the validation check:

if (!(typeof record.path === "string" ? record.path
    : typeof record.file_path === "string" ? record.file_path
    : typeof record.filePath === "string" ? record.filePath
    : typeof record.file === "string" ? record.file
    : "").trim()) {

Notes

This fix assumes that the CLAUDE_PARAM_GROUPS definition is correct and that the issue is solely due to the incomplete validation check.

Recommendation

Apply the suggested workaround by updating the validation check to include all four accepted path aliases, as this will resolve the spurious warning issue without requiring any version upgrades.

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

The warning check should match all four aliases so it doesn't fire false positives when the LLM sends filePath or file.

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 Read tool path validation misses filePath and file aliases [2 pull requests, 1 comments, 2 participants]