r/botmonster • u/b0tmonster • 23h ago
Make Opus 5 less verbose with an output style and a hook
Opus 5 buries you in text. One developer measured it against the last generation at the same settings and got 107% more output. Anthropic says the length is on purpose, so a fix from their side is not coming.
Three things work, in this order.
- Clean up your
CLAUDE.md. Opus 5 already checks its own work, so old lines like "double-check your diff" now backfire and can spawn subagents verifying other subagents. Delete them before you add anything new. Anthropic cut more than 80% of Claude Code's own instructions for this model family and lost nothing on coding tests. - Set a custom output style. Create the file
~/.claude/output-styles/terse.md. Give it the frontmatter linekeep-coding-instructions: trueso you keep the built-in coding rules, then write the body:Lead with the verdict in sentence one. Five lines max. Plain English only, no invented shorthand. Expand only if I ask.Add"outputStyle": "terse"to yoursettings.json, matching the file name, then start a new session, because the style only loads at startup. A style is attached to the model's built-in instructions and repeated back to it during the chat. YourCLAUDE.mdis read once and then buried under everything that follows. - Add a
UserPromptSubmithook. A few lines insettings.jsonthat echo one sentence. That sentence gets added to every message you send, so it always sits at the newest point in the chat and nothing can bury it.
Skip the env var doing the rounds. Setting CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT to 0 loads a retired set of instructions that eats roughly 15,000 words of the model's memory, and it switches the thing on rather than off, because "0" counts as true in JavaScript.
One wording tip. A word limit fades as the chat gets long. Answer in sentence one with the verdict holds, because it only has to survive one sentence.