- Jurio2026-07-1162190
经常用Windows+codex app做开发的佬友应该都遇到过codex说自己“又被Powershell咬了一口”的问题。
最常见的典型问题包括但不限于:中文路径异常,引号嵌套容易炸,JSON、正则参数不好传等等···
我也经常在站里经常刷到佬友吐槽这些问题,也大概知道了是Codex 默认调用系统自带 PowerShell 5.1导致。但各有各的解决方案,有让codex自己修的,有建议使用WSL的(但之前磁盘事件导致不太敢用),还有大部分说用Powershell 7就好了,但很少看到有详细的解决codex默认调用Powershell 7的教程。然后自己尝试实践配置了一下,也踩了不少坑最后终于差不多算是解决了,而且后续使用了几天没有再发现过Powershell相关的问题,故此发个小教程,希望可以帮到部分被这个问题困扰的佬友。
大概分为三步:
- 安装 PowerShell 7
- 把
pwsh.exe所在目录加到系统Path并一定要前置到 PowerShell 5 之前!- 觉得不保险可以在AGENT.md中加一句,最后重启 Codex
个人比较推荐去官方网页直接下载MSI包:
learn.microsoft.com

安装 MSI 包 - 在 Windows 上安装 PowerShell 7 - PowerShell
最新稳定版本: | 如何在 Windows 上安装 PowerShell

安装时如果看到类似
Add PowerShell to PATH的选项,建议勾选。安装完成之后,还需要去把目录加入系统
Path。操作路径如下:```
系统属性 -> 高级 -> 环境变量 -> 系统变量 -> Path -> 编辑 -> 新建 -> 上移到PowerShell 5之前
``如下图所示,**一定要保证PowerShell 7的路径在PowerShell 5的上面!** 这是codex优先调用PowerShell 7的关键一步。因为默认情况下PowerShell 7安装时间肯定更晚,即使加入系统Path`后位置也在PowerShell 5的下面,此时codex还是默认使用PowerShell 5,无法自动调用PowerShell 7。这也是我踩的坑之一。
最后,如果觉得不保险,可以在AGENT.md中加一句:```
* 执行本地 shell 命令默认使用 PowerShell 7
```
改完之后,重启codex app即可使用,随便开个会话让 codex 自己验证一下执行shell命令时是否真的默认调用了Powershell 7:
主楼 - 小红书资深用户2026-07-1152885
这个有啥用呀 powershell7?
- Lisp2026-07-1160556
- Jurio2026-07-1162190
就是codex app或者说现在ChatGPT app对Windows适配比较差,特别是codex调用默认的Powershell 5执行命令时频繁报错,但Powershell 7对这些问题兼容性很好,算是曲线救国 ^-^
- 睡觉的蛋糕2026-08-1439197
