An output style is a set of instructions that sets Claude’s role, tone, and response format for a whole session, so you don’t repeat the request in every prompt. Claude Code ships four built-in styles besides the default and lets you write your own.
1. List the styles you have
/output-style
Run it with no argument to list every style and mark the current one. The built-ins are Proactive, Concise, Explanatory, and Learning, plus the Default.
2. Switch with /output-style
/output-style concise
Pass a style name to switch; the choice saves to .claude/settings.local.json and applies from
your next message. The command ignores case.
3. Create a custom style
A custom style is a Markdown file: frontmatter, then the instructions for Claude.
---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---
Start each explanation with a Mermaid diagram, then explain in prose.
Set keep-coding-instructions: true to keep Claude Code’s engineering instructions alongside yours.
4. Know where styles live
~/.claude/output-styles/ # user level, all projects
.claude/output-styles/ # project level, this repo
Save the file at the user or project level. Claude Code reads style files at startup, so restart the session after you add or edit one.
5. Output style vs CLAUDE.md or system prompt
A style shapes how Claude responds; it is an instruction, not a guarantee. For what Claude should
know about your project, use CLAUDE.md. To persist your
style choice across projects, set outputStyle in settings.json.
Verify it worked
Run /output-style, confirm your style is marked current, send a message, and check the reply
matches the style.
If it fails:
- The reply ignores the style — on a version before v2.1.251 a mid-session switch applied only
after
/clear; run/clearor restart. - A custom style is missing from the list — you created the file during a running session; styles load at startup, so restart Claude Code.
outputStyleis ignored in settings — the value is case-sensitive, so writeConcise, notconcise; the official output styles docs list every field.