Most people customise Claude in one place:
The prompt.
The two surfaces that actually shape every session, you ignore.
How Claude talks to you, and how you read what's happening.
Both are configurable. Both compound across hundreds of hours.
The framework I run, and how to set it up:
Surface 1: The voice
Claude has defaults. They're fine. They're not yours.
I'm dyslexic. Walls of text are invisible to me.
So my Claude has a non-negotiable response format, written into ~/.claude/CLAUDE.md:
Every reply ends with a bold marker:
→ DECISION, → QUESTION, → NO DECISION NEEDED.
I know what's required of me in under three seconds of skimming.
Header tier = importance, not nesting depth.
# is THE headline. ## is a main section. #### is an inline label.
The size matches how load-bearing it is to read. `mono font` is reserved for paths, values, commands. Never for emphasis. The font swap is a signal.
--- between major pivots like status to decision. The horizontal rule is the unmissable section break.
Bold keywords inside sentences. Dyslexic eyes skim for bold anchors.
Absolute paths only, so cmd+click opens them from inside the terminal.
If you also use Codex, mirror the same rules to ~/.codex/AGENTS.md. Two harnesses, one voice.
Surface 2:
The interface
The Claude Code statusline runs once per turn, costs zero tokens, can render colour. Mine shows:
47% · opus-4.7 · WORKSPACE · main* · 2🛠 · 02:41
Six fields: context %, model, workspace name, branch + dirty flag, dispatch worker count, session clock. Colour-coded by zone. Context % goes green under 50%, yellow at 50-75%, red at 90%. Branch yellow when dirty, red on conflict. Workspace gets a brand colour mapped from the path I'm in.
The 50% threshold matches the rule already written into my voice config: write a session handoff at 50% context. Now I can see the threshold without asking.
How to set this up
Customise the voice. Open ~/.claude/CLAUDE.md. Write your own rules. Mine took an afternoon to draft and three weeks of iteration to lock down. Yours will start ugly. That's fine.
Mirror to AGENTS.md. If you use Codex, write the same rules to ~/.codex/AGENTS.md. Same instructions, two harnesses.
Build a statusline. A Python script reads CC's stdin JSON, prints a colour-coded line, exits. Wire into ~/.claude/settings.json as statusLine.command. The fields you pick are the ones you check constantly. Yours will differ from mine.
The statusline I built ships below as a download. Drop it in, edit the workspace registry to match your own paths, restart Claude Code.
The principle
Claude doesn't come to you tuned. The defaults are a shape that fits no one in particular. The work of making her useful for your brain is two-surface work: the language she uses, and the interface you use to read her.
Do both. Compound for years.
// A<3