Skip to main content
Output tokens are a small share of a coding session’s total volume but a disproportionate share of its cost. The brevity hook injects a short instruction at session start asking the model to skip restated preamble, unrequested summaries, and unnecessary markdown — without touching its reasoning, error analysis, or anything you actually asked for.
Brevity is the weakest mechanism in RCLM’s compression set, and it’s worth setting expectations honestly. It’s advisory, not enforced — nothing guarantees the model follows it, and adherence tends to degrade as a session’s context fills. It also costs tokens on every request for the life of the session, since the instruction is re-sent each turn. It’s off by default for exactly this reason: enable it deliberately, not as a default-on assumption.

Enabling brevity

Brevity is independent of every other compression mechanism and off by default:
This sets brevity: true in ~/.reclaimllm/config.json, alongside your other hook preferences:
Brevity is currently available for Claude Code only. Gemini CLI and Codex CLI don’t yet expose an equivalent session-start context injection point, so the hook is a no-op for those tools until they do.

How it works

1

Session starts

On Claude Code’s SessionStart event, RCLM checks whether brevity is enabled in your config.
2

Existing project guidance is checked first

RCLM scans the project’s CLAUDE.md and AGENTS.md (if present) for brevity-style language — words like “concise,” “terse,” “no preamble,” or “short answers.” If found, injection is skipped for that session. The check is tuned to skip when in doubt: a double brevity instruction wastes tokens restating the same guidance, which is worse than one skipped injection.
3

Instruction is injected

If nothing else is skipping it, RCLM adds its brevity instruction to the session’s additionalContext, alongside any other SessionStart context RCLM provides (like session-start context packs).
4

The default instruction targets specific waste, not vague brevity

No preamble restating the request before acting. No summary of a change when the diff already shows it. No unrequested alternatives or caveats. Minimal markdown on short answers. Explicitly excluded: reasoning, error analysis, and anything you asked for directly — those stay as thorough as they need to be.

The default instruction

This is the exact text RCLM injects when brevity is enabled and no brevity_instruction override is set (rclm/hooks/brevity.py, DEFAULT_INSTRUCTION):
Only the run of spaces/tabs is collapsed before injection — newlines are preserved, so this markdown structure (headers, bullet lists) reaches the model intact rather than being flattened to one line.

Customizing the instruction

The instruction text is fully configurable — set brevity_instruction in ~/.reclaimllm/config.json to override the default. This is local configuration today; organization-wide policy distribution for this setting is on the roadmap, following the same path DLP’s settings sync already established.

Measuring impact

Brevity doesn’t have a per-session before/after to compare — there’s only the response actually generated, never the long version that wasn’t. So its impact isn’t reported like the other compression mechanisms.

Session detail view

If brevity was active for a session, its detail page notes that plainly, separate from the measured “Context reduction” savings for other mechanisms. No token figure is claimed at the session level.

Enterprise Tokens tab

A Brevity impact (cohort estimate) table compares average output tokens per turn between sessions with brevity on vs. off, segmented by session category (fix, feature, perf, etc.). This only appears once your org has sessions with brevity both on and off to compare.
Watch turn count alongside the tokens-per-turn comparison. If brevity is working, output tokens per turn drop while turn count stays flat. If turn count rises instead, responses have gotten too terse and people are re-asking — that’s a net loss, and it’s the main risk with this mechanism.

Guardrails

  • Off by default, independent of every other compression flag.
  • Never mixed into the same “measured savings” figures as read-cache, search shaping, exec compaction, or the loop breaker — those are real per-session measurements; brevity’s is a cohort-level estimate only.
  • Skips injection automatically when project instructions already cover brevity.
  • Any error in the hook injects nothing and lets the session proceed normally — brevity never blocks or disrupts Claude Code startup.