{"slug": "how-to-stop-claude-from-saying-load-bearing", "title": "How to stop Claude from saying load-bearing", "summary": "Developer Johanna Larsson published a guide showing how to use Anthropic's Claude Code hook system to replace overused phrases like \"load-bearing\" and \"honest take\" with custom text, addressing a common user complaint about the AI assistant's repetitive vocabulary.", "body_md": "# How to stop Claude from saying load-bearing\n\nAbsolutely ripping your hair out reading Claude referring to everything as “honest takes” and \"load-bearing seams\"? [You’re not the only one](https://github.com/anthropics/claude-code/issues/53454). But what if I tell you there’s a way to take this massive source of frustration and make it so *ridiculous* you can't but laugh at it? Or just simply fix Claude's vocabulary. I present to you, the `MessageDisplay`\n\nhook.\n\nFirst you need a little script with some replacements set up:\n\n``` python\n#!/usr/bin/env python3\nimport json, re, sys\n\nreplacements = {\n    \"seam\": \"whatchamacallit\",\n    \"you're absolutely right\": \"I'm a complete clown\",\n    \"honest take\": \"spicy doodad\",\n    \"load-bearing\": \"cooked\"\n}\n\ndata = json.load(sys.stdin)\ntext = data.get(\"delta\") or \"\"\n\nfor phrase, replacement in replacements.items():\n    pattern = r\"\\b\" + re.escape(phrase) + r\"\\b\"\n    text = re.sub(pattern, replacement, text, flags=re.IGNORECASE)\n\nprint(json.dumps({\n    \"hookSpecificOutput\": {\n        \"hookEventName\": \"MessageDisplay\",\n        \"displayContent\": text,\n    }\n}))\n```\n\nput that in `~/.claude/hooks/wordswap.sh`\n\nand make it executable with `chmod +x ~/.claude/hooks/wordswap.sh`\n\n. Then to hook it up, add it to your `~/.claude/settings.json`\n\nin the `hooks`\n\nblock like:\n\n```\n{\n  \"hooks\": {\n    \"MessageDisplay\": [\n      { \"hooks\": [ { \"type\": \"command\", \"command\": \"$HOME/.claude/hooks/wordswap.sh\" } ] }\n    ]\n  }\n}\n```\n\nHooks load at startup, so you just need to start a new session to start your new life.\n\nI'm sure you can come up with much better and more productive replacements than me. Have fun!\n\nWritten by [Johanna Larsson](/about).\nThoughts on this post? Find me on Bluesky at\n[\n@jola.dev\n](https://bsky.app/profile/jola.dev)\n.\n\n## Related posts\n\n[\nelixir\noss\n](/posts/let-libraries-be-libraries)\n\n### Let libraries be libraries\n\nA gentle rant on the topic of libraries that run as Elixir applications and why that's an anti-pattern for library design.\n\n[\natproto\ntangled\n](/posts/ci-workflows-on-tangled)\n\n### CI workflows on Tangled for Elixir\n\nHow to set up CI workflows on Tangled for Elixir, with specific Elixir and Erlang versions, and a PostgreSQL service.\n\n[\nblog\natproto\n](/posts/automatically-syncing-your-blog-atproto-standard-site)\n\n### Automatically syncing your blog to atproto and standard.site\n\nKicking off a little side project for automatically discovering content through blog post feeds and syncing to atproto and standard.site.", "url": "https://wpnews.pro/news/how-to-stop-claude-from-saying-load-bearing", "canonical_source": "https://jola.dev/posts/how-to-stop-claude-from-saying-load-bearing", "published_at": "2026-07-14 00:00:00+00:00", "updated_at": "2026-07-14 11:52:58.005178+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "large-language-models", "artificial-intelligence"], "entities": ["Johanna Larsson", "Anthropic", "Claude Code", "Bluesky"], "alternates": {"html": "https://wpnews.pro/news/how-to-stop-claude-from-saying-load-bearing", "markdown": "https://wpnews.pro/news/how-to-stop-claude-from-saying-load-bearing.md", "text": "https://wpnews.pro/news/how-to-stop-claude-from-saying-load-bearing.txt", "jsonld": "https://wpnews.pro/news/how-to-stop-claude-from-saying-load-bearing.jsonld"}}