Built-in output styles
Claude Code’s Default output style is the existing system prompt, designed to help you complete software engineering tasks efficiently. There are two additional built-in output styles focused on teaching you the codebase and how Claude operates:- Explanatory: Provides educational “Insights” in between helping you complete software engineering tasks. Helps you understand implementation choices and codebase patterns.
-
Learning: Collaborative, learn-by-doing mode where Claude will not only
share “Insights” while coding, but also ask you to contribute small, strategic
pieces of code yourself. Claude Code will add
TODO(human)markers in your code for you to implement.
How output styles work
Output styles directly modify Claude Code’s system prompt.- All output styles exclude instructions for efficient output (such as responding concisely).
- Custom output styles exclude instructions for coding (such as verifying code
with tests), unless
keep-coding-instructionsis true. - All output styles have their own custom instructions added to the end of the system prompt.
- All output styles trigger reminders for Claude to adhere to the output style instructions during the conversation.
Change your output style
You can either:-
Run
/output-styleto access a menu and select your output style (this can also be accessed from the/configmenu) -
Run
/output-style [style], such as/output-style explanatory, to directly switch to a style
.claude/settings.local.json. You can also directly edit the outputStyle
field in a settings file at a different level.
Create a custom output style
Custom output styles are Markdown files with frontmatter and the text that will be added to the system prompt:~/.claude/output-styles) or
project level (.claude/output-styles).
Frontmatter
Output style files support frontmatter, useful for specifying metadata about the command:| Frontmatter | Purpose | Default |
|---|---|---|
name | Name of the output style, if not the file name | Inherits from file name |
description | Description of the output style. Used only in the UI of /output-style | None |
keep-coding-instructions | Whether to keep the parts of Claude Code’s system prompt related to coding. | false |
Comparisons to related features
Output Styles vs. CLAUDE.md vs. —append-system-prompt
Output styles completely “turn off” the parts of Claude Code’s default system prompt specific to software engineering. Neither CLAUDE.md nor--append-system-prompt edit Claude Code’s default system prompt. CLAUDE.md
adds the contents as a user message following Claude Code’s default system
prompt. --append-system-prompt appends the content to the system prompt.