
1. Windows 上跑 Codex为什么卡在“能装不能用”Codex 在 Windows 上已经提供原生支持不需要 WSL、不需要虚拟机直接在 PowerShell 或 CMD 里就能跑起来。这对习惯 Windows 工作流的开发者来说是个好消息不用再为了一个命令行工具去折腾子系统也不用在文件系统之间来回拷贝。但真正上手之后很多人会发现“装是装上了第一次调用却过不去”——要么是 Key 没配好要么是 config.toml 路径写错要么是终端环境变量没生效。这篇内容聚焦的就是这个环节Windows 原生环境下 Codex 的接入配置重点放在统一 Key/API 通道的 config.toml 骨架以及从安装到首次调用的完整闭环。适合需要在本地快速跑通 Codex、并且希望用一个统一 Key 管理多个模型通道的开发者。下面会给出可直接复制的配置骨架、启动验证命令以及我实际踩过的几类报错和排查动作。2. TaoToken 前置统一 Key 与接入地址在配置 Codex 之前先把 TaoToken 这一侧准备好。TaoToken 提供的是统一的 API 通道你只需要一个 Key就可以在 Codex 里调用不同的模型不用为每个模型单独维护一套鉴权信息。对 Windows 本地开发来说这能省掉不少环境变量来回切换的麻烦。你需要先拿到两样东西一个是 API Key一个是接入地址。Key 在控制台的 API Keys 页面创建地址使用https://taotoken.net/api。创建 Key 的时候建议按用途命名比如codex-win-local方便后面在多个工具之间区分。注意Key 只在创建时完整显示一次复制后先存到安全的地方不要直接写进会提交到 Git 的配置文件里。如果你还没有 Key可以先到控制台创建创建和管理 Keyhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_config接入文档参考https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_config拿到 Key 之后先不要急着改 Codex 的配置。建议先用一个最简单的请求验证 Key 本身是通的这样后面如果 Codex 报错就能快速判断是 Key 的问题还是配置的问题。验证方式可以用 curl也可以用 PowerShell 的Invoke-RestMethod下一节会给出具体命令。3. 可复制配置config.toml 骨架与 Windows 路径写法Codex 在 Windows 上的配置文件默认放在%USERPROFILE%\.codex\config.toml。如果你之前没有这个目录先手动创建。下面是一个可以直接复制修改的骨架重点是把统一 Key 和接入地址填进去。# %USERPROFILE%\.codex\config.toml # Windows 原生环境 Codex 配置骨架 model gpt-4o-mini model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY [windows] sandbox unelevated sandbox_private_desktop true这里有几个点需要说明。base_url填的是 TaoToken 的 API 地址注意不要在后面多加/v1之类的路径Codex 会自己拼接。env_key指定的是环境变量名也就是说 Key 不直接写在 config.toml 里而是通过环境变量注入这样配置文件可以安全地放在项目里或者备份。接下来设置环境变量。在 PowerShell 里执行# 当前会话生效 $env:TAOTOKEN_API_KEY 你的Key # 永久生效写入用户环境变量 [Environment]::SetEnvironmentVariable(TAOTOKEN_API_KEY, 你的Key, User)如果你用的是 CMD对应写法是set TAOTOKEN_API_KEY你的Key setx TAOTOKEN_API_KEY 你的Keysetx写入的是持久环境变量但只对之后新开的终端生效当前窗口不会立刻更新。所以设置完之后建议关掉终端重新开一个再继续后面的验证。关于 Windows 路径config.toml 里如果涉及路径建议统一用正斜杠或者双反斜杠。比如日志目录写成C:/Users/YourName/.codex/log或者C:\\Users\\YourName\\.codex\\log不要写成单反斜杠否则 TOML 解析会把它当成转义字符。4. 验证请求从 Key 连通到 Codex 首次调用配置写完之后先验证 Key 本身能不能通。用 PowerShell 发一个最小请求$headers { Authorization Bearer $env:TAOTOKEN_API_KEY Content-Type application/json } $body { model gpt-4o-mini messages ({ role user; content ping }) } | ConvertTo-Json -Depth 5 Invoke-RestMethod -Uri https://taotoken.net/api/chat/completions -Method Post -Headers $headers -Body $body如果返回里有正常的choices字段说明 Key 和网络都是通的。这一步过了再回到 Codex 做首次调用。启动 Codex 并执行一个非交互命令codex exec 用一句话说明当前目录下有哪些文件如果配置正确你会看到 Codex 读取当前目录、调用模型、返回结果。第一次调用可能会稍慢因为要初始化沙箱和终端环境。实测下来Windows 原生模式下 unelevated 沙箱启动比较快也不需要管理员权限。如果你想在交互模式里测试直接运行codex进入 TUI 后输入问题即可。交互模式更适合调试多轮对话和工具调用。5. 本篇常见错排查启动失败、Key 不生效、中文路径5.1 Codex 启动报“无法加载配置”最常见的原因是 config.toml 语法错误。TOML 对引号和反斜杠比较敏感尤其是 Windows 路径。排查动作把 config.toml 里的路径先注释掉只保留 model 和 provider 部分看是否能启动。如果能启动再逐行加回路径定位到具体哪一行有问题。另一个原因是文件编码。Windows 上某些编辑器默认保存为 GBKCodex 读取时可能解析失败。建议用 VS Code 或 Notepad 把 config.toml 保存为 UTF-8 无 BOM。5.2 Key 设置了但 Codex 说未授权先确认环境变量在当前终端里真的存在echo $env:TAOTOKEN_API_KEY如果输出为空说明环境变量没生效。用setx设置的需要新开终端用$env:设置的只对当前会话有效。另外注意 config.toml 里的env_key名字要和实际设置的环境变量名完全一致大小写敏感。还有一种情况是 Key 复制时带了空格或换行。重新复制一次确保前后没有多余字符。5.3 PowerShell 命令不执行或中文路径异常Codex 在 Windows 上会调用 PowerShell 执行命令。如果 PowerShell 不在 PATH 里或者执行策略限制过严命令会失败。检查方式Get-ExecutionPolicy如果是Restricted可以改成RemoteSignedSet-ExecutionPolicy -Scope CurrentUser RemoteSigned中文路径方面Codex 本身支持 Unicode但旧版终端可能显示异常。建议用 Windows Terminal 而不是老版 CMD 窗口。如果项目路径里有中文尽量确保终端编码是 UTF-8chcp 650015.4 日志位置与查看方式Windows 下 Codex 的日志在%USERPROFILE%\.codex\log\codex-tui.log启动失败时先看这个日志的最后几十行通常能看到具体的错误原因。用 PowerShell 查看Get-Content $env:USERPROFILE\.codex\log\codex-tui.log -Tail 506. 接入之后统一 Key 的日常用法与 CTA配置跑通之后日常使用就是保持环境变量可用、config.toml 不变。如果你需要在多个模型之间切换只需要改 config.toml 里的model字段Key 和接入地址都不用动。这就是统一 Key 的便利之处一个 Key 管多个模型通道Windows 本地开发不用反复改鉴权信息。如果你在接入过程中遇到 Key 或配置问题优先看 API Keys 页面和接入文档API Keys 管理https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_config接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_config想先验证模型对话是否正常可以直接用模型对话页面发一条消息测试模型对话https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_config如果你打算长期在 Windows 上用 Codex 做编码和 Agent 任务可以了解 Coding PlanCoding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcodex_windows_config最后提醒一个实际经验Windows 原生模式下Codex 的沙箱和终端集成已经比较稳定但如果你同时装了 WSL 版本注意两者的配置目录是分开的不要混用同一个 config.toml。原生版本用%USERPROFILE%\.codexWSL 里是~/.codex各自独立维护更省心。