Skip to content

fix: use Start-Process FilePath on Windows#91545

Open
arkyu2077 wants to merge 1 commit into
openclaw:mainfrom
arkyu2077:fix/issue-90157
Open

fix: use Start-Process FilePath on Windows#91545
arkyu2077 wants to merge 1 commit into
openclaw:mainfrom
arkyu2077:fix/issue-90157

Conversation

@arkyu2077

Copy link
Copy Markdown
Contributor

Summary

  • switch dashboard config-opening on Windows from Start-Process -LiteralPath to the supported -FilePath parameter
  • keep the existing single-quoted PowerShell escaping behavior
  • update the config command test to assert the working PowerShell invocation

Testing

  • npm test -- src/gateway/server-methods/config.test.ts

Fixes #90157

@openclaw-barnacle openclaw-barnacle Bot added gateway Gateway runtime size: XS triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup. labels Jun 9, 2026
@clawsweeper

clawsweeper Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed June 8, 2026, 9:54 PM ET / 01:54 UTC.

Summary
The PR changes the Windows config opener command from Start-Process -LiteralPath to Start-Process -FilePath and updates the gateway unit-test expectation.

PR surface: Source 0, Tests 0. Total 0 across 2 files.

Reproducibility: yes. source inspection plus the Microsoft Start-Process contract gives a high-confidence reproduction path for the bad command token: current main emits an unsupported -LiteralPath parameter. This review did not run a live Windows Dashboard click-through.

Review metrics: none identified.

Merge readiness
Overall: 🧂 unranked krab
Proof: 🧂 unranked krab
Patch quality: 🐚 platinum hermit
Result: blocked until real behavior proof is added.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

Proof guidance:

  • [P1] Needs real behavior proof before merge: The PR body lists only a unit-test command, so the contributor still needs redacted Windows PowerShell or Dashboard proof showing the patched opener path. Terminal output, logs, linked artifacts, recordings, screenshots, or videos are acceptable when they show the behavior; redact private details, update the PR body afterward, and ask a maintainer for @clawsweeper re-review if review does not refresh automatically.

Mantis proof suggestion
A real Windows Dashboard or desktop proof would materially improve confidence in this user-visible opener fix. A maintainer can ask Mantis to capture proof by posting a new PR comment that starts with the OpenClaw Mantis account mention, followed by:

visual task: on Windows, click Dashboard Open config and verify openclaw.json opens via the patched Start-Process -FilePath path.

Risk before merge

Maintainer options:

  1. Decide the mitigation before merge
    Land one narrow Start-Process -FilePath branch after redacted Windows proof confirms the Dashboard or PowerShell opener path, and close the duplicate branch afterward.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge

Security
Cleared: No concrete security or supply-chain issue is visible in this one-token PowerShell parameter change and matching unit-test update; the existing execFile boundary and single-quoted escaping remain in place.

Review details

Best possible solution:

Land one narrow Start-Process -FilePath branch after redacted Windows proof confirms the Dashboard or PowerShell opener path, and close the duplicate branch afterward.

Do we have a high-confidence way to reproduce the issue?

Yes, source inspection plus the Microsoft Start-Process contract gives a high-confidence reproduction path for the bad command token: current main emits an unsupported -LiteralPath parameter. This review did not run a live Windows Dashboard click-through.

Is this the best way to solve the issue?

Yes for the code shape: changing only the Windows command token to -FilePath is the narrowest maintainable fix because callers already route through resolveConfigOpenCommand, escaping remains unchanged, and sibling Windows launch code uses -FilePath. Merge readiness still depends on real Windows proof and choosing one duplicate branch.

AGENTS.md: found and applied where relevant.

Codex review notes: model gpt-5.5, reasoning high; reviewed against 79c6136a9e17.

Label changes

Label justifications:

  • P2: This is a normal-priority Windows Dashboard opener bug fix with limited blast radius.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🧂 unranked krab and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR body lists only a unit-test command, so the contributor still needs redacted Windows PowerShell or Dashboard proof showing the patched opener path. Terminal output, logs, linked artifacts, recordings, screenshots, or videos are acceptable when they show the behavior; redact private details, update the PR body afterward, and ask a maintainer for @clawsweeper re-review if review does not refresh automatically.
Evidence reviewed

PR surface:

Source 0, Tests 0. Total 0 across 2 files.

View PR surface stats
Area Files Added Removed Net
Source 1 1 1 0
Tests 1 2 2 0
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 2 3 3 0

What I checked:

Likely related people:

  • mappel-nv: Available history shows Gateway: open config files without shell interpolation added the affected command builder and Windows opener test. (role: introduced behavior; confidence: medium; commits: 5cc0bc936c4d; files: src/gateway/server-methods/config.ts, src/gateway/server-methods/config.test.ts)
  • steipete: Recent config/gateway history shows repeated refactors and hardening in the same files and surrounding config write/control-plane behavior. (role: recent area contributor; confidence: medium; commits: 533bd000018a, 97878b853ab3, b1dca644bc01; files: src/gateway/server-methods/config.ts, src/gateway/server-methods/config.test.ts)
  • joshavant: Recent Control UI and RPC config work touches the caller-side behavior that surfaces config.openFile failures to users. (role: adjacent config UI contributor; confidence: medium; commits: 81b777c7687d; files: ui/src/ui/controllers/config.ts, ui/src/ui/controllers/config.test.ts, src/gateway/server-methods/config.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P2 Normal backlog priority with limited blast radius. labels Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gateway Gateway runtime P2 Normal backlog priority with limited blast radius. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. size: XS status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. triage: needs-real-behavior-proof Candidate: external PR needs after-fix proof from a real setup.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Dashboard "Open config" fails on Windows: Start-Process -LiteralPath is invalid in all PowerShell versions

1 participant