Codex/OpenCode 显示未安装 - CC Switch
Quick fix
将 npm prefix 或 fnm 别名目录添加到用户 PATH 环境变量后重启 CC Switch。
Symptom
Section titled “Symptom”codex 和 opencode 显示版本为空白(未安装)CC Switch 在 Windows 上检测 CLI 工具版本时存在平台不对称问题。非 Windows 系统通过登录 shell($SHELL -lic)解析 PATH,能加载用户 profile 脚本获取完整路径;而 Windows 分支直接跳过 shell PATH 解析,仅依赖 scan_cli_version 做目录扫描,使用的是进程级 std::env::var_os("PATH")。当用户自定义了 npm prefix(如 D:\custom\npm)或使用 fnm 管理 Node 时,GUI 启动的 CC Switch 进程 PATH 中不包含这些路径,导致检测不到工具。
对于 fnm 用户,fnm env 暴露的 %LOCALAPPDATA%\fnm_multishells\<session> 路径是会话级的,GUI 进程无法继承。Issue #4237 还报告了另一个变体:npm 在 Windows 全局安装时会生成 codex(Unix shell 脚本)和 codex.cmd 两个包装文件,CC Switch 误判为「多处安装」且将无法运行的 Unix 脚本标记为默认。维护者在 #1768 中确认 New API 用量查询默认端点指向错误的问题已修复并纳入追踪。
确认终端中 codex --version 和 opencode --version 正常工作,排除安装本身的问题。
如果是自定义 npm prefix:将自定义 prefix 目录(如 D:\custom\npm)添加到 Windows 用户 PATH 环境变量(不是仅终端 profile),然后重启 CC Switch。
如果是 fnm 管理 Node:将 fnm 稳定默认别名目录 %APPDATA%\fnm\aliases\default 添加到用户 PATH,避免依赖会话级的 fnm_multishells 路径。
Windows 用户环境变量(系统设置 → 环境变量 → 用户变量) PATH=...;%APPDATA%\fnm\aliases\default重启 CC Switch,打开设置 → 关于,确认 codex 和 opencode 版本号正常显示。
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”本页汇总自 6 个真实 issue
- #4237CC Switch 在探测 Codex 安装时显示异常
- #1768New API usage query default points to the wrong endpoint
- #6991[Bug][Windows][fnm] v3.20.1 fails to detect fnm-managed Claude/Codex/OpenCode
- #4263Windows: 自定义 npm prefix 后 codex/opencode 检测不到(PR #2286 未覆盖 Windows)
- #4265Windows: 自定义 npm prefix 后 codex/opencode 检测不到(PR #2286 未覆盖 Windows)
- #6935CC Switch启动后默认打开第一顺位的显示应用,而非上次关闭时聚焦的应用,如何解决?
- 终端里 codex --version 正常,为什么 CC Switch 还是显示未安装?
- CC Switch 作为 GUI 应用启动时继承的 PATH 与终端不同。终端会加载 profile 脚本(如 PowerShell profile),而 GUI 进程不会。需要将工具路径添加到系统或用户 PATH 环境变量中,而非仅在 shell profile 中设置。
- fnm 用户必须添加 fnm\aliases\default 到 PATH 吗?
- 这是目前可靠的临时解决方案。fnm env 生成的 fnm_multishells 路径是会话级的,GUI 进程无法继承。添加稳定的别名目录可以绕过此限制,但 CC Switch 的独立 fnm 发现机制仍有待修复。
- v3.17.0 是否修复了多处安装误报的问题?
- Issue #4237 的维护者确认 v3.17.0 暂未发现同类问题。如果你在 v3.17.0+ 仍遇到 npm 包装脚本被误判为多处安装,可以重新打开 issue 反馈。
- 启动后默认显示第一个应用而非上次聚焦的应用,是同一个 bug 吗?
- 不是。这是 #6935 报告的另一个问题,与工具检测无关。根因是 App.tsx 中 visibleApps 未加载完成时 effect 将 activeApp 重置到第一个可见应用,在加载较慢的 Win11 上会复现。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。