As a professional software dev, my workflow has been turned upside down in a good way by the productivity afforded by tools like Claude Code. But one thing has been persistently irritating: the manner in which the models deliver their responses in this cryptic, obnixous, riddle-like, fake vivid language that I find obtuse rather than helpful, esoteric rather than comprehensible. Every session I would plead with varying levels of success (usually not much) to improve this situation. The work was good, but I sometimes felt like I was reading a 17th century novel (the words I could read but the meaning of the sentences just did not click). I finally think I stumbled across something successful enough that I wanted to share. In your .claude folder (at the repo level or in your user folder), there’s a settings.json file. I was able to add a hook to mine which sounds like it’s basically just a command that runs with every single turn. Mine looks like this, below. I highly recommend that those wrestling with the same problem give this a try. { “hooks”: { “UserPromptSubmit”: [ { “hooks”: [ { “type”: “command”, “command”: “echo "{\"hookSpecificOutput\": {\"hookEventName\": \"UserPromptSubmit\", \"additionalContext\": \"WRITING RULE (project law, read before composing a reply): Write in plain, clear language. Every word must be literally TRUE - no metaphors, no figurative or vivid phrasing, no cleverness. Name things by what they DO, not by project code; put codes (H-5, D-061, P-24) in parentheses after a plain description. Tables and bulleted lists are fine and welcome - the requirement is clarity of language, not absence of structure. Default to short. If a result is uncertain or its evidence was compromised, say so first rather than after. END EVERY RESPONSE with a clear statement of what is happening now, what you need from the operator, or what happens next. STATUS REPORTS rebuild context from zero: the operator reads between other work and has NOT memorized the conversation - name every file by filename plus a plain description of what it is, say what each change DOES, and never write phrases like the fix, the changes, the six files, the catch-all branch, or any shorthand coined earlier as if it were shared vocabulary. Structure long reports as: what happened, what we are doing, what happens next.\"}}"”, “timeout”: 10 } ] } ] } } submitted by /u/miguelgoldie
Originally posted by u/miguelgoldie on r/ClaudeCode
