fix(nodes): remove redundant rawCommand from system.run.prepare#38660
fix(nodes): remove redundant rawCommand from system.run.prepare#38660obviyus merged 3 commits intoopenclaw:mainfrom
Conversation
Greptile SummaryThis PR fixes a regression introduced in 2026.3.2 where every Key changes:
Why this works: Confidence Score: 5/5
Last reviewed commit: d6069a3 |
d6069a3 to
954235f
Compare
|
Rebased on latest main. Ready for review! 🙏 |
The nodes tool was passing rawCommand: formatExecCommand(command) to system.run.prepare, which produced the full formatted argv string (e.g. 'powershell -Command "echo hello"'). However, validateSystemRunCommandConsistency() recognizes shell wrappers like powershell/bash and extracts the inner command as the 'inferred' value (e.g. 'echo hello'). This caused a rawCommand vs inferred mismatch, breaking all nodes run commands with shell wrappers. The fix removes the explicit rawCommand parameter, letting the validation correctly infer the command text from the argv array. Fixes openclaw#33080
954235f to
5a572aa
Compare
|
Landed via temp rebase onto main.
Thanks @madsmash! |
Problem
nodes runis completely broken since 2026.3.2 for any command using a shell wrapper (powershell, bash, etc.). Every command fails with:Root Cause
In
nodes-tool.ts, thesystem.run.preparecall passes:This produces the full formatted argv string, e.g.
powershell -Command "echo hello".However,
validateSystemRunCommandConsistency()recognizes shell wrappers (powershell, bash, etc.) and extracts the inner command as the "inferred" value (echo hello). The raw vs inferred comparison then fails.Fix
Remove the explicit
rawCommandparameter from thesystem.run.preparecall. WhenrawCommandis null/undefined, the validation skips the comparison and correctly infers the command text from the argv array.Testing
Verified on a live setup (gateway 2026.3.3, Windows node 2026.3.3):
nodes runcommand fails with rawCommand mismatchnodes runworks correctly for all shell wrapper commandsFixes #33080