VS Code Codex/Claude Extension 无法安装 / 无法正常打开

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

操作步骤

  1. 关闭当前 VS Code。
  2. 下载并安装 VS Code 1.111.0。
  3. 如果安装程序询问是否覆盖现有版本,正常覆盖安装即可。
  4. 重新打开 VS Code,并连接 Remote SSH / Linux 服务器。
  5. 打开或重新安装 Codex extension。
  6. 此时 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 数据损坏。
相关推荐
知已难寻8 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
默|笙9 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
修己xj11 小时前
nslookup 使用指南:两种模式与常用查询技巧
linux
唠玖馆13 小时前
文件系统详解
linux·文件系统·ext2
GeW14 小时前
当Linux内核开始“确定性”,制造高端化才有了底层语法
linux
星恒随风15 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
StarsGreen17 小时前
libva在intel平台上的前端流程简介
linux
坤坤子吖20 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
青瓦梦滋20 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
沫璃染墨21 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp