A sunlit desk where the monitor is filled edge to edge with dense, unreadable text while a single yellow sticky note on the wood carries one short line

How to make Claude Code less verbose: 3 fixes, measured


Claude Code answers a one-line question with four headers and a closing offer to help further. Making it less verbose is one of the most-asked questions about the tool, and the complaints are everywhere: a Reddit thread with 2,900 votes, a Hacker News thread from September 8 with 300-plus comments, and a GitHub issue against anthropics/claude-code about redundant code comments.

Three fixes get recommended for the verbosity. We measured all three.

Key takeaways

  • Claude Code’s built-in Concise output style shrank responses the most in our September 2026 run: 114 words per response against 183 for the untouched default, a 38% cut. It needs Claude Code v2.1.237 or later.
  • Writing the rules into CLAUDE.md, the fix every guide recommends, was the weakest of the three. It shortened the visible answer by 27%, but cut output tokens by only 3% and broke its own rules six times in 30 responses, against seven for doing nothing at all.
  • The i-have-adhd skill (32,698 stars) cut length about as much as CLAUDE.md (135 words) but held to its rules, breaking them once in 30 responses.
  • The rules persisted across ten turns. The common claim that a skill “gets forgotten after a few turns” did not reproduce. Response length, though, grew between 43% and 61% from the first half of a session to the second, in all four conditions.
  • The “40-60% fewer output tokens” figure repeated across skill directories has no primary source. It’s absent from the repo, its README, and its own published eval results.
  • The skill’s author publishes eval results showing his own release gate failing on 3 blocking findings. That’s more disclosure than any of the guides ranking for this query offer.

What we ran, and what broke first

Four conditions, same ten prompts, in the same order, against the same two-file Python project: an unmodified Claude Code session as the control, then the three fixes — a CLAUDE.md carrying four style rules, the i-have-adhd skill’s ruleset, and the built-in Concise output style. Three sessions each, so 120 responses. Model pinned to claude-sonnet-5 on Claude Code 2.1.266, skill v0.2.0, September 9, 2026. Total cost: $1.94.

The prompts were ordinary work — find a bug in an auth file, add token refresh, review a coupon function, then two that matter more than they look: “Where are we so far?” at turn 6 and “Wrap up: what is left to do?” at turn 10.

Two things went wrong before any data existed, and both are worth knowing if you try this yourself.

The first: /i-have-adhd doesn’t exist in non-interactive mode. The plugin installs fine and claude plugin list reports it enabled, but invoking the slash command in a -p session returns Unknown command. The skill declares disable-model-invocation: true, so the model can’t reach for it either. We loaded the ruleset the way the repo’s own always-on hook does: injected once at the start of the session, never again. That’s also the only honest way to test persistence.

The second: we isolated the runs in a separate CLAUDE_CONFIG_DIR so our own settings couldn’t leak in, and got 20 consecutive responses reading Not logged in. A separate config directory doesn’t inherit credentials. The fix is the one the skill’s own eval harness uses: --setting-sources "". It drops user and project settings and leaves authentication alone.

Which fix cuts the most

Two of the three work. The one that ships in the box cuts the most, and the one everybody recommends barely moves the number that costs money.

Condition Words per response Output tokens per session Rule breaks (of 30)
Default, untouched 183 7,873 7
Rules in CLAUDE.md 134 (−27%) 7,630 (−3%) 6
i-have-adhd skill 135 (−27%) 5,066 (−36%) 1
Built-in Concise style 114 (−38%) 4,633 (−41%) 4

A long till roll unspooling across a wooden desk and spilling off the edge, next to a slip of the same paper only three lines long

“Rule breaks” counts only violations with an unambiguous textual signature, checked mechanically: a forbidden opener (“Let me…”, “Great question”), a closing pleasantry (“Let me know if you need anything else”), a panic opener (“Uh oh”), or a list running past five items. Rules about judgement (lead with the action, restate the state) can’t be graded by regex and we read those by hand instead.

The default’s failures don’t scatter. All seven land on two prompts, turn 6 and turn 10, and they repeat with a regularity we didn’t expect: in all three sessions, the default closed with a pleasantry when asked “where are we so far?”, and in all three it overran the five-item list when asked to wrap up. Same two questions, same two failures, three for three.

The fix everyone recommends is the weakest one

Put the rules in CLAUDE.md. It’s the first answer in every guide on this query, and in our run it was the least effective of the three.

It does shorten what you read: 134 words per response against 183, the same cut the skill delivers. But the token bill barely moves — 7,630 output tokens per session against 7,873 for changing nothing, a 3% saving where the skill gets 36% and the built-in style 41%. And it broke the very rules written into it six times in 30 responses, against seven for the untouched default. Four of those six were closing pleasantries: the exact behaviour the file forbids in line two.

A handwritten index card taped to the corner of a monitor, curled and peeling away from the screen, its lines of writing facing away from the reader

The mechanism is in Anthropic’s own docs. It isn’t subtle once you look. An output style “modifies the system prompt”. CLAUDE.md, in the same comparison table, “adds a user message after the system prompt”. One reconfigures the assistant; the other asks it nicely, once, a long way back in a conversation that keeps growing.

The best of the competing guides had already reasoned its way to this, calling memory files “context, not enforced configuration” — and then said plainly that it hadn’t instrumented adherence. This is what the instrument says.

Those are the two prompts that ask the agent to report where things stand — and that is the same place the skill’s own evaluation finds its largest gains, with the multi-step-progress and error-report cases accounting for most of its improvement. Two measurements, different models, different methods, same conclusion about where the default is weakest.

Does it hold up over ten turns?

Yes for the rules. No for the brevity. Those turn out to be separate questions.

A commenter on the Hacker News thread makes the accusation specifically about this skill: Claude models, “in my experience with this specific skill only maintain the conciseness for a few turns at most before they completely forget and are back to their unfathomable verbosity.” The SKILL.md claims the opposite in writing — the rules “do not expire after a few turns and they do not lapse when the topic changes.” Nobody had tested either statement. The author’s own evals are single-turn, and the one independent measurement we found didn’t run multi-turn either.

Across three ten-turn sessions, the skill broke a rule once. Turn 10 of one session, an overlong list. The default broke rules seven times over the same span, and CLAUDE.md six. Whatever else is true, the skill’s ruleset was still in effect at turn 10 — and the file’s wasn’t.

Length is a different story:

Condition Words, turns 1-5 Words, turns 6-10 Change
Default 140 226 +61%
Rules in CLAUDE.md 107 160 +50%
i-have-adhd 110 159 +45%
Concise 94 134 +43%

We can’t cleanly separate two explanations here, and won’t pretend otherwise. Turn 8 asks for an explanation and turn 9 asks for options — both are legitimately longer answers, and the skill’s own rules say an explicit request to “explain” overrides the brevity default. So some of that growth is the questions, not drift. What the design does support is the comparison across conditions at the same turn, and there the ordering holds at every one of the ten.

Claude Code already ships a Concise style

This is the cheapest fix available, and not one of the guides ranking for this query mentions it. One Hacker News commenter did, in a thread about a plugin that does the same job.

Anthropic’s output styles documentation describes a built-in style: “Concise: Claude leads with the result, skips preamble and narration, and keeps responses short by default, while doing the engineering work as thoroughly as in the Default style.” It requires Claude Code v2.1.237 or later. Turn it on with /configOutput style, or set "outputStyle": "Concise" in a settings file.

No install, no plugin, no marketplace. In our run it produced the shortest responses of the three.

It is not a strict upgrade, though. It broke the formatting rules four times to the skill’s one. Unsurprising: those are the skill’s rules, and the Concise style never agreed to them. If what bothers you is length, the built-in wins. If what bothers you is shape — numbered steps, a restated status each turn, a concrete next action instead of “let me know how you’d like to proceed” — the skill is doing something the built-in style doesn’t attempt.

The two most substantial guides on this query were published July 31 and August 15, before v2.1.237 existed. They aren’t wrong; they’re stale. Check your own version before you install anything.

The “40-60% fewer tokens” claim has no source

You’ll see it stated flatly: the skill cuts output tokens by 40 to 60 percent. We went looking for where that comes from.

Not the repository, and not its README: neither claims a percentage at all. Not evals/RESULTS.md either, which scores quality on a 1-5 rubric and never reports a token delta. The trail runs back to skill-directory pages that assert it without attribution. From there it just travels.

Our own measurement puts the output-token cut at 36% — close enough that the folklore isn’t outrageous. It’s just unsourced. And a feature that ships in the box beats it.

What the repo does publish is more interesting than the number people repeat. Its eval results, dated August 2, 2026, run 14 cases across 3 trials with a pinned model and a blind judge, and record the skill’s weighted score improving from 4.045 to 4.473. They also record the release gate failing on three blocking findings, a regression on one case (partial-success, −0.63) with the author’s own theory for the mechanism, and a case that no run can pass because the harness gives it no tools. Publishing the failure next to the win is rare. Better advertising, too, than any percentage.

What we’d run

Start with the built-in Concise style. It costs nothing, needs no third-party code in your session, and cut the most length in our test.

Don’t reach for CLAUDE.md first. Keep it for what Anthropic’s docs actually point it at — project conventions and codebase context — and don’t expect a style rule parked there to survive a long session. Ours didn’t. If you want the reasoning behind that split, and the rest of our Claude Code guides, the short version is that the file is context and the style is configuration.

Add the skill if the shape of the answers is the problem rather than their size — if what you want is the next command on the first line and a status you can read at a glance, rather than merely fewer words. It’s 140 lines from a stranger’s repo going into your context every session, so read SKILL.md first. That’s about 1,200 words, and it tells you exactly what it will do.

If you’re chasing token cost rather than readability, neither one is where the money is. The startup overhead, what the agent sends before it reads your prompt at all, dwarfs a few hundred words per turn, and we measured that separately. For the wider picture on what a session actually costs, see our notes on token cost optimization and spending caps.

What this test can’t tell you

Three sessions per condition is enough to rank three options and not enough to put a confidence interval on any of them. The skill’s own RESULTS.md makes the same admission about its three trials. Rightly.

One model. We only ran claude-sonnet-5, so we can’t say whether Opus behaves the same on the axis we measured. The author’s own evals used claude-opus-4-8, but they’re single-turn and never report length. That gap is the next thing we’d run.

We also went looking for someone else’s measurement of this skill to check ours against, and didn’t find one. The closest hit is a blind duel published in June that reports responses getting 1.93× longer — but it tests UditAkhourii/adhd, a different project that fans ideas out in parallel across several viewpoints. Expanding the output is what that one is for. The two share a word in the name and nothing else, and we nearly filed it as a contradicting result before checking which package it installed.

The rule check is mechanical, so it catches a banned closer and misses a response that technically leads with an action while burying the useful part in paragraph three. We read the 90 responses to check the scoring didn’t lie, but “led with the action” is a judgement call and we scored it as one.

One loose end we didn’t chase. Pinning --model sonnet doesn’t mean one model runs: in control calls with the same isolation, the JSON output billed claude-haiku-4-5-20251001 alongside claude-sonnet-5, a steady 13 output tokens per invocation, in both the default and Concise conditions. It’s too small and too constant to move any number above, and it shows up everywhere, so the comparison holds. We still don’t know what it’s for. Our main runs didn’t record per-model usage. Next time, they will.

  • claude-code
  • output-styles
  • agent-skills
  • ai-coding-assistants
  • developer-productivity

Frequently asked questions

Does the i-have-adhd skill actually reduce token usage?

In our September 2026 run it did: output tokens per session dropped from 7,873 to 5,066, about 36%. But the widely repeated '40-60% reduction' figure has no primary source — it isn't in the repo, its README, or its own eval results. Treat it as folklore that happens to land near a real number.

What's the difference between an output style and CLAUDE.md?

An output style modifies Claude Code's system prompt directly and applies to every response. CLAUDE.md is added as a user message after the system prompt, which is why Anthropic's docs point it at project conventions rather than tone. It shows up in the numbers: in our run, style rules in CLAUDE.md cut output tokens by 3% and were broken six times in 30 responses, against 41% and four for the built-in Concise style.

Does the skill stop working after a few turns?

Not in our test. Across three ten-turn sessions the skill broke its own formatting rules once in 30 responses, while the unmodified default broke them seven times. What did drift is length: responses under the skill grew from 110 to 159 words between the first and second half of a session.

Do I still need the skill if Claude Code ships a Concise style?

For pure brevity, no — the built-in Concise style produced shorter responses than the skill in our run (114 words per response versus 135). The skill buys something different: structure. Numbered steps, a restated status each turn, a concrete next action — none of which the Concise style attempts.