
1. 卸载 Codex 后为什么还显示 custom你卸载了 Codex重启 Codex左下角还是那个熟悉的custom点开只有「显示宠物」「设置」两个选项官方账号和工作区一个都看不到。这个现象我第一次遇到时也愣了一下——程序都卸了配置怎么还在原因其实不复杂。Codex 这类工具的工作方式是在 Codex 的配置目录里写入自定义 Provider 信息同时往系统环境变量里塞几个指向第三方接口的地址。卸载程序通常只删自己的程序本体和启动器不会去动C:\Users\你的用户名\.codex这个目录也不会主动清理用户级环境变量——毕竟它怕误删你的登录态和会话数据。于是链路就变成了Codex 卸载 →config.toml里model_provider custom还在 →auth.json里旧认证信息还在 → 环境变量OPENAI_BASE_URL还指向第三方 → 官方 Codex 启动后照旧读这些残留 → 界面继续显示custom。这里要区分一件事PowerShell 里codex命令找不到和桌面应用显示 custom 是两码事。Get-Command codex -All报「无法将 codex 项识别为 cmdlet」说明你没装独立的 Codex CLI但这不影响 ChatGPT 桌面应用里集成的 Codex 功能。真正要处理的是.codex目录和环境变量里的配置污染。下面这套流程我在 Windows 上实测过核心思路是先备份、再精准删除、最后清环境变量而不是无脑删整个目录。2. 动手前的准备认识 .codex 目录和 TaoToken 接入在清理之前先搞清楚你要动的东西是什么。.codex目录默认在C:\Users\你的用户名\.codex里面通常有这些文件文件/目录作用是否要删config.toml模型、Provider、base_url 等运行配置删残留 custom 的元凶auth.json登录态、令牌、API Key 认证信息删强制重新登录sessions/本地会话记录保留log/运行日志保留其他偏好设置界面、项目配置保留如果你后续想用 TaoToken 这类兼容 OpenAI 协议的服务来跑 Codex配置入口在官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 地址是 https://taotoken.net/api 。但注意顺序先把残留清干净、恢复官方登录再考虑接入自定义服务否则你会在两套配置之间反复打架排查起来更痛苦。清理前务必做一件事完整备份.codex目录。因为里面除了登录和 Provider 配置还有会话状态、项目配置、本地缓存删错了不可恢复。备份用带时间戳的目录名避免覆盖旧备份。3. 可复制的清理脚本与 config.toml / auth.json 骨架先关掉所有相关进程防止配置文件被占用导致删了又被写回。打开 PowerShell执行Get-Process ChatGPT,Codex,CodexPlusPlus -ErrorAction SilentlyContinue | Stop-Process -Force-ErrorAction SilentlyContinue的作用是某个进程不存在时不报错直接跳过所以可以放心执行。接着做带时间戳的备份并精准删除两个关键文件$stamp Get-Date -Format yyyyMMdd-HHmmss $codexDir $HOME\.codex $backupDir $HOME\.codex-backup-$stamp if (Test-Path $codexDir) { Copy-Item $codexDir $backupDir -Recurse -Force Write-Host 备份位置$backupDir } Remove-Item $codexDir\config.toml -Force -ErrorAction SilentlyContinue Remove-Item $codexDir\auth.json -Force -ErrorAction SilentlyContinue备份目录会类似C:\Users\你的用户名\.codex-backup-20260728-103500每次执行生成新目录不会覆盖。然后清理可能残留的自定义服务环境变量当前会话和用户级都要清$vars ( CODEX_HOME, CODEX_ACCESS_TOKEN, CODEX_API_KEY, OPENAI_BASE_URL, OPENAI_API_BASE ) foreach ($name in $vars) { Remove-Item Env:$name -ErrorAction SilentlyContinue [Environment]::SetEnvironmentVariable($name, $null, User) } Write-Host 自定义 Codex 配置已清理。这里有个容易漏的点只执行Remove-Item Env:OPENAI_BASE_URL只清当前终端重开 PowerShell 后 Windows 又会从用户环境变量里加载回来。所以必须配合[Environment]::SetEnvironmentVariable($name, $null, User)把用户级永久变量也删掉。清理完成后如果你要重新接入自定义服务config.toml的骨架大致长这样恢复官方登录阶段先不要写这个文件# config.toml 骨架示例仅在需要自定义 Provider 时使用 model_provider custom [model_providers.custom] name custom base_url https://taotoken.net/api env_key CODEX_API_KEY对应的auth.json在官方登录成功后由 Codex 自动生成不需要你手写。如果你之前手动塞过第三方认证信息删掉它让应用重新走官方登录流程即可。4. 验证请求确认登录状态真的恢复了脚本跑完别急着下结论。先关闭当前 PowerShell 窗口——环境变量的修改对已经运行的程序不生效必须重开进程才能读到最新状态。然后确认 ChatGPT / Codex 已完全退出任务栏、托盘都检查一遍从开始菜单重新启动官方 ChatGPT 应用进入 Codex。验证分三步第一步看左下角。如果不再显示custom而是出现 ChatGPT 官方账号或工作区入口说明配置污染已清除。第二步按提示用官方账号重新登录。因为auth.json被删了应用会要求你重新认证这是预期行为。第三步如果你装了 Codex CLI可以在新开的 PowerShell 里验证环境变量是否真的清干净Get-ChildItem Env: | Where-Object { $_.Name -match CODEX|OPENAI }正常应该没有任何输出。如果还能看到OPENAI_BASE_URL之类的说明用户级变量没清掉回到第 3 步重新执行SetEnvironmentVariable那行。想进一步确认模型服务是否正常可以到模型对话页面发一条测试请求观察返回是否来自官方通道。这一步能帮你区分「界面恢复了但请求还走旧地址」这种隐蔽情况。5. 本篇常见错排查错误一删了 config.toml 但没删 auth.json界面还是 custom。auth.json里可能存着第三方 Provider 的认证数据只删配置不删认证应用仍会沿用旧身份。两个一起删。错误二清了当前终端变量重开后又回来了。只用了Remove-Item Env:xxx没清用户级。必须加[Environment]::SetEnvironmentVariable($name, $null, User)。错误三设置了 CODEX_HOME 指向别的目录。如果你之前把CODEX_HOME设成了D:\CustomCodex那清理默认的.codex目录根本没用应用还在从自定义目录读旧配置。所以脚本里必须清CODEX_HOME。错误四没关进程就删文件。应用还在运行时删配置程序可能把内存里的旧配置重新写回磁盘。先Stop-Process再删。错误五把 PowerShell 找不到 codex 命令当成故障。where.exe codex找不到文件只说明没装独立 CLI和桌面应用显示 custom 无关别在这上面浪费时间。错误六删完不重启就验证。环境变量和配置文件都是启动时读取的不重启应用和终端你看到的还是旧状态。6. 后续接入与长期使用建议恢复官方登录后如果你打算长期用 Codex 做编码或 Agent 任务建议把配置管理规范化官方登录态和自定义 Provider 配置分开维护切换时明确改哪个文件、清哪些变量避免再次出现「卸了工具配置还在」的循环。需要重新生成 API Key 或管理接入凭证时走 API Keys 页面 https://taotoken.net/api-keys 配置细节和参数说明看接入文档 https://taotoken.net/doc 如果是长期编码、Agent 场景Coding Plan https://taotoken.net/coding-plan 更适合按量使用想先验证模型效果直接到模型对话 https://taotoken.net/chat 发请求测试。控制台入口在 https://taotoken.net/console Claude Code 相关接入参考 https://taotoken.net/claudecode 。最后提醒一句每次动.codex目录前先备份这个习惯能帮你在配置写坏时五分钟回滚而不是重装整个环境。