首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PowerShell 能用,WSL 却要重新登录?先核对 Codex 的四个路径

PowerShell 能用,WSL 却要重新登录?先核对 Codex 的四个路径

原创
作者头像
用户12688822
发布于 2026-11-03 00:06:07
发布于 2026-11-03 00:06:07
1410
举报

同一个仓库,在 PowerShell 中使用正常,切到 WSL 后却找不到 Codex、模型设置不同,或者提示重新登录。排查时先记下四项:当前终端、实际程序、状态目录、项目目录。仓库文件相同,并不意味着这四项也相同。

目前官方同时提供 Windows 原生与 WSL 路径:原生客户端可以在 PowerShell 中使用 Windows 沙箱;WSL2 则在 Linux 环境中运行。应按项目工具链选择,不能再把“Windows 必须装 WSL”当通用前提。(见参考资料1、2)

1. 先确认运行的是哪一份程序

在 PowerShell 中执行:

代码语言:powershell
复制
Get-Command codex -All | Select-Object CommandType, Source
codex --version
Get-Location

在 WSL 终端中执行:

代码语言:bash
复制
command -v codex
codex --version
pwd -P

比较的是实际路径和版本,不是终端窗口的名字。若一边找不到命令,先解决该环境的安装或 PATH;若两边版本不同,先记录差异。不要一上来卸载所有版本,更不要为了“让命令跑起来”降低沙箱权限。

2. 只检查状态目录,不读取登录文件

Codex 的 CODEX_HOME 默认是 ~/.codex,可由环境变量改到其他已存在目录,其中包含配置、认证及会话等状态。(见参考资料3) Windows 用户目录与 WSL 的 Linux 用户目录通常不同,所以两边的 ~ 不能直接画等号。

PowerShell:

代码语言:powershell
复制
$codexStateDir = if ($env:CODEX_HOME) {
  $env:CODEX_HOME
} else {
  Join-Path $HOME '.codex'
}
$codexStateDir
Test-Path (Join-Path $codexStateDir 'config.toml')

WSL:

代码语言:bash
复制
codex_state_dir="${CODEX_HOME:-$HOME/.codex}"
printf '%s\n' "$codex_state_dir"
test -f "$codex_state_dir/config.toml" && printf 'config exists\n'

这些命令查看路径和配置文件是否存在,不会输出认证文件。配置存在,也不代表它就是最终生效的全部设置。

3. 模型不同,再查覆盖层

官方配置说明列出了命令行覆盖、受信任项目的 .codex/config.toml、所选 profile、用户配置等层级。(见参考资料4) 因而两边即使都有用户配置,启动参数、profile、当前目录或项目的信任状态不同,也可能出现不同结果。

例如同一份代码,一边从仓库根目录启动,另一边从子目录启动;再加上子目录配置,就值得核对。先把启动命令、工作目录和相关非敏感设置逐项比较。项目未受信任时,项目配置可能被跳过;先确认仓库来源和代码,再决定是否信任,不要把“全部信任”当修复按钮。

4. 登录不同,用状态命令判断

在各自终端本地运行:

代码语言:txt
复制
codex login status

它用于查看当前认证方式。官方支持 ChatGPT 登录和 API key 登录;缓存既可能使用文件,也可能使用操作系统凭据存储。(见参考资料5) 因此不能仅凭“没找到 auth.json”判断没有登录,也不能凭浏览器已登录就认定另一环境的 CLI 已取得认证。

需要登录时,在准备实际使用的环境里完成官方登录流程。不要为图方便把整个 .codex 放进仓库,或把 auth.json、令牌和 API key 贴到帖子里。分享排查结果时,仅保留版本、终端类型、脱敏路径和认证方式。

5. 用一张记录收尾

记录 PowerShell 与 WSL 各自的程序路径、版本、状态目录、工作目录和认证方式。若差异已定位,就只处理那一项,再复核同一个症状;如果仍然是网络或权限错误,保留脱敏错误信息,另开对应排查,不继续改目录碰运气。

本文由 AIXiamo 技术资料维护方整理,相关资料收在我们维护的公开技术仓库。内容使用 AI 辅助整理并按下列官方文档核对;命令是供读者在对应环境执行的排查示例,本次未进行 Windows/WSL 实机对照实验。

参考资料(核对日期:2026-11-02):

  1. OpenAI:Windows sandbox
  2. OpenAI:WSL
  3. OpenAI:Environment variables
  4. OpenAI:Config basics
  5. OpenAI:Authentication

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 1. 先确认运行的是哪一份程序
  • 2. 只检查状态目录,不读取登录文件
  • 3. 模型不同,再查覆盖层
  • 4. 登录不同,用状态命令判断
  • 5. 用一张记录收尾
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档