一个关闭Claude code cli在auto mode时始终遵循Bash first的方式,恢复正常使用read/write/edit工具

ktze 2026-08-29 17:57 1

从 Claude code 为什么最近一直使用Python脚本来编辑文件继续讨论。


发现cc最近总喜欢用 Bash 完成一切操作,而不是原生的 Edit/Write等工具


我让Claude自己去调研这个问题,得知这是Anthropic 在搞 A/B 测试,就一直没管,但最近我发现这个模式下消耗远比之前大得多,而且完成任务更慢更差劲。


正常情况下,在 auto 或 bypass 模式下,Claude Code 会优先使用原生工具,原生工具做不到时才会退回到 Bash。

但如果你和我一样不幸命中了 Anthropic 的 A/B 测试,它的行为策略就会被强制设为「Bash 优先(Bash-first)」,System Prompt 中对应的提示词会变成:


「auto 模式启用期间:只要 Bash 工具能搞定,就一律用 Bash 完成任务:读文件用 cat、head 或 sed -n;搜索用 grep 和 find;改文件用 sed、heredoc 或简短脚本,不要使用 Read、Edit、Write 这些专用工具。只有在 Bash 确实搞不定时,才退回使用专用工具。」


不管a/的目的是什么,是被dsh夺舍也好,还是被codex夺舍也好,本来系统提示词就注入了一堆工具提示词,这下又同时注入优先用bash的提示词,那这左右脑互博的行为特么不是一直在浪费我钱吗?


总之解决方案如下!


排查与关闭:




  1. 检查是否命中测试:

    查看 ~/.claude.json 中的 clientDataCacheSlots 字段,如果看到 "tengu_thrifty_sonic": true,就代表你被分配到了这个 Bash-first 的实验组。




  2. 强制关闭该测试:

    ~/.claude/settings.json 中添加如下配置,即可退出:




{
"env": {
"CLAUDE_CODE_THRIFTY_SONIC": "0"
}
}
最新回复 (2)
  • Monster Dump 08-29 18:18
    1

    感谢佬告知,我的 .cladue.json 并无该设置,但进入 bypassPermissions mode,也是爱用 Bash 来编辑,使用的是 python3

  • ktze 楼主 08-29 18:31
    2

    无脑设置"CLAUDE_CODE_THRIFTY_SONIC": "0"就行

* 帖子来源Linux.do
返回