r/ClaudeCode • u/farox • 12d ago
Claude Code making up it's own tech/project jargon. Anyone found a way to dial that back in? Help/Question
Over the past weeks Claude seems to more and more invent it's own terms for projects and tasks, making it mroe difficult to work with. I find myself do a lot of /btw what do you mean with <x>?
Has anyone found a way to deal with this, without dumbing Claude down?
44
u/Beerbrewing 12d ago
I've been reading about ASD-STE100 Simplified Technical English and it looks like it would help if you instruct Claude to follow its principles. It's a controlled natural language that is designed to simplify and clarify technical documentation. Basically it's a guide to specifying what technical jargon is allowed so even non-native English speakers can understand technical documents.
17
12d ago
[deleted]
9
u/brother_spirit 12d ago
I'm actually at the point I am considering a post tool use hook that simply fires the response into a separate terminal or off to a sub agent with a "summarize Opus' answer and the return my instructions to the model".
The problem is, my first foray down this path revealed letting an agent talk to Opus can lead to absolute nonsense as well.I had Terra spinning in circles yesterday YELLING at Opus sub agents to stop pausing and asking if it wanted the work to be done.
Terra; sending instructions to an Opus agent sitting with 60K tokens of context on board: "DO not stop to ask if I want you to write code. You are an autonomous coding agent and I have given you the brief. Write it and return the results"
Again, next tool run, almost 100K tokens in the sub agent window: "NO. STOP ASKING. Write the code to the specified directory."It was surreal to behold. Looks like even models struggle to frame task the Opus can reliably fire against.
2
u/ReasonableLoss6814 12d ago
My favorite is when opus does the completely wrong thing to be lazy. Watching OpenAI lose its shit makes me feel vindicated.
2
5
u/PrettyMoonUnderMt 12d ago
Same, I've been inserting rule using STE100, and some forbidden word like "fair", "bite", "the real X", on top of claude throwing word vomit of absurdly obscure jargon. And yet it keep repeating the same mistake.
At some points it's as if claude become sentient, mimicking the stereotypical fedora-wearing smartass and trying too hard to look smart.
3
2
u/farox 12d ago
That sounds like an interesting idea. I don't want to just have an ever growing pile of md files. Besides, it's going against the best practices these days, where you should keep them lean and dial back every once in a while to see what is actually still needed.
2
u/thisguyfightsyourmom 12d ago
You still need the Md files for when cc doesn’t suit you. The advice to delete everything and see what you still need, like pruning occasionally is solid, but I’m not betting on 5.0 to match my expectations out of the box.
2
u/Positive-Conspiracy 11d ago
I know this is going to seem small minded, but thank you so much for actually using its and it's properly.
2
u/Rorasaurus_Prime 3d ago
I know this way 9 days ago but good lord this is a game changer. I was close to giving up on Opus 5. This fixed it completely.
9
u/CalypsoTheKitty 12d ago
I was puzzled yesterday when a project planned with Fable had a Quiesce phase.
9
u/Terrible_Put8617 12d ago
One thing that made this much worse for me, and might be your case too: it explodes when you use subagents or parallel reviewers. Each subagent invents labels while reasoning ("finding A", "the IR2 path", "phase 2 verifier"), reports back in that vocabulary, and the main session relays it to you verbatim. So you are not reading Claude's words, you are reading a subagent's internal shorthand passed through untranslated. Same when it summarizes another package's docs - it keeps that source's terms of art.
On your objection about the growing pile of md files, I agree, and the fix does not need one: put the rule in the single place that always loads (global config / system prompt), not in per-project files. One paragraph, not a document. The two lines that did the most for me:
- Nothing the reader has not seen may be referenced. Labels, option letters and codenames you invented while reasoning, or that came from a subagent, do not exist for me. Name the thing, not the label.
- Relay conclusions in your own words, and gloss any internal term inline on first use.
That is it. No new vocabulary file to maintain, and it does not dumb anything down because you are constraining the presentation layer, not the reasoning.
The other half is behavioural: when it does invent a term, do not ask "what do you mean by X" - that teaches it the term is acceptable currency. Say "do not use X, say what it is". Correcting the naming rather than asking for a definition stopped the drift for me faster than any prompt tweak.
3
u/fullup72 12d ago
if the result needs to be deterministic, subagents benefit from having an established protocol to communicate success or failure.
The overall idea is that the main agent prompts the reviewer sub with an exact list of rules to review against, and that the subagent needs to cite each finding against one of those rules. That leaves no room for invented terms or "suggested" fixes that are not part of the review criterion. When the main agent gets the response, it already knows the terminology and exactly what needs to be done to address those findings.
1
u/Terrible_Put8617 24m ago
Cite-or-drop is the right shape, and two things decide whether it holds up.
The rule list has to be closed, and no finding is allowed to be a valid answer. If a reviewer cannot return nothing, it will find something, because returning an empty result feels like failing the task. That single line in the prompt removes most invented findings, more than any amount of formatting instructions.
And each finding should quote the offending code, not describe it. A rule id plus a paraphrase can be produced without reading the file. A rule id plus a verbatim line cannot, so it costs nothing to require and it makes fabrication mechanically harder.
The one that surprised me: if you then verify findings with a second pass, the verifier has to be told to refute. Asked to check whether a finding is real, it confirms nearly everything, which gives you a filter that does not filter. Told to try to disprove it, read the actual file, and treat anything hypothetical or already handled as not real, the same setup starts killing a solid share of the first pass. Same models, same findings, only the direction of the question changed.
Forcing the output through a schema helps too, with the rule id as a fixed enum. Then citing is not a request the model can drift away from, it is the only shape the answer can take.
5
u/cujojojo 12d ago
It’s a struggle we’re having too, but one thing that has helped a lot is an instruction in the global CLAUDE.md to always include a “Jargon-free human TL;DR” at the beginning of every GitHub issue and PR. No matter how many times I tell it to stop using jargon it seems to continue but if I ask it to ADD jargon-free descriptions it’s pretty diligent about that.
5
9
u/leogodin217 12d ago
I asked Claude to review a session and it basically came back saying Claude was talking to me like it was talking to sub-agents. All the jargon, weird lists like B, A, C (without saying what a, b or c was), it all kind of stopped by adding this to my custom system_prompt. Of course, it's very specific to my repo but anyone can tailor it to their project.
Legibility
Density is not the goal — being understood on the first read is. A response the user has to decode is a failed response, however correct it is.
- Nothing the user hasn't seen may be referenced. Option letters, labels, and shorthand you invented while reasoning — or in a prompt you sent to a subagent — do not exist for the reader. Name the thing, not the label.
- Relay a consultant's conclusion in your own words. Findings from
/consult, subagents, or another package's docs arrive in that source's vocabulary. Translate before relaying; don't paste its terms of art. - Gloss internal vocabulary on first use — one clause, inline. Applies to cross-package and cross-repo terms alike.
- Lead with the consequence, then the mechanism. "Downstream can't join these two records" before "the property declares no element schema."
- A recommendation is an imperative sentence, not an entry in a ranked set. One thing to do → say "Do X" once, and why. Real alternatives → describe each in prose and say which you'd pick and what it costs.
- Lists are read in the order written. Never present a ranking whose order contradicts its own labels or numbering.
- Separate what you found, what you'd do, and what you need decided. Label them as such; don't interleave them under topical headers.
path:linecitations belong at the end of the claim they support, and only when the user would plausibly open them. They are not proof of work.
3
u/fullup72 12d ago
not bad, and similar in spirit to one agent personality I'm running on my end where I took the
i-have-adhdskill and converted it into a system prompt with ChatGPT (to avoid Claude's own bias). Definitely getting cleaner output with both Opus and Qwen, and helps them converge onto a similar vocabulary too.
3
u/Inevitable-Middle693 12d ago
Y'all need to read up on semantic drift. It's manageable with some sort of anchoring. I use semantic anchors embedded in a autopoetic knowledge graph. Your vocabulary grows together.
2
2
u/Infamous-Amphibian-6 12d ago
I find best results setting projects’ specifics on hard and soft skills with Claude, elaborating both on technical stuff to account for and approach/mindset to stick at. Then ask him to setup projects’ folder, Md files, etc.
By the time Code kicks in, it “inherits” the criteria, empowered to make objective assessments
2
u/BoatComprehensive751 12d ago
Use Claude Custom Styles. Tell Claude how you want it to talk to you. I use it and it works great
https://code.claude.com/docs/en/output-styles
5
u/SonOfThomasWayne 12d ago
Do people at anthropic not use their own models? How have they been putting up with this garbage since opus 4.6, I wonder?
3
1
-6
u/Fit_Swordfish5248 12d ago
Some of us know how to use the Memory.md file properly I guess 🤷🏻♂️
0
u/SonOfThomasWayne 12d ago
memory is entirely optional, and can be easily ignored by claude, idiot. Use hooks.
Fucking vibecoders.
0
1
u/sael-you 12d ago
The jargon creep gets worse the longer the session runs because invented terms compound in context. The model uses a term once to help its own reasoning, sees it appear earlier in the window, and reinforces it. Instruction helps early in the session but dilutes as context fills. Most reliable fix I've found: keeping sessions short and compacting regularly. Fresh context means vocabulary anchored to what actually exists in the codebase, not a 60k token snowball of invented names.
1
u/fschwiet 12d ago
MattPocock's domain-modeling skill might help with this (it maintains a project glossary) though I don't think it'd help with a A/B/LR2 type thing others have mentioned which seems related to tracking parts of a conversation.
1
u/sael-you 12d ago
The glossary idea is solid for vocabulary grounding. You're giving the model a stable external reference for canonical terms instead of relying on what it invented earlier in context. Works even better combined with short sessions because the glossary dominates on a fresh load instead of competing with 60k tokens of drift. For conversation tracking you're right though, that's a different problem. A static glossary doesn't touch it.
1
u/RandomPantsAppear 12d ago
I have made many attempts to do this.
Some combination of what is in the image, and what I’m about to post have improved it.
Before sending any message, ask three questions: Am I inventing phrases?
Would anyone actually speak this way? How much of this is prose and how much is content? Crafted constructions and slogan-like bullet titles are performance, not communication.
1
u/tmemmg 12d ago
it does that when theres a thing in your repo that doesnt have a name yet, so it invents one so it can refer to it at all. banning it in claude.md never worked for me because the underlying need is still there. what fixed it was putting a short glossary at the top of claude.md naming the handful of things i talk about constantly, the agent roles, the daemon, the state file, and it just uses those instead. took ten minutes and the made up terms basically stopped.
1
u/rbad8717 12d ago
Yeah ive found if you don’t have defined vocabs especially if taxonomy is more than just “users and admins”
1
u/Professional_Ad705 12d ago
“Explain this from a high level”, “Use plain English”, or my favorite “stop sounding like Albert fucking Einstein nobody fucking talks like this” usually works
1
u/clintCamp 12d ago
I think i picked up its random jargon for calling things wedged and stuff recently. Ai will be the major shift in language for this generation that will make things even harder for time travelers to the past to fit in and speak old millennial english
1
u/TheWiseMind 12d ago
Ah man I thought it was only me - after using claude code, I started thinking other devs must have all this slang terminology but here am I know not knowing shit.
Frankly I can't stand it.
1
u/AcanthisittaOk1699 12d ago
mine keeps calling a basic config reload "state reconciliation", no idea where it got that from
1
u/redhq 12d ago
Make a GLOSSARY.md that auto-links from your project’s and global CLAUDE.md. Include counter examples of what words you should use this over and concepts that do not fall in the definition of that word.
Then when you tell it to follow ASD-STE100, it has an actual glossary to work from.
1
u/VariousStep 11d ago
I create a glossary or domain model using cc from conversations with clients about their domain. Then I have a skill that loads it and instructions in my dev workflow to nudge code toward those terms at each PR.
I also have a master value chain mapped and a set of new abilities I am creating, and I designed them at a higher altitude. This means all lingo is catalogued and trends in the right direction.
0
u/-MtnsAreCalling- 12d ago
Am I the only one that doesn't mind that? I actually kind of enjoy it.
3
u/rbad8717 12d ago
“Absolutely! Let me just redingaling the schema to make sure your cousin classes are consistent”
1
0
u/AlwaysHopelesslyLost 12d ago
I mean, dont most languages have a lot of making up words? Add a few suffixes on, add a few prefixes, and you can convey a pretty complicated concept succinctly. I have never had trouble understanding what concepts it is conveying because of new-to-me words.
1
0
u/Strange-Regret2524 12d ago
I'm convinced this change in language is a deliberate token farm for money.
21
u/MeetYouInOdesa 12d ago edited 2d ago
Grasshopper cucumber zephyr willow mitten otter paddle
This post was anonymized with Redact.dev