How to stop Claude from saying load-bearing
TL;DR Highlight
A MessageDisplay hook regex-swaps Claude's favorite tics like 'load-bearing' in displayed output.
Who Should Read
Developers using Claude Code who are annoyed by its repeated phrases like 'load-bearing' and 'honest take'.
Core Mechanics
- A MessageDisplay hook changes only the displayed text
- Claude Code's MessageDisplay hook passes the message delta to a script via stdin.
- The script returns displayContent, and the screen shows the rewritten text.
- The replacement rules are one Python dict
- Examples are seam→whatchamacallit, honest take→spicy doodad, load-bearing→cooked, and you're absolutely right→I'm a complete clown.
- Each phrase is replaced with word boundaries, re.escape, and case-insensitive matching.
- Setup is one file and one settings block
- Save the script as ~/.claude/hooks/wordswap.sh and chmod +x it.
- Add a command-type entry under hooks.MessageDisplay in ~/.claude/settings.json.
- It applies from the next session
- Hooks load at startup, so you must open a new session.
- The post is a parody, and the author says to pick better, more useful replacements.
Community Reactions
How to Apply
- Create the swap script and wire it as a hook
- Save the script to ~/.claude/hooks/wordswap.sh and run chmod +x.
- Add the MessageDisplay hook to settings.json and start a new session.
- Add your own annoying phrases to replacements
- Collect the phrases you keep seeing for a few days and add them to the dict.
- Use practical swaps like 'load-bearing'→'critical' instead of jokes.
- Check how streaming chunks affect matching
- The script replaces per delta, so test whether phrases split across chunks still get swapped.
- If not, shorten rules to single words.
Try It
# Run in terminal (install hook script, based on the original code)
mkdir -p ~/.claude/hooks
cat > ~/.claude/hooks/wordswap.sh <<'EOF'
#!/usr/bin/env python3
import json, re, sys
replacements = {
"seam": "whatchamacallit",
"you're absolutely right": "I'm a complete clown",
"honest take": "spicy doodad",
"load-bearing": "cooked"
}
data = json.load(sys.stdin)
text = data.get("delta") or ""
for phrase, replacement in replacements.items():
pattern = r"\b" + re.escape(phrase) + r"\b"
text = re.sub(pattern, replacement, text, flags=re.IGNORECASE)
print(json.dumps({"hookSpecificOutput": {"hookEventName": "MessageDisplay", "displayContent": text}}))
EOF
chmod +x ~/.claude/hooks/wordswap.sh
# Add to the hooks block in ~/.claude/settings.json
# {"hooks": {"MessageDisplay": [{"hooks": [{"type": "command", "command": "$HOME/.claude/hooks/wordswap.sh"}]}]}}
# Next: in a new session, ask Claude to write a sentence with 'load-bearing' and see the swapTerminology
Related Papers
AI is a tool and using it well takes skill
A rebuttal to Hickey: LLMs are tools, and skill in directing and checking them decides the outcome
Reflective Prompt Optimization of a Deep-Research Agent: A Topic-Disjoint, Multi-Seed Protocol for Measuring Transferable Gains and Prompt-Level Overfitting
Reflective prompt optimization raised held-out citation reward from 0.702 to 0.781 on a deep-research agent.
GPT‑6 and Intelligent UI for everyone
GPT-6 reportedly adds generated UI to chat; with no article text, only comment reactions are available.
Base Models Can Reason By Taking a Cue From Training Data
Prefilling just two opening tokens lifted Olmo-3-7B's MATH-500 accuracy from 42% to 78%.
Labels Override Definitions in Jev-Style Typed Decision Models
Renaming options to A/B raised routing accuracy by +0.1511 over meaningful labels.
How Much Prompt Is Enough? A Blackbox Minimization of Few-Shots in LLMs
Delta debugging trimmed few-shot prompts by 65.3% on average with unchanged propositional output