一名开发者通过逆向工程工具拆解了Claude Code独立安装版的二进制文件,发现了两个独立的缓存Bug,可能导致API使用成本在用户不知情下增加10-20倍。该问题已被Anthropic标记为回归Bug并处理。
Bug 1:定制Bun运行时代码替换错误
- 影响范围:Claude Code独立安装版。
- 问题根源:定制Bun运行时在API请求中替换计费标识符时,错误地命中了对话历史中的首个匹配字符串(如讨论过计费机制),而非系统提示词。
- 后果:每次请求都会触发缓存全量重建。
- 临时方案:使用
npx @anthropic-ai/claude-code运行,其npm包版本不含此问题逻辑。
Bug 2:会话恢复时缓存前缀不匹配
- 影响范围:所有使用
--resume或--continue恢复会话的用户(自v2.1.69版本引入)。 - 问题根源:恢复会话时,系统信息注入位置与新建会话不同,导致缓存前缀不匹配。
- 后果:恢复操作会触发整段对话历史全量重写,产生大量额外开销。目前尚无外部规避方案。
成本影响估算
- 对于约50万token的长对话:
- Bug 1:每次请求额外消耗约0.04美元。
- Bug 2:每次恢复操作额外消耗约0.15美元。
- 两者叠加,单次请求成本可能额外增加超过0.20美元。社区推测这可能是部分用户用量消耗异常过快的原因之一。