Claude Code Output Styles: Give Claude a Personality
Claude Code output styles rewrite the system prompt to change Claude's role and tone. Built-in styles, the /config switch, and a custom style in minutes.
Evgenii Arsentev · PhDReviewed for accuracy by Evgenii Arsentev, PhD · 2026-09-30
Claude Code output styles change how Claude responds — its role, tone and default answer format — by editing the system prompt itself, the standing job description Claude reads before every session. You switch between them in /config under Output style, and you can write your own as a small Markdown file.
The analogy I use: same employee, different job description. Output styles do not change what Claude knows or which model runs underneath — they change how it behaves every single turn. If you keep re-prompting «explain it simply» or «answer in bullet points» over and over, that instruction belongs in an output style, not in your fortieth message of the day.
What is a custom output style in Claude Code?
A custom output style is one Markdown file: a short frontmatter header for metadata, then the instructions you want appended to the system prompt. Save it at ~/.claude/output-styles/ to use everywhere, or in a project's .claude/output-styles/ for that project only. The file name becomes the style name unless you set a name field. The one field that really matters is keep-coding-instructions. Set it to true when you only change how Claude communicates but still want its software-engineering brain intact. Leave it out (it defaults to false) when Claude is not doing engineering at all — say, a pure writing assistant or data analyst.
Which built-in styles does Claude Code have?
Five. Default is the standard system prompt, tuned for getting work done efficiently. Then four alternatives. Proactive makes Claude execute immediately and make reasonable assumptions instead of pausing for routine decisions — stronger autonomy without touching your permission settings, so approval prompts still appear. Concise is the get-out-of-my-way style: Claude leads with the result, skips the preamble and narration, and keeps answers short by default, while doing the engineering work just as thoroughly as Default. Ask for more detail and it answers in full; error reports and destructive-action confirmations always stay complete. Requires v2.1.237 or later. Explanatory adds educational Insights along the way, explaining why it chose each approach. Learning is the interactive one: Claude shares insights and asks you to write small strategic pieces yourself, leaving TODO(human) markers in the code for you to fill in. If you came here looking for «обучение Claude Code» or a free course on how to work with Claude — the Learning style is the closest thing to a built-in course.
How do you switch output styles, and is /output-style back?
Run /config, select Output style, pick from the menu — or run /output-style <style> directly, for example /output-style concise (needs v2.1.269 or later). Your choice lands in .claude/settings.local.json as the outputStyle field, which you can also edit directly. Since v2.1.251, switching mid-session applies starting with your very next message — you no longer need /clear or a new session for it to take effect.
{ "outputStyle": "Explanatory" }Drop this into a settings file (for example .claude/settings.local.json) and Claude Code uses the Explanatory style from the next session or after /clear.
It was: the standalone command existed, got deprecated in v2.1.73 and removed in v2.1.91 — then Anthropic brought it back in v2.1.269, now also working in non-interactive mode, Agent SDK sessions, and Remote Control from mobile or web (built-in styles only there). On an older build, stick to /config → Output style or the outputStyle setting.
How do you make Claude write in your style?
A custom style in four steps
- 1Create the folder and file: ~/.claude/output-styles/brief.md (or ask Claude to create it for you)
- 2Add frontmatter: a name, a description for the /config picker, and keep-coding-instructions: true if Claude should still code normally
- 3Below the frontmatter, write plain instructions: the tone, the format, what to always include or never do
- 4Run /config, select your style under Output style, then /clear — it now applies to every response
Do output styles change the model, or force structured output?
Neither, and both questions come up constantly. Styles do not pick the model — that is a separate setting — and they are not a hard guarantee of structure like an API schema. They are standing instructions: strong defaults Claude follows every turn, reinforced by reminders during the conversation.
Output styles vs CLAUDE.md, skills and agents
Know the boundaries with neighboring features, because this is where people get lost. CLAUDE.md is for facts about your project that Claude should always know. Skills are reusable workflows loaded on demand. Agents are separate helpers with their own prompt and tools. Output styles are for one thing: the default voice and format of every response. Claude Code best practices in one sentence: facts in CLAUDE.md, procedures in skills, personality in an output style.
Lab: two personalities in fifteen minutes
0/4The kicker: you do not have to write the style yourself. Tell Claude — «Draft an output style based on how I have been correcting you this session» — then save it, select it in /config, and stop repeating yourself. That is the whole point of the feature.
Free course
Stop reading about AI — start building with it
The free Claude Code course: your first site, tool or game — no coding. No upsells, no cross-sells — nothing to buy here.
Start free →References
Selected peer-reviewed papers and preprints on the AI research behind this topic.
- [1]Lyu et al. (2021). StylePTB: A Compositional Benchmark for Fine-grained Controllable Text Style Transfer. arXiv:2104.05196
- [2]Hu et al. (2021). Syntax Matters! Syntax-Controlled in Text Style Transfer. arXiv:2108.05869
- [3]Shi et al. (2021). GTAE: Graph-Transformer based Auto-Encoders for Linguistic-Constrained Text Style Transfer. arXiv:2102.00769
- [4]Khan et al. (2023). Learning to Generate Text in Arbitrary Writing Styles. arXiv:2312.17242
- [5]Xu et al. (2019). On Variational Learning of Controllable Representations for Text without Supervision. arXiv:1905.11975
- [6]Liu et al. (2020). You Impress Me: Dialogue Generation via Mutual Persona Perception. arXiv:2004.05388
- [7]Liu et al. (2024). Evaluating Large Language Model Biases in Persona-Steered Generation. arXiv:2405.20253
- [8]Ouyang et al. (2022). Training language models to follow instructions with human feedback. arXiv:2203.02155

Author
Evgenii Arsentev
PhD · Chief Executive Officer, digital health
Reading is a good start
Want to actually build this?
Guides explain. The free course transforms — personalized, gamified, and built to get you shipping fast.
Start the free course →