Claude Code Output Styles: Concise, Explanatory, Learning and Your Own
Output styles change how Claude Code talks and works for a whole session: shorter answers, explanations of each change, or leaving pieces for you to write. The five built-in styles, how to switch with /output-style, and how to write a custom style file.
An output style is a set of instructions that changes how Claude Code responds for an entire session — its tone, its length, even its role. If you keep typing "shorter please" or "explain why you did that", an output style saves you the repetition.
Details as of October 2026, from Anthropic's output styles docs.
The built-in styles
Claude Code starts in Default. Four other built-in styles keep Default's engineering instructions and add their own:
| Style | What changes | Use it when |
|---|---|---|
| Proactive | Claude starts work straight away and makes reasonable assumptions instead of asking about routine decisions | You'd rather correct course than answer questions |
| Concise | Answers lead with the result; no preamble, narration or recap | Default answers feel long |
| Explanatory | Adds short ★ Insight blocks explaining the choices behind the code | You're learning a codebase |
| Learning | Explains choices and leaves small pieces marked TODO(human) for you to write |
You want hands-on practice |
A few details worth knowing:
- Concise still writes in full when you ask for detail, and never shortens error reports, failing tests, security warnings or confirmations for destructive actions.
- Proactive doesn't change your permission mode. Permission prompts appear exactly as before; Claude just asks fewer questions.
- Explanatory and Learning put explanations in the conversation, not in your files as comments.
How to switch
/output-style concise
With no argument, /output-style lists the styles and marks the current one. You can also run /config and choose Output style. Your choice is saved to .claude/settings.local.json for that project.
To set a default everywhere, add this to ~/.claude/settings.json:
{
"outputStyle": "Concise"
}
In settings files the name is case-sensitive: Concise works, concise silently gives you Default. (The command ignores case.) A new style applies from your next message.
Write your own style
A custom style is a Markdown file with frontmatter. Save it in ~/.claude/output-styles/ (for you) or .claude/output-styles/ (for the project):
---
name: Plain English
description: Explain everything for a non-developer
keep-coding-instructions: true
---
Explain what you changed in plain English, without jargon.
After each change, say how I can check it worked in the browser.
Never assume I know git commands; give the exact command to run.
keep-coding-instructions: true keeps Claude Code's built-in software engineering instructions alongside yours. Leave it out if you're turning Claude into something else entirely, such as a writing assistant. Restart Claude Code after creating or editing a style file, then select it with /output-style.
Output style vs CLAUDE.md vs hooks
| You want | Use |
|---|---|
| Every reply in a certain voice, length or format | An output style |
| Claude to know your project's conventions and commands | CLAUDE.md |
| Instructions for one kind of task | A skill |
| Something that must happen every time, no exceptions | A hook |
An output style is an instruction Claude follows, not a guarantee. If formatting must run after every edit, that's a hook's job.
The summary
- Output styles change how Claude responds for a whole session.
- Built-ins: Default, Proactive, Concise, Explanatory, Learning.
- Switch with
/output-style <name>; write your own as a Markdown file inoutput-styles/.
EasySpawn hosts Claude Code on a persistent server with your settings and styles saved alongside your projects, so every session — from laptop, phone or browser — behaves the same way. See how it works or join the waitlist.
Related: Claude Code Settings Explained · Claude Code for Non-Developers · Learn to Code With AI · Claude Code Slash Commands
Keep reading
Ultrathink in Claude Code: What It Does Now, and How Effort Levels Work
Ultrathink still works in Claude Code, but it no longer works the way old guides say — and "think hard" is no longer a keyword at all. How effort levels (low to max) actually control reasoning, how to set them with /effort, and when ultrathink is still worth typing.
Claude Code in JetBrains IDEs: IntelliJ, PyCharm, WebStorm and More
How to use Claude Code in IntelliJ IDEA, PyCharm, WebStorm, GoLand, PhpStorm and Android Studio: install the CLI and the plugin, connect with /ide, see diffs in the IDE's viewer, share selections and diagnostics, and fix the common Esc-key and WSL problems.