当使用 claude code 的时候 , 通过粘贴图片让它通过图片辅助我们实现一些效果时,总是会报 Request too max (20M .......)
然后当你发任何回复的时候,就陷入了死胡同,不管你/compact还是别的操作都是不行的,官方的建议是 点击两次Esc ,通过选择会话 conversation,回滚到出错前的某一个session片段。
那么为什么会出现这样的问题呢 ?
当你上传一张大图或者很多图片的历史后,它会被base64编码到对话的历史记录中会,这些损坏的数据会随着每一个未来的请求一起被发送。API 拒绝它。你被困住了。
“官方”的解决方法?清除你的对话。失去一切。重新开始。
我从大量网上博客文章中找到了这样的解决办法,供大家遇到相同的问题时,来解决问题
这是一个CLI工具 ,它可以:
- 找到被污染的对话文件
- 手术般地移除超大图片
- 保持其他所有内容完好无损
- 创建备份(以防万一)
快速安装:
npm install -g @asifkibria/claude-code-toolkit
然后直接运行:
cct scan 查看损坏情况
cct fix 修复它
重启 Claude Code。你回来了。
奖励:让 Claude 维护自己
你也可以把它安装成一个 MCP 服务器,然后直接让 Claude “检查你的健康状况”或“修复你发现的任何问题”
看着 Claude 诊断和修复它自己的损坏文件,这有点搞笑。