Skip to content

Codex startup failure: missing supports_reasoning_summaries field (cc-switch)

Quick fix

Upgrade cc-switch to v3.18.0 or later, then switch to the DeepSeek provider again to regenerate the model catalog. This automatically fills in the… (Codex)

Error output
切换供应商后生成的 cc-switch-model-catalog.json 中,DeepSeek 模型缺少 supports_reasoning_summaries 字段,导致 Codex 启动失败
English translation

After switching providers, the generated cc-switch-model-catalog.json is missing the supports_reasoning_summaries field for DeepSeek models, causing Codex to fail to start.

The model catalog parser in codex 0.144.5+ requires each model entry to include supports_reasoning_summaries. In cc-switch v3.17.0 and earlier, generating cc-switch-model-catalog.json for Chat Completions providers such as DeepSeek omitted this field, causing Codex to fail parsing and prevent startup. This was fixed in v3.18.0: when generating the model catalog, required parser fields are filled from a built-in static template only when missing, while dynamic values take precedence.

This cluster also contains several similar symptoms with different causes: #3615 is a quota check by Codex at OpenAI's separate entitlements/credits endpoint during startup. The cc-switch proxy can intercept inference endpoints such as /v1/chat/completions, but cannot intercept this check. As a result, after the free trial quota is exhausted, the Codex frontend displays a blank screen or warning. This issue was closed as stale; no fix is currently available. #3796 is a blank screen in the cc-switch UI when adding a provider and configuring a DeepSeek model. The maintainer suggested upgrading to v3.16.4 and retrying, but a user reported that it still reproduced in 3.17.0; no confirmed fix was found. #4130 occurs when taking over Hermes (provider: deepseek): each save appends another custom_providers block to the end of config.yaml, creating duplicate YAML keys. The next startup reports duplicate entry with key "custom_providers". This issue was fixed in v3.16.3 by removing old blocks before writing and deduplicating during startup parsing.

  1. Upgrade cc-switch to v3.18.0 or later. The maintainer confirmed that this version automatically fills in required parser fields such as supports_reasoning_summaries when generating the model catalog.

  2. After upgrading, switch to the DeepSeek provider again in cc-switch to regenerate cc-switch-model-catalog.json, then restart Codex and verify that it starts normally.

  3. If startup still fails after upgrading, attach the generated cc-switch-model-catalog.json to the original issue and reopen it with your report.

  4. If you are encountering the Hermes YAML duplicate-key startup error (duplicate entry with key "custom_providers"), upgrade cc-switch to v3.16.3 or later. Existing duplicate-key entries will be cleaned up automatically.

ToolCodex
Versioncc-switch v3.17.0 及以下为受影响版本,v3.18.0 起修复(Hermes YAML 变体在 v3.16.3 修复)
PlatformsWindowsmacOS
I have a DeepSeek API key. Why does Codex still report insufficient quota or show a blank screen on startup?
After startup, Codex first checks quota at OpenAI's separate entitlements/credits endpoint. The cc-switch proxy can intercept model inference endpoints such as /v1/chat/completions, but cannot intercept or spoof this quota check. Codex therefore sees the actual quota on the OpenAI account, which is close to zero, and displays a warning or blank screen in the frontend. The issue was closed as stale; no fix is currently available.
I upgraded to 3.17.0, but the screen is still blank when I add a provider and configure a DeepSeek model. What should I do?
The maintainer noted that the Codex provider form was substantially refactored after v3.16.1: v3.16.3 consolidated the advanced settings area, and v3.16.4 decoupled the upstream format selector and refreshed domestic provider presets. They recommended upgrading to the latest version and trying again. If the blank screen persists, check the console error in developer tools and reply to the original issue with reproduction steps so it can be investigated. As of the issue's closure, users still reported reproducing it on 3.17.0; no confirmed fix was found.
Each time I save the Hermes configuration, another custom_providers block is added to config.yaml and startup reports a duplicate-key error. What should I do?
This was a bug in older versions such as cc-switch 3.14.1: saving appended a block instead of replacing it in place. Upgrade to v3.16.3 to fix it. Before writing, the app removes all old custom_providers blocks and writes the block again. Before startup parsing, it also deduplicates repeated keys, preventing the duplicate entry with key error.
Does fixing the Codex startup failure require upgrading cc-switch, or can I edit the file manually?
The only solution confirmed by the issue maintainer is upgrading to v3.18.0 or later. The missing field is filled in automatically when the catalog is generated, and dynamic values take precedence. The issue does not mention manually adding the field to cc-switch-model-catalog.json, so that is not recommended.

This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.