Tab completion does not quote Unicode filenames with full-width characters, leading to incorrect command parsing
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues.
- Refer to the FAQ.
- Refer to Differences between Windows PowerShell 5.1 and PowerShell.
Steps to reproduce
When using Tab-completion in PowerShell to auto-complete file paths containing full-width (Unicode) characters such as full-width quotation marks (“”), the shell inserts the raw path without quotes or escaping. This leads to incorrect command parsing and execution failures, especially when passing the path to an external program like mpv.
PS E:> Get-ChildItem .\空中“加油”.mp4
Expected behavior
Directory: E:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 6/1/2025 7:33 AM 6858949 空中“加油”.mp4
Actual behavior
Get-ChildItem: Cannot find path 'E:\空中加油.mp4' because it does not exist.Error details
Environment data
Name Value ---- ----- PSVersion 7.5.1 PSEdition Core GitCommitId 7.5.1 OS Microsoft Windows 10.0.26100 Platform Win32NT PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0
Visuals
No response