VS Code Codex Extension 无法安装 / 无法正常打开:解决方案
问题现象
在较新的 VS Code 版本中,Codex extension 可能出现以下问题:
- extension 无法正常安装;
- Codex 面板打不开或一直空白;
- 已有 conversation 无法从 VS Code 前端正常加载;
- 重启 Codex app-server 或重新加载窗口仍无法解决。
解决方案 1:降级 VS Code
将 VS Code 降级到 1.111.0 后,Codex extension 恢复正常。
Windows x64 User 版本下载地址:
https://update.code.visualstudio.com/1.111.0/win32-x64-user/stable
操作步骤
- 关闭当前 VS Code。
- 下载并安装 VS Code 1.111.0。
- 如果安装程序询问是否覆盖现有版本,正常覆盖安装即可。
- 重新打开 VS Code,并连接 Remote SSH / Linux 服务器。
- 打开或重新安装 Codex extension。
- 此时 Codex extension 应可以正常打开,并继续读取原来的聊天记录。
解决方案 2:打通 CLI 和 VS Code Codex Extension
VS Code extension 自带一个 Codex CLI binary。为了让终端中的 codex 与 VS Code extension 使用同一个版本,并共享同一套 ~/.codex session / conversation,可以让 shell 始终调用 extension 自带的 Codex。
将下面内容加入 ~/.bashrc:
bash
cat >> ~/.bashrc <<'EOF'
# Always use the Codex binary bundled with the latest VS Code extension
codex() {
local ext
ext=$(ls -dt "$HOME"/.vscode-server/extensions/openai.chatgpt-*-linux-x64 2>/dev/null | head -1)
if [ -z "$ext" ]; then
echo "VS Code Codex extension not found." >&2
return 1
fi
"$ext/bin/linux-x86_64/codex" "$@"
}
EOF
source ~/.bashrc
然后检查是否生效:
bash
codex --version
这样终端中的 codex 会自动使用当前最新安装的 VS Code Codex extension 中的 binary,而不是系统中另外安装的旧版本。
之后可以直接在终端恢复 VS Code 中创建的 conversation,例如:
bash
codex resume --all
或者指定 session ID:
bash
codex resume <SESSION_ID>
VS Code extension 和 CLI 都使用默认的:
text
~/.codex/
因此 session、conversation 和相关状态可以保持一致,管理起来更方便。
注意事项
- 不要删除
~/.codex/,否则可能影响已有 Codex session / conversation。 - 如果降级后问题解决,建议暂时关闭 VS Code 自动更新,避免再次升级到有兼容性问题的版本。
- 如果 CLI 无法看到 VS Code conversation,先确认 CLI 与 extension 是否为同一个 Codex 版本。
- 可以用下面命令查看 VS Code extension 自带 Codex 的版本:
bash
EXT=$(ls -dt ~/.vscode-server/extensions/openai.chatgpt-*-linux-x64 2>/dev/null | head -1)
"$EXT/bin/linux-x86_64/codex" --version
- 该问题更像是 VS Code 新版本与 Codex extension 的兼容性问题,而不是 Codex session 数据损坏。