常见问题
Windows 上用 Codex
用原生还是 WSL2,沙箱模式,PowerShell 执行策略和中文乱码,以及怎么让 WSL 和 Windows 共用配置。
原生还是 WSL2
Section titled “原生还是 WSL2”| Windows 原生 | WSL2 | |
|---|---|---|
| Codex 在哪里跑命令 | PowerShell,用 Windows 沙箱隔离 | Linux 环境,用 Linux 沙箱隔离 |
| 适合 | 普通的 Windows 项目;桌面版默认用这个 | 依赖 Linux 工具链,或者项目本来就在 WSL 里 |
| 要求 | 推荐 Windows 11;Windows 10 要 1809 或更新的版本 | 只支持 WSL2。WSL1 从 Codex 0.115 起不再支持 |
拿不准就先用原生,遇到 Linux 专属的工具再换 WSL2。
Codex 在 Windows 上用沙箱限制命令能读写哪些文件、能不能联网。沙箱有三种实现,Codex 会自动选:
mxc:推荐。兼容的设备上不需要管理员设置。elevated:mxc用不了时的首选。第一次要管理员批准设置,之后命令本身不以管理员身份运行。在 CLI 里可以用/setup-default-sandbox完成设置。unelevated:最后的退路,公司策略挡住了管理员设置时用。网络隔离比elevated弱。
想手动指定,在 config.toml 里写:
[windows]sandbox = "elevated" # 或 "unelevated"桌面版要在输入框下面选「Ask for approval」,沙箱才会生效。确实需要管理员权限的命令,右键 ChatGPT 桌面版选「以管理员身份运行」,Codex 会继承这个权限。
报错 1385:Windows 策略不允许沙箱用户启动命令。公司电脑先找 IT 确认登录权限;要马上用的话,临时改成 unelevated。排查日志在 %USERPROFILE%\.codex\.sandbox\sandbox.log。
PowerShell 禁止运行脚本
Section titled “PowerShell 禁止运行脚本”报错类似这样:
npm.ps1 cannot be loaded because running scripts is disabled on this system.无法加载文件 C:\Users\...\codex.ps1,因为在此系统上禁止运行脚本。PowerShell 默认不允许运行脚本。只给当前用户放开,不需要管理员权限:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser不想改策略的话,用 codex.cmd 代替 codex。改之前可以先看微软的执行策略说明。
PowerShell 7 和中文乱码
Section titled “PowerShell 7 和中文乱码”Windows 自带的是 PowerShell 5.1,中文输出容易乱码,一些命令的行为也和新版不同。建议装 PowerShell 7:
winget install --id Microsoft.PowerShell -e装好后用「PowerShell 7」(pwsh)打开终端。还乱码的话,运行 notepad $PROFILE 打开 PowerShell 的配置文件,加上这两行:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8$OutputEncoding = [System.Text.Encoding]::UTF8不建议打开系统设置里的「Beta 版: 使用 Unicode UTF-8 提供全球语言支持」,它会影响其他软件。
桌面版的内置终端可以在设置里换成 PowerShell、命令提示符、Git Bash 或 WSL,只对新开的终端生效。
装上常用工具
Section titled “装上常用工具”Codex 干活时用得到这些工具。Git 是必须的,桌面版的改动审查靠它:
winget install --id Git.Gitwinget install --id OpenJS.NodeJS.LTSwinget install --id Python.Python.3.14winget install --id GitHub.cli装完 GitHub CLI 运行一次 gh auth login,桌面版里和 GitHub 相关的功能才能用。
用 WSL2
Section titled “用 WSL2”-
用管理员身份打开 PowerShell,安装 WSL(默认装 Ubuntu),装完按提示重启电脑:
终端窗口 wsl --install -
打开 WSL,先装上 Codex 的沙箱依赖 bubblewrap,再安装并启动 Codex:
终端窗口 sudo apt install bubblewrapcurl -fsSL https://chatgpt.com/codex/install.sh | shcodex
项目放在哪:
- Codex 跑在 WSL 里(WSL 里的 CLI,或者桌面版的 agent 切到了 WSL):项目放在 Linux 目录下,比如
~/code/项目名。放在/mnt/c/...下会慢,还容易遇到权限和软链接问题。 - 用 Windows 原生的桌面版,项目在 WSL 里也要用:官方建议项目放在 Windows 盘上,在 WSL 里通过
/mnt/c/...访问。直接从\\wsl$打开的项目,Git 有时识别不到。
桌面版改用 WSL:打开设置,把 agent 从 Windows native 切到 WSL,然后重启 ChatGPT 桌面版,重启后才生效。
让 WSL 和 Windows 共用配置:Windows 上的桌面版和 CLI 用 %USERPROFILE%\.codex,WSL 里的 CLI 默认用 Linux 的 ~/.codex,登录、配置和历史会话都不共用。想共用的话,在 WSL 的 ~/.bashrc(或 ~/.zshrc)里加一行,把「你的用户名」换成 Windows 的用户名:
export CODEX_HOME=/mnt/c/Users/你的用户名/.codexVS Code 配合 WSL:在 WSL 里进入项目目录,运行 code .,VS Code 会以 WSL 模式打开,左下角显示 WSL: Ubuntu。这时 Codex 插件也运行在 WSL 里。不想用 WSL 窗口的话,也可以在 VS Code 设置里打开 chatgpt.runCodexInWindowsSubsystemForLinux,让插件在 WSL 里运行 Codex。
本页按 OpenAI 官方文档整理,核对于 2026 年 10 月。OpenAI 更新很频繁,按钮名称和菜单位置可能略有出入,以你看到的界面为准。