openclaw - 💡(How to fix) Fix [Bug]: [Bug] acpx plugin verification fails on Windows with spaces in user profile path [1 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#56868Fetched 2026-04-08 01:46:46
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Participants
Timeline (top)
labeled ×2referenced ×1

acpx plugin fails to load on Windows when user profile path contains spaces (e.g. C:\Users\Bipul Nandi). The binary path is not quoted when passed to child_process with shell:true, causing Windows to split at the space. Reproduced on v2026.3.24 and v2026.3.28.

Root Cause

The root cause is unquoted path in child_process exec with shell:true. The DEP0190 warning in the logs confirms args are concatenated, not escaped. The fix is wrapping the binary path in double quotes: "${acpxBinaryPath}". Reproduced on both v2026.3.24 and v2026.3.28. Workaround: set npm prefix to a path without spaces, but this is disruptive.

Fix Action

Fix / Workaround

Affected: All Windows users with spaces in their username (e.g. "Bipul Nandi") Severity: High (blocks acpx/ACP code dispatch entirely) Frequency: 100% — always fails, every startup Consequence: acpx plugin never loads. Autonomous code dispatch via ACP is completely unavailable. Users must fall back to standalone CLI tools (opencode, gemini-cli, etc).

The root cause is unquoted path in child_process exec with shell:true. The DEP0190 warning in the logs confirms args are concatenated, not escaped. The fix is wrapping the binary path in double quotes: "${acpxBinaryPath}". Reproduced on both v2026.3.24 and v2026.3.28. Workaround: set npm prefix to a path without spaces, but this is disruptive.

Code Example

[plugins] acpx runtime backend registered (command: C:\Users\Bipul Nandi\AppData\Roaming\npm\node_modules\openclaw\dist\extensions\acpx\node_modules\.bin\acpx.cmd, expectedVersion: 0.3.1, pluginLocalInstall: enabled)
(node:14828) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
[plugins] acpx local binary unavailable or mismatched ('C:\Users\Bipul' is not recognized as an internal or external command, operable program or batch file.); running plugin-local install
[plugins] acpx runtime setup failed: plugin-local acpx verification failed after install: 'C:\Users\Bipul' is not recognized as an internal or external command, operable program or batch file.
RAW_BUFFERClick to expand / collapse

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

acpx plugin fails to load on Windows when user profile path contains spaces (e.g. C:\Users\Bipul Nandi). The binary path is not quoted when passed to child_process with shell:true, causing Windows to split at the space. Reproduced on v2026.3.24 and v2026.3.28.

Steps to reproduce

1.Have a Windows username with a space (e.g., Bipul Nandi) 2.Install OpenClaw globally: npm install -g openclaw 3.Configure acp.enabled: true and acp.backend: "acpx" in openclaw.json 4.Start gateway: openclaw start

Expected behavior

The acpx binary at C:\Users\Bipul Nandi\AppData\Roaming\npm\node_modules\openclaw\dist\extensions\acpx\node_modules.bin\acpx.cmd should be executed with proper quoting and load successfully.

Actual behavior

[plugins] acpx runtime backend registered (command: C:\Users\Bipul Nandi\AppData\Roaming\npm\node_modules\openclaw\dist\extensions\acpx\node_modules.bin\acpx.cmd, expectedVersion: 0.3.1, pluginLocalInstall: enabled) [plugins] acpx local binary unavailable or mismatched ('C:\Users\Bipul' is not recognized as an internal or external command, operable program or batch file.); running plugin-local install [plugins] acpx runtime setup failed: plugin-local acpx verification failed after install: 'C:\Users\Bipul' is not recognized as an internal or external command, operable program or batch file.

OpenClaw version

v2026.3.28 (f9b1079)

Operating system

windows 11

Install method

npm global

Model

N/A — this is a plugin loading issue, not model-related

Provider / routing chain

N/A — acpx plugin fails before any model routing occurs

Additional provider/model setup details

LiteLLM proxy at http://127.0.0.1:4000. Not relevant to this bug — the issue is in the acpx plugin binary path resolution, not model routing.

Logs, screenshots, and evidence

[plugins] acpx runtime backend registered (command: C:\Users\Bipul Nandi\AppData\Roaming\npm\node_modules\openclaw\dist\extensions\acpx\node_modules\.bin\acpx.cmd, expectedVersion: 0.3.1, pluginLocalInstall: enabled)
(node:14828) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
[plugins] acpx local binary unavailable or mismatched ('C:\Users\Bipul' is not recognized as an internal or external command, operable program or batch file.); running plugin-local install
[plugins] acpx runtime setup failed: plugin-local acpx verification failed after install: 'C:\Users\Bipul' is not recognized as an internal or external command, operable program or batch file.

Impact and severity

Affected: All Windows users with spaces in their username (e.g. "Bipul Nandi") Severity: High (blocks acpx/ACP code dispatch entirely) Frequency: 100% — always fails, every startup Consequence: acpx plugin never loads. Autonomous code dispatch via ACP is completely unavailable. Users must fall back to standalone CLI tools (opencode, gemini-cli, etc).

Additional information

The root cause is unquoted path in child_process exec with shell:true. The DEP0190 warning in the logs confirms args are concatenated, not escaped. The fix is wrapping the binary path in double quotes: "${acpxBinaryPath}". Reproduced on both v2026.3.24 and v2026.3.28. Workaround: set npm prefix to a path without spaces, but this is disruptive.

extent analysis

Fix Plan

To resolve the issue, we need to quote the binary path when passing it to child_process with shell: true.

Here are the steps:

  • Locate the code where child_process is used to execute the acpx binary.
  • Modify the code to wrap the binary path in double quotes.

Example code snippet:

const childProcess = require('child_process');

// Before
childProcess.exec(`"${acpxBinaryPath}"`, { shell: true }, (error, stdout, stderr) => {
  // ...
});

// After
childProcess.exec(`"${acpxBinaryPath}"`, { shell: true }, (error, stdout, stderr) => {
  // ...
});

However, a better approach would be to avoid using shell: true and pass the binary path and arguments as an array:

const childProcess = require('child_process');

childProcess.execFile(acpxBinaryPath, [], (error, stdout, stderr) => {
  // ...
});

This way, the binary path is properly escaped, and the code is less vulnerable to security issues.

Verification

To verify the fix, follow these steps:

  • Update the code with the quoted binary path or the execFile approach.
  • Restart the OpenClaw gateway.
  • Check the logs for any errors related to the acpx plugin loading.
  • Verify that the acpx plugin is loaded successfully and functional.

Extra Tips

  • Avoid using shell: true when possible, as it can lead to security vulnerabilities.
  • Use execFile instead of exec when executing binaries with arguments.
  • Always properly escape and quote file paths to prevent issues with spaces and special characters.

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 acpx binary at C:\Users\Bipul Nandi\AppData\Roaming\npm\node_modules\openclaw\dist\extensions\acpx\node_modules.bin\acpx.cmd should be executed with proper quoting and load successfully.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING