ClaudeCode 报 400(thinking block)的解决方案
最近在用 cc 写东西的时候遇到过几次 400 的错误,具体表现为
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages.7.content.0: Invalid `signature` in `thinking`block"},"request_id":"req_xxxxxxx"}
解决步骤:
1、退出 Claude Code
2、找到对话文件:
# linux or mac ls -la ~/.claude/projects/
# win dir %USERPROFILE%\.claude\projects\
# 在项目文件夹中查找最大/最新的 .jsonl 文件 备份并修复文件:
import json
filepath = "/path/to/your/session.jsonl"
with open(filepath, 'r') as f:
lines = f.readlines()
with open(filepath, 'w') as f:
for line in lines:
if not line.strip():
continue data = json.loads(line)
if 'message' in data and 'content' in data['message']:
if isinstance(data['message']['content'], list):
data['message']['content'] = [
c for c in data['message']['content']
if c.get('type') not in ('thinking', 'redacted_thinking')
]
f.write(json.dumps(data) + '\n')
3、重启 ClaudeCode,/resume 恢复之前的记录,可以正常继续对话了
评论区(暂无评论)