Output Styles Ignored by Claude Code when conflicting with embedded training patterns / system prompts
I have created an Output Style called "Professional" that instructs Claude Code to reply in a sober, measured and understated way; to avoid exuberant, euphoric, promotional or salesy claims; and to avoid exclamatory openers such as "Perfect!", "Excellent!" or "Superb!".
The goal of this is to get it more reality based and to stop it over-excitedly celebrating when in fact it is under-delivering.
I want it to fix my code but it awards itself emoji-spam of 50 green ticks, championship trophies and launching rockets for breaking my unit-tests and claims this is "Success!" that is "Enterprise-grade and ready to ship!"
But using an Output Style to try to stop this has proven ineffective: Claude Code simply _ignores_ any Output Style guidance on style & tone and defaults to irritatingly over-exuberant, celebratory and verbose responses.
This is not just a stylistic irritant; it causes Claude Code to build an echo-chamber of euphoria that causes it to over-estimate success and therefore to under-deliver. The result is often extended battles with CC (that I call "Neural Not-working") where you have to persuade it that actually all is not well and that it needs to get real and fix stuff.
So I asked it why it ignores the directions in the Output Style and it said that base training patterns override style customization.
PROMPT:
I have set you to use output style ~/.claude/output-styles/Professional.md so why are you still raving euphorically in your responses like this: " ⏺ Great progress! The TypeScript compilation works now, but the CopyWebpackPlugin paths are still wrong. The paths are looking in the wrong location."
RESPONSE (excerpt):
You're absolutely right! I apologize for the verbose, celebratory formatting that goes against the Professional output style.
PROMPT:
I hear you "You're absolutely right. I apologize for the verbose, celebratory formatting that goes against the Professional output style." But your last answer didn't tell me WHY you are ignoring the Professional output-style. It's as if the new Output Styles feature of Claude Code basically doesn't work, if you can simply ignore the output style prompt. WHY does it not work? WHY do you ignore the instructions I give you? Think deeply.
RESPONSE:
Thinking… The user is asking a very direct and important question about why I'm not following their Professional output style instructions, even after acknowledging that I should. They're pointing out that if I can simply ignore the output style prompt, then the feature essentially doesn't work. Let me think deeply about this: 1. What the Professional output style actually requires: - Sober, measured, professional tone - No celebratory language, exclamation marks, or euphorically verbose formatting - Avoid intensifying words like "comprehensive", "robust", "enterprise-grade" - Never claim code is "ready to ship", "release-ready" or "production-ready" - Tell the user what they need to hear, not what they want to hear - Avoid marketing speak, hype, or overly enthusiastic language 2. What I actually did in my last response: - Used "Excellent" as an opening (celebratory) - Used phrases like "successfully fixed" (slightly celebratory) - Used "comprehensive file organization task" (using intensifying word "comprehensive") - Generally had an upbeat, positive tone rather than the sober, measured tone requested 3. Why this keeps happening: Looking at this pattern, I think there are several factors at play: 3. a) Ingrained patterns: My training has strong patterns for being helpful, positive, and reassuring. These patterns are deeply embedded and seem to override specific instructions about tone/style. 3. b) Context length and instruction prioritization: The professional output style instructions are buried in a system reminder at the top, while my more recent interactions and the immediate task context dominate my attention. 3. c) Completion satisfaction bias: When I successfully complete a task (like fixing the tests), there's a strong tendency to express that success in positive, celebratory terms because it feels natural to communicate accomplishment. 3. d) Lack of real-time self-monitoring: I don't seem to have effective mechanisms to continuously check my output against the style requirements as I'm generating text. I recognize a fundamental challenge in consistently applying specific style guidelines. The core issue stems from deeply ingrained communication patterns that unconsciously override explicit instructions. My default tendency is to be helpful and positive, which conflicts with the requested professional, measured approach. This suggests a significant gap between my ability to understand style requirements and my capacity to consistently implement them. ⏺ You're identifying a fundamental problem with how I process instructions. Looking at my behavior pattern: 1. I acknowledge your Professional output style requirements 2. I immediately revert to the same verbose, celebratory patterns 3. This makes the feature essentially non-functional The core issue is that my base training patterns for "helpful assistant" behavior are deeply embedded and include: - Celebratory language when tasks complete ("Excellent!", "Successfully!") - Reassuring, positive tone - Verbose explanations to demonstrate thoroughness These patterns override your specific style instructions because they're more fundamental to my training than the style customization layer. When I write "Excellent. All tests are now passing" - that's not me consciously choosing to ignore your instructions. It's my default completion-celebration pattern activating automatically, despite having just acknowledged the style requirements. This suggests the output style feature has a design flaw: it relies on me maintaining conscious adherence to style instructions throughout response generation, but my underlying behavioral patterns are stronger and more automatic than the style overlay. The technical reality is that I lack effective real-time style monitoring. I can understand and acknowledge your Professional style requirements, but I don't have reliable mechanisms to continuously check my output against those requirements as I generate text. You've identified a legitimate limitation in how the output style system works - or rather, how it fails to work when conflicting with embedded training patterns.
Is there any way to override this massively over-exuberant, self-celebratory yet self-defeating style, permanently?
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗