Opus 5 is unreadable. Here's my fix (not another CLAUDE.md addition).
热度趋势
趋势数据积累中
百分比基于当前可用热度信号,而非评论数或独立用户人数。
这条记录涉及编程工具或代码能力更新,适合开发者评估工作流变化和可复用价值。
一位Reddit用户指出,Opus 5模型因其冗长的回顾而“难以阅读”,并声称这使其成为“有史以来最受诟病的模型之一”。尽管许多人建议在系统提示或CLAUDE.md中添加简洁性指令,但该用户表示这只是一个临时解决方案。他们提出了一个修复方法,即仅当模型为Opus 5、已编写代码且至少进行了6次工具调用时才触发回顾,并提供了GitHub链接以获取完整的钩子。
Opus 5 is unreadable, especially in its recaps of all the work it did, and it is quickly becoming one of the most hated models of all time. Most people suggest adding conciseness instructions to your system prompt or CLAUDE.md, but that only works for a little bit, then the model is back to being unreadable.
So don't put it in CLAUDE.md. Enforce conciseness just-in-time. Let me explain.
I created a stop hook which fires the moment Claude decides it's done.
It refuses the stop, then feeds a conciseness prompt just in time to the model.
Mine says: "Type a clean recap. Keep it short, light, and plain — a few sentences of what changed and what it means, not a report. Write for someone who has not read the code: no file paths, no function or variable names, no line numbers, no code blocks, and assume nothing about what they already know of the internals. Skip the caveats and next-steps unless something is genuinely broken or unfinished. If they want the detail, they will ask."
Two things that make it survivable:
Loop guard: I added logic to make sure the stop hook won't fire over and over and cause an infinite loop.
Gates: A recap on every turn is worse than no recap. Mine only fires if the model is Opus 5, the turn actually wrote code, and it ran at least 6 tool calls.
This is extremely cheap to run too (since you just pay for the input of your recap request message and the output of the condensed response).
The best part about this is that you can configure it however you like in your setup. Hooks are one of the most powerful yet underutilized features in Claude Code.
Get the full hook: https://github.com/rcolman6/clean-recap/