Claude Code 4.7不显示思考块的临时解法

好像还没人提这个。

原因是A÷的代码里,显示思考的逻辑是根据模型名来的,但没把4.7加进去:

// resources/native-binary/claude 里 model-picker 的 switch
else if (_ === "opus"                && Rz()) return UVH([...q, Sl7(!1)]);
else if (_ === "opus[1m]"            && Rz()) return UVH([...q, sVq(!1)]);
else if (_ === "claude-opus-4-6"     && Rz()) return UVH([...q, El7(H, !1)]);
else if (_ === "claude-opus-4-6[1m]" && Rz()) return UVH([...q, hl7(H, !1)]);
else { /* 落到 Custom model 分支,剥离 thinking 能力 metadata */ }

官方没修之前,可以这样临时解决一下:

{
  "env": {
    "CLAUDE_CODE_EXTRA_BODY": "{\"thinking\":{\"type\":\"adaptive\",\"display\":\"summarized\"}}"
  }
}

是不是直接把那段代码复制过去就能显示思考块了?我不太确定,怕改错了出问题,有没有更详细一点的步骤说明?小白问一下。

又来这种帖子了,每次更新都得用户自己扒代码找临时方案,官方就不能测试好再放出来吗?等一个正式修复。

打开你的用户配置文件,找到env字段,如果没有就手动添加。然后把帖子里的那段JSON代码完整复制进去,注意检查引号和括号。保存后重启客户端应该就生效了。

你提到代码里判断逻辑是根据模型名来的,那具体是怎么匹配的?我看你贴的代码片段里有opus、opus[1m]、claude-opus-4-6这几个条件分支,4.7的模型名具体是什么格式?是"claude-opus-4-7"还是"opus-4.7"或者其他?这个判断逻辑在哪个文件里,除了resources/native-binary/claude还有其他地方需要改吗?我之前改过类似的显示配置,但好像不同的客户端版本文件位置不太一样。

我上周也遇到这个问题,4.7刚出来那会儿思考块直接不显示,折腾了半天。后来在GitHub的issue里翻到类似解法,但不是加环境变量,而是直接改渲染逻辑。我试了改thinking块的CSS显示属性,虽然能强行显示出来但格式是乱的。你这个方法看起来更干净,不过我好奇那个CLAUDE_CODE_EXTRA_BODY参数,它是所有版本通用的吗?我之前用的第三方客户端好像没有这个配置项。另外如果官方修复了,这个临时配置需不需要手动移除?会不会和正式更新冲突?

官方测试不到位真的烦,每次更新都要手动修

不显示思考块这个真的别扭debug全靠日志

env字段我加了还是没用,得重启客户端两次才生效

改完记得别复用旧session,要新开会话才生效

搜了一圈就这一个临时办法,先用着等官方更新

配置里那行加进去就行,亲测有效

直接复制就行,但要找到对应位置,没编程基础容易改错

4.7的判断分支官方就漏写了,github早有人提issue

你扒源码这个细节真细,原来是模型名硬编码漏了4.7

升完默认就关了,启动时加个环境变量能显示出来

复制JSON到env字段那段确实管用,亲测可以