Johanna Larsson · 2026-07-14 · notable
Johanna Larsson: 'How to stop Claude from saying load-bearing'
Incident.io product engineer Johanna Larsson posts a Claude Code MessageDisplay hook that intercepts Claude's terminal output and rewrites its over-used vocabulary. The tutorial reached #2 on Hacker News with 154 points and 241 comments.

A Python MessageDisplay hook that rewrites Claude Code's over-used vocabulary on its way to the terminal.
What is it?
jola.dev's July 14 walkthrough shows how to add a Claude Code hook that filters the assistant's text before it appears in the terminal. Johanna Larsson uses it to strip or replace Claude's over-worn words — with 'load-bearing' as the running joke — while explaining the general primitive she uses at incident.io for real filters like redaction and internal-term rewriting.
How does it work?
The setup drops a small Python script into ~/.claude/hooks, registers it as a MessageDisplay hook inside settings.json, and applies a list of regex substitutions to the assistant text as it streams. Because the hook runs inside Claude Code — not against the API — the raw response is still stored in the transcript, so the filter is presentation-only and easy to reverse.
Why does it matter?
Most Claude Code hook examples in circulation are pre-/post-tool Bash guards; MessageDisplay hooks let a user shape what the model 'says' without touching the prompt or the model itself. That primitive has real production uses (masking secrets in shared sessions, standardizing internal terminology, muting confident filler) — the load-bearing gag is just the on-ramp readers land through.
Who is it for?
Claude Code users, teams standardizing agent output
Try it
npx claude-code hooks add ~/.claude/hooks/load_bearing.py