CC Switch does not show the remaining quota - Codex
Quick fix
Codex 免费账户因官方 API 限制无法查询配额,暂无直接修复方案;Grok Build 用量漏记需修改源码改为流式解析。
Symptom
Section titled “Symptom”For Codex free accounts, CC Switch does not show the remaining quota or the refresh/reset time.CC Switch 的用量统计与余额显示模块存在多个已知问题。对于 Codex 免费账户,由于官方 API 限制,CC Switch 无法获取并显示剩余额度与刷新时间(Issue #3651)。此外,社区还反馈了其他工具的用量问题:Claude 的输入计费在扣除缓存时可能存在逻辑差异,导致输入小于缓存时费用计算为 0(Issue #1191);Grok Build 的会话日志(updates.jsonl)超过 50 MiB 时,会触发 MAX_GROK_FILE_BYTES 限制导致整文件被跳过,造成用量永久漏记(Issue #6660)。
针对 Codex 免费账户配额显示问题,目前官方尚未提供修复方案,建议等待后续版本更新以获取更清晰的不可用提示。
针对 Grok Build 用量漏记问题,需修改源码移除 50 MiB 限制,并参考 Codex 的实现将整文件读取改为 BufReader 逐行流式解析。
// src-tauri/src/services/session_usage_grokbuild.rsconst MAX_GROK_FILE_BYTES: u64 = 50 * 1024 * 1024;if metadata.len() > MAX_GROK_FILE_BYTES {log::warn!("Grok session log too large ({} bytes), skipping: {}", ...);return Ok(SessionSyncResult::default());}let content = fs::read_to_string(file_path)?;let events = parse_grok_usage_events(&content);let file = fs::File::open(file_path)?;let reader = BufReader::new(file);for line_result in reader.lines() {// 逐行解析 turn_completed 事件}
Affected Versions
Section titled “Affected Versions”ToolCodex / Grok Build / Claude
Version3.16.1 - 3.20.0 (受影响版本范围)
PlatformsWindowsmacOS
Source Issues
Section titled “Source Issues”本页汇总自 3 个真实 issue
- 为什么只有 Grok Build 会出现用量漏记,而 Codex 不会?
- Codex 的读取器是流式的且没有大小上限,而 Grok Build 存在 50 MiB 的 MAX_GROK_FILE_BYTES 限制,超过后会整文件跳过。
- Claude 的输入计费为什么有时显示为 0?
- 当输入小于缓存时,CC Switch 在扣除缓存后计算输入费用可能存在逻辑差异,导致费用为 0,该问题已被纳入追踪。
Codex 用量统计偏高:fork/resume 会话重复统计父历史 token升级 cc-switch 至 v3.18.0+ 并重建用量数据库,可修复 fork 会话重复统计父历史 token 问题。Codex 子代理 Token 统计遗漏与偏低升级至最新代码后,解析器将改用 payload.id 生成唯一请求 ID 替代 session_id,彻底解决 INSERT OR IGNORE 导致的静默丢弃问题,使子代理用量准确入库。cc-switch DeepSeek 用量统计不准/余额查询失败升级到 v3.19.2 并重建 Codex 用量;余额查询需正确填写 {{apiKey}} 或代理。
这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。