配置 task_creation_timeout api proxy

Codex 报错 Error creating task: Timeout

这个报错发生在新任务或新线程的创建阶段,不等于模型回答超时。先用已有任务做对照,再检查是否有失效的 MCP 服务阻塞启动;不要先删除 .codex、数据库或历史任务。

错误摘要

Codex 报 Error creating task: Timeout、Task creation timeout 或 Unable to start task 时,先测试已有任务,再临时禁用无法连接或路径失效的 MCP 服务并完全重启桌面端。

#codex error creating task timeout #codex task creation timeout #codex unable to start task #codex creating task 一直转圈 #codex 创建任务超时 #codex 新建任务失败

Codex Desktop 新建任务时可能一直停在 Creating taskThinking,最后显示:

Error creating task
Timeout

也可能显示:

Task creation timeout
Unable to start task

这个错误是什么意思

它表示 Codex 没能在桌面端规定的等待时间内完成新任务或新线程初始化。这个阶段发生在模型正式回答之前,所以它和长提示词、推理强度或模型生成速度不是一回事。

公开 issue 中有一个很有辨识度的现象:同一账号、同一网络下,已有项目对话仍能继续,只有新项目的第一个任务失败。这时应优先检查新线程启动链路,而不是反复换模型。

报错旁边的 no-active-thread-... 通常是 Feedback ID。它适合提交给官方定位,但不能说明具体根因。

常见原因

  1. 全局 MCP 服务无法连接。Codex 创建线程时会初始化 MCP;某个本地端口没有服务监听,可能让启动一直等待。
  2. MCP 命令路径已经失效。桌面端更新后,配置仍指向旧的运行时或不存在的可执行文件,也可能阻塞初始化。
  3. MCP OAuth 或密钥存储响应过慢。它会进一步消耗新任务创建的等待时间。
  4. Codex Desktop 当前版本存在任务创建回归。如果没有配置 MCP,或禁用失效 MCP 后仍复现,就不能继续把问题归咎于本地配置。

GitHub #33288 的报告者确认,两个失效的可选 MCP 阻塞了 thread/start;禁用它们并完全重启桌面端后,新任务恢复正常。这是已验证案例,但不是所有 Timeout 的唯一原因。

怎么解决

  1. 先测试一个已有任务。 如果已有对话能继续、只有新建任务失败,说明账号、模型、文件夹权限和基础网络大概率没有整体失效。
  2. 检查 MCP 配置。 打开 ~/.codex/config.toml,找出已经停服的本地地址、不存在的命令路径或不再使用的 MCP 服务。
  3. 只禁用确认失效的 MCP。 保留原配置,给对应项加上 enabled = false,不要直接清空整个配置文件。
[mcp_servers.example]
enabled = false
  1. 完全退出 Codex/ChatGPT Desktop 后重新打开。 只关闭当前任务或切换项目不足以重建完整启动链路。
  2. 用最小提示创建新任务。 例如输入“只回复 READY,不要修改文件”,确认任务能否成功建立。
  3. 仍然失败时更新到最新稳定版并提交反馈。 附上桌面端版本、操作系统、完整报错、Feedback ID,以及“已有任务是否正常、禁用 MCP 后是否变化”这两个对照结果。

不要先删除 ~/.codex、SQLite 数据库、rollout 文件或历史任务。公开案例不需要清空这些数据就能恢复,盲删反而可能造成任务记录丢失。

如果你没有配置 MCP

没有任何 MCP 服务,或者全部禁用后仍然出现 Error creating task: Timeout,就更像客户端或服务端的新任务初始化问题。此时重复重装、改项目路径、切换 Sol/Terra 或放大 Full Access 权限,未必能改变结果。

保留一个可重复的最小案例,记录出错时间和 Feedback ID,然后跟踪官方 issue。已有任务可以继续时,先用旧任务处理紧急工作,但不要把它当作已经修复。

一句话结论

Error creating task: Timeout 先查新线程启动时加载的失效 MCP;如果没有 MCP 或禁用后仍失败,就按 Codex Desktop 回归提交证据,不要靠删除本地数据碰运气。

相关错误

Claude Code / Codex 503 No available accounts:中转站账号池不可用排查 先不要盲目换 Key。这个错误通常说明账号池、供应商、分组或模型路由暂时不可用。先测最小请求、确认模型和分组,再判断是等待恢复、降低上下文,还是换 provider。 Codex: Selected model is at capacity. 模型容量已满排查 报错:Selected model is at capacity. Please try a different model. 先把它当作模型级容量、Admission 或流式中断问题处理。它可能出现在官方 ChatGPT 登录态 Codex CLI,也可能来自中转站账号池或 Sub2API 上游 overloaded 透传。 Codex 提示:你的对话中有多个可能的网络安全风险的标记 提示:你的对话中有多个可能的网络安全风险的标记。先把它当作 OpenAI/Codex 安全路由触发,而不是直接判断账号或中转站故障;再检查是否使用了中转 API、敏感关键词、超长代码上下文或不透明模型路由。 Error 429 Too Many Requests:AI API 中转站限流排查 报错:exceeded retry limit, last status: 429 Too Many Requests, request id: <request-id>。AI 中转站里连续 429 多半是上游账号池限流、冷却或额度耗尽,先让服务商换号、换线路或换模型。 Error 401 Unauthorized:AI API 中转站认证排查 401 是认证失败信号。先检查当前加载的是哪一个 Key、请求打到哪个 Base URL、header 格式是否正确,以及这个 Key 是否仍然在对应 provider 中有效。 中转站报错 API Error 502 origin_bad_gateway 排查步骤 报错:API Error 502、Error 502: Bad gateway、error_name: origin_bad_gateway、cloudflare_error: true。先看中转站状态页;如果目标模型或线路全红,停止反复改 Key 和重试,直接联系在线客服或站长确认号池与恢复时间。 Codex 提示:此聊天已被标记为可能存在网络安全风险 Codex 提示“此聊天已被标记为可能存在网络安全风险”时,先不要把它当作中转站故障或封号。它更像是系统级网络安全风险标记;普通开发误触发时,优先新开会话、缩小上下文、重新表述任务。 Codex: gpt-5.6-sol model is not supported with a ChatGPT account 报错:The 'gpt-5.6-sol' model is not supported when using Codex with a ChatGPT account. 先把它当作 ChatGPT 账号权限、订阅层级或灰度入口问题处理;可先切到 Terra/Luna,或改用 API Key/provider 配置。 Codex 找不到 MCP 工具:tool does not exist in this session's available toolset Codex 提示 MCP tool does not exist in this session's available toolset 时,先核对服务和工具发现状态,再用全新会话、codex doctor、官方 provider 与版本 A/B 判断是缓存、客户端回归还是自定义 provider 没有暴露工具。 Codex MCP 报错 Unexpected response type Codex MCP 报 Unexpected response type 时,先确认错误发生在 tools/call 返回之后,再用 MCP Inspector、直接客户端或旧版 Codex 做对照;服务端可临时简化返回内容,普通用户则应保留版本和工具名等待兼容修复。 Codex:当前环境没有提供可用的终端或文件编辑工具怎么解决 先 fork 当前对话,在新任务中回复“继续”让 Codex 重新执行。如果仍然没有工具,用 GPT-5.5 和手动 `!命令` 做一次对照测试。 Codex 报错 stream disconnected before completion Codex 报 stream disconnected before completion: error sending request for url 时,先不要急着换账号或改模型。它通常是终端网络、代理继承、中转站 Responses 兼容性或上游 SSE 流断开的信号。 Codex 报错 stream disconnected before completion: Upstream request failed Codex 报 stream disconnected before completion: Upstream request failed 时,不要只凭浏览器能上网就排除网络,也不要只凭 curl hello 能通就认定中转站没问题。先看 URL、upstream_error、response.failed、request id 和是否使用自定义 provider,再按官方链路、本地代理和中转站链路分开排查。

相关主题

常见问题

常见问题

no-active-thread-xxxx 是 Codex 错误码吗?

通常不是。它更像提交反馈时生成的 Feedback ID,可以随报错一起提供给 OpenAI,但不应当作根因或通用错误码搜索。

为什么旧任务能用,新任务却一直超时?

公开案例显示,失败可能卡在新线程初始化阶段,例如 Codex 启动全局 MCP 服务时等待了太久。旧任务能继续运行,说明账号、模型和网络并非完全不可用。

重装 Codex 能解决吗?

不一定。失效的 MCP 配置保存在用户配置中时,重装同一版本可能继续读取它。先禁用确认无法连接的 MCP,再完全退出并重开 Codex,成本更低。