Codex 提示 401 或登录过期:保存任务后重新认证

看到 401 Unauthorized、refresh_token_expired、refresh_token_invalidated,或明确提示退出后重新登录时,先判断当前是哪一种登录。401 表示这次认证没有被接受,不能只凭它认定封号或多设备挤号。

🎯 这篇要完成:401 / 登录过期。 身份正确,原错误消失。

401 / 登录过期流程示意:先保存工作、按路线登录、重试小任务;身份正确,原错误消失

原创流程示意,帮助记住顺序;具体按钮、字段和条件以当前页面与本次订单为准。

一、先留住工作与错误

保存文件,记下任务做到哪一步、还有什么未完成。截取完整错误和发生时间,保留客户端版本。如果刚才运行过会修改文件的命令,先检查结果,再决定是否重试。

然后查看当前用的是 ChatGPT 登录、OpenAI API Key,还是第三方服务。前两者的凭据和计费不同,第三方也可能返回同样的 401。

二、ChatGPT 登录:从出错客户端重登

明确要求重新认证时,到实际报错的桌面应用或扩展退出旧登录,再选择 ChatGPT 登录,重新完成浏览器授权。不要只在网页刷新,也不要复用已经过期的回调页。

CLI 用户先退出当前交互任务,在终端按顺序执行:

codex login status
codex logout
codex login

第一条查认证方式;第二条清除保存的认证;第三条发起新的浏览器登录。授权时确认浏览器里的是目标账号,回到 CLI 再检查结果。企业环境可能由管理员约束认证方式,按单位要求操作。

官方说明 CLI 与 IDE 扩展共享登录缓存,所以退出其中一个后,另一个也可能需要重登。Windows 原生与 WSL 默认不自动共享全部缓存,分别确认实际报错环境。

不要删除整个 .codex 目录来代替退出登录。 其中还可能有配置、记录和其他资料。认证文件 auth.json 含有访问令牌,排错时不必把它打印或发给别人。

三、API Key 登录:查密钥和项目

API 的 401 可能与错误、撤销的密钥或请求项目权限有关。核对当前服务地址、项目和密钥是否匹配,使用对应服务的官方控制台确认状态。

确实需要更换密钥时,按控制台和客户端文档重新配置,并检查旧密钥是否仍被环境变量或配置工具使用。ChatGPT 账号重登不能自动修好另一个 API 项目的密钥。

不要为了试错一次性更换所有密钥。使用第三方服务就检查该服务的凭据,不能把第三方密钥填到 OpenAI 官方认证流程。

四、重登成功但仍报错

浏览器授权完成,客户端仍失败时,记录卡在“授权、返回客户端、发送第一条消息”哪一步。网页能登录不能证明本地认证连接完全正常。

本地回调失败、远程 CLI 无法回到浏览器,可以按CLI 入门查看设备码方式;响应变成网页或 JSON 解析失败,看DOCTYPE 排查。持续失败按AI 排错指南提交脱敏信息。

五、用三个结果验收

重新认证后确认:账号与工作区正确;一条简单文字任务可以完成;原任务已有进度和文件改动能对上。恢复登录并不代表所有待办都已经完成,核对后继续。

实际操作中,容易弄错的地方

重新登录前,先确定用了哪种认证

如果选的是ChatGPT账号登录,就按这条路线重新授权;如果使用API Key,先看该密钥所属项目及服务配置,不把网页重新登录当成API密钥修复。

保存未完成的文件、最近任务结论和当前目录,再处理认证。重新打开客户端后,先检查账号状态和连接,然后发一个简单任务,确认原来的401或过期提示是否消失。

如果出现的是另一条错误,例如容量、权限或模型不支持,就按新错误继续分流;不要因为刚执行过登录,就认定任何失败仍是登录失败。

排错截图不含完整Token、Cookie、认证文件或API Key。需要支持时给认证类型、时间与错误原文即可。

小锅提醒:先保存,再退出

💡 小锅提醒:先保存,再退出。

完成前,再做一次小检查

  • ✅ 当前账号、订单或项目,就是这次要操作的对象。

  • ✅ 操作已经按页面确认,结果符合“身份正确,原错误消失”。

  • 🔎 如果仍有报错,保留本次完整提示,再去对应排查入口;敏感凭据先遮挡。

参考:官方认证与登录缓存、CLI 登录退出命令、API 401 说明。