Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
The exec tool on Windows produces garbled Chinese characters (乱码). This is the same issue as #50519, but I'm confirming it still exists in version 2026.3.24.
Steps to reproduce
- Use OpenClaw exec tool on Windows
- Execute: Write-Output "这是中文测试 - 26批次教学资料"
- Observe garbled output
Expected behavior
Chinese characters should display correctly: 这是中文测试 - 26批次教学资料
Actual behavior
Chinese characters appear as garbled text: �����IJ��� - 26����ѧ����
OpenClaw version
2026.3.24
Operating system
Windows 11 (Windows_NT 10.0.22631)
Install method
npm
Model
volcengine-plan/ark-code-latest
Provider / routing chain
openclaw
Additional provider/model setup details
Using default agent configuration with volcengine-plan provider.
No special overrides or custom routing.
Logs, screenshots, and evidence
### Test Comparison
**Without workaround (garbled):**
Write-Output "这是中文测试 - 26批次教学资料"
Output: �����IJ��� - 26����ѧ����
**With workaround (correct):**
$OutputEncoding = [Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8; chcp 65001 | Out-Null; Write-Output "这是中文测试 - 26批次教学资料" 2>&1
Output: 这是中文测试 - 26批次教学资料
Environment Check:
PSVersion: 5.1.0
Console Code Page: 936 (GBK) by default, 65001 (UTF-8) with workaround
Impact and severity
Affected users/systems/channels
- All Windows users of OpenClaw exec tool
- Specifically affects users working with Chinese, Japanese, Korean (CJK) and other non-ASCII characters
- All channels (webchat, Discord, Telegram, etc.) when using exec on Windows
Severity
blocks workflow - Critical issue for Chinese users; cannot reliably use exec tool for any commands involving Chinese text
Frequency
always - Happens 100% of the time when exec tool outputs Chinese characters on Windows
Consequence
- Cannot view Chinese file paths, directory listings, or command output
- Requires manual workaround for every exec command
- Inability to automate tasks involving Chinese text
- Extra time spent applying workarounds instead of being productive
Additional information
Additional information
This is NOT a regression - the issue has existed since at least 2026.3.13 (confirmed in issue #50519) and still exists in 2026.3.24.
What we tried that didn't work:
- Setting environment variables (NODE_OPTIONS, LANG, LC_ALL) before starting OpenClaw
- Upgrading from Windows PowerShell 5.1 to PowerShell 7.6.0
- Configuring PowerShell $PROFILE to set UTF-8 encoding on startup
What does work:
- The command template workaround mentioned above (setting encodings + chcp 65001 + 2>&1)
- This workaround must be applied to EVERY exec command, which is cumbersome but functional
Technical observation:
- Manual PowerShell works fine with Chinese output
- Only OpenClaw's exec tool has this issue, suggesting the problem is in how OpenClaw captures/decodes the output
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
The exec tool on Windows produces garbled Chinese characters (乱码). This is the same issue as #50519, but I'm confirming it still exists in version 2026.3.24.
Steps to reproduce
Expected behavior
Chinese characters should display correctly: 这是中文测试 - 26批次教学资料
Actual behavior
Chinese characters appear as garbled text: �����IJ��� - 26����ѧ����
OpenClaw version
2026.3.24
Operating system
Windows 11 (Windows_NT 10.0.22631)
Install method
npm
Model
volcengine-plan/ark-code-latest
Provider / routing chain
openclaw
Additional provider/model setup details
Using default agent configuration with volcengine-plan provider.
No special overrides or custom routing.
Logs, screenshots, and evidence
Impact and severity
Affected users/systems/channels
Severity
blocks workflow- Critical issue for Chinese users; cannot reliably use exec tool for any commands involving Chinese textFrequency
always- Happens 100% of the time when exec tool outputs Chinese characters on WindowsConsequence
Additional information
Additional information
This is NOT a regression - the issue has existed since at least 2026.3.13 (confirmed in issue #50519) and still exists in 2026.3.24.
What we tried that didn't work:
What does work:
Technical observation: