← Reddit

Opus 5 too chatty? Reach for hooks my friends.

Reddit · BizJoe · July 31, 2026
Opus 5 generates verbose responses where important information becomes buried behind preamble and recaps, causing critical details to be overlooked. The author implemented a solution using a BLUF (Bottom Line Up Front) tone configuration in a local settings file that eliminates unnecessary preamble and tool narration, combined with a UserPromptSubmit hook that reapplies the instruction with each prompt since the model's behavior drifts over longer sessions. This approach successfully moves conclusions to the top of responses, allowing readers to extract needed information quickly while keeping supporting details available below.

Detailed Analysis

A Reddit post addressing verbosity issues in Claude Opus 5 has surfaced a practical workaround that highlights both a known limitation and a broader pattern in how power users are learning to steer large language models. The author's core complaint is not about response length itself but about structure: Opus 5 tends to front-load responses with preamble describing what it's about to do, followed by the substantive answer, followed by a recap of what it just did. This "sandwich" pattern means critical information—including cases where the model cannot complete a task—gets buried, forcing users to read through ceremonial text to find the actual answer. The fix proposed borrows from military and business writing conventions: BLUF, or "bottom line up front," which restructures output so conclusions appear first and supporting detail follows, letting readers stop reading as soon as they have sufficient information.

The technical solution involves two complementary mechanisms available in Claude Code's configuration system. First, a tone section added to the global CLAUDE.md file instructs the model to avoid emotional validation, reflexive agreement, filler words, tool-call narration, and other forms of "ceremony" that pad responses without adding information—while explicitly preserving full reasoning for security warnings, destructive actions, and multi-step instructions where compression could introduce ambiguity. Second, and more novel, is the use of a UserPromptSubmit hook that fires on every single prompt submission, injecting a short reminder ("Use BLUF format...") directly into context. This addresses a specific failure mode the author observed: instructions embedded in CLAUDE.md tend to "drift" or lose salience as a session progresses, with the model reverting to verbose defaults after an indeterminate amount of time or context accumulation. Rather than relying on the model to remember a standing instruction, the hook mechanically re-asserts it every turn.

This matters because it exposes a persistent tension in how instruction-following works in long-context conversational agents: system-level or memory-file instructions compete for influence against everything else accumulating in context, and their effect can decay unpredictably rather than holding as a fixed constraint. The author's framing—"a preference the model weighs against everything else in context, not a setting that guarantees anything"—is a clear-eyed acknowledgment that even well-crafted prompt engineering is probabilistic, not deterministic. This is a recurring theme in production use of frontier models: developers increasingly build small infrastructure layers (hooks, wrappers, re-injection mechanisms) around the model rather than trusting a single upfront instruction to hold indefinitely.

More broadly, this reflects the maturation of the Claude Code ecosystem, where the hooks system (UserPromptSubmit, PreToolUse, PostToolUse, etc.) has become a genuine extensibility point that technical users exploit for behavioral control, not just automation. As agents are used for longer, more autonomous sessions involving many tool calls, verbosity and narration overhead become real costs—both in tokens and in human attention required to parse outputs. The community response pattern here—identifying a shared pain point, prototyping a fix, and publishing reusable config snippets—mirrors how developer tooling evolves generally, and suggests that as Claude models grow more capable and are trusted with longer autonomous workflows, the ecosystem of user-side scaffolding for shaping their communication style will likely keep expanding alongside official product features.

Read original article →