Codex 在 WSL 里读不到项目,先别急着重装。最常见原因是你在 Windows 路径、WSL 路径和 Codex 沙箱范围之间来回切,导致它看到的工作目录和你以为的项目目录不是同一个。
先确认你在哪个目录启动
在终端里先执行 pwd,再执行 ls。如果路径是 /mnt/c/Users/...,说明你在 WSL 里访问 Windows 磁盘;如果是 /home/xxx/project,才是 WSL Linux 文件系统。很多依赖、权限和监听行为在这两类路径下表现不同。
建议把要改的项目放在 WSL 的 /home/用户名/ 下,再从项目根目录启动 Codex。不要在一个终端里打开 Windows 项目,又让 Codex 去读另一个 WSL 项目。
再看沙箱范围
Codex 的本地编辑和命令执行会受当前目录、权限模式和沙箱约束影响。你让它改 /mnt/d/other-project,但启动目录在 /home/me/app,它可能无法直接访问或不应该访问。
更稳的做法是进入项目根目录后再启动:先 cd ~/projects/my-app,确认 git status 能看到仓库,再让 Codex 分析目录结构。
文件还读不到怎么排查
第一步,让 Codex 先列目录,不要直接让它改代码。第二步,检查文件是否被 .gitignore、工具规则或权限屏蔽。第三步,确认你没有用 Windows 版 Node、npm 去跑 WSL 项目依赖。
如果是大仓库,可以先指定路径:比如“只看 src/api 和 package.json,不要扫描整个仓库”。这样既省上下文,也能避免它在无关目录里绕圈。
最稳结论
Codex 在 WSL 里用,最好保持三件事一致:项目放在 WSL 文件系统、终端从项目根目录启动、修改范围只限当前仓库。这样比反复切路径更省时间,也更不容易出现“明明有文件但它说找不到”的问题。