The whole hunk
from line 2, old and new numbered
/
lines
from line 2
22
33> Adapt Claude Code for uses beyond software engineering
44
5Output styles change how Claude responds, not what Claude knows. They modify the system prompt to set role, tone, and output format. Use one when you keep re-prompting for the same voice or format every turn, or when you want Claude to act as something other than a software engineer.
5Output styles change how Claude responds, not what Claude knows. They set Claude's role, tone, and output format for every response. Use one when you keep re-prompting for the same voice or format every turn, or when you want Claude to act as something other than a software engineer.
66
7A custom output style adds your instructions to the system prompt and lets you choose whether to keep Claude Code's built-in software engineering instructions. Keep them when you're changing how Claude communicates but still coding, like always answering with a diagram. Leave them out when Claude isn't doing software engineering at all, like a writing assistant or data analyst.
7A custom output style gives Claude your own instructions and lets you choose whether to keep Claude Code's built-in software engineering instructions. Keep them when you're changing how Claude communicates but still coding, like always answering with a diagram. Leave them out when Claude isn't doing software engineering at all, like a writing assistant or data analyst.
88
99For instructions about your project, conventions, or codebase, use [CLAUDE.md](/docs/en/memory) instead.
1010
1111## Built-in output styles
1212
13Claude Code's **Default** output style is the existing system prompt, designed to help you complete software engineering tasks efficiently.
13Claude Code's **Default** output style is its standard set of instructions, designed to help you complete software engineering tasks efficiently.
1414
1515There are four additional built-in output styles:
1616
from line 40
4040}
4141```
4242
43When you switch styles mid-session, Claude uses the new style starting with your next message. The style is part of the system prompt, so that first message rebuilds the [prompt cache](/docs/en/prompt-caching#changing-output-style) once. Before v2.1.251, the new style applied only after you ran `/clear` or started a new session.
43When you switch styles mid-session, Claude uses the new style starting with your next message. For what that first message costs in prompt caching, see [Changing output style](/docs/en/prompt-caching#changing-output-style). Before v2.1.251, the new style applied only after you ran `/clear` or started a new session.
4444
4545## Create a custom output style
4646
47A custom output style is a Markdown file: frontmatter for metadata, then the instructions to add to the system prompt. In the VS Code extension, you can also create the file from the [**Output styles** menu](/docs/en/vs-code#use-the-prompt-box) rather than writing it by hand. This requires Claude Code v2.1.261 or later.
47A custom output style is a Markdown file: frontmatter for metadata, then the instructions for Claude.
4848
49In the VS Code extension, you can also create the file from the [**Output styles** menu](/docs/en/vs-code#use-the-prompt-box) rather than writing it by hand. This requires Claude Code v2.1.261 or later.
50
4951<Steps>
5052 <Step title="Create a Markdown file">
5153 Save it at one of three levels. The file name becomes the style name unless you set `name` in the frontmatter.
from line 99
9799
98100## How output styles work
99101
100Output styles directly modify Claude Code's system prompt.
102An output style changes the instructions Claude Code gives Claude.
101103
102* Claude Code adds the output style's custom instructions to the system prompt.
104* Claude Code sends the active style's instructions with every request.
103105* When you [select a style other than Default](#change-your-output-style), Claude Code also reminds Claude of the style during the conversation.
104106* Custom output styles leave out Claude Code's built-in software engineering instructions, such as how to scope changes, write comments, and verify work, unless `keep-coding-instructions` is set to `true`.
105107
106Output styles apply to the main conversation only: a [subagent runs its own system prompt](/docs/en/sub-agents#what-loads-at-startup), so styles don't change how subagents respond. A [fork](/docs/en/sub-agents#fork-the-current-conversation) is the exception, because it inherits the parent's full system prompt.
108Output styles apply to the main conversation and to a [fork](/docs/en/sub-agents#fork-the-current-conversation), which inherits the parent's full conversation and system prompt. Other [subagents run their own system prompt](/docs/en/sub-agents#what-loads-at-startup), so styles don't change how they respond.
107109
108Token usage depends on the style. Adding instructions to the system prompt increases input tokens, though prompt caching reduces this cost after the first request in a session. The built-in Explanatory and Learning styles produce longer responses than Default by design, which increases output tokens, and the Concise style does the opposite by instructing Claude to keep responses short by default. For custom styles, output token usage depends on what your instructions tell Claude to produce.
110Token usage depends on the style. A style's instructions add input tokens, though prompt caching reduces this cost after the first request in a session.
109111
112The built-in Explanatory and Learning styles produce longer responses than Default by design, which increases output tokens. The Concise style does the opposite by instructing Claude to keep responses short by default. For custom styles, output token usage depends on what your instructions tell Claude to produce.
113
110114## Comparisons to related features
111115
112Several features customize how Claude Code behaves. Output styles modify the system prompt directly and apply to every response. The others add instructions without changing the default system prompt, or scope them to a specific task.
116Several features customize how Claude Code behaves. Output styles change Claude Code's default instructions and apply to every response. The others add instructions without changing the defaults, or scope them to a specific task.
113117
114| Feature | How it works | Use it when |
115| :----------------------- | :----------------------------------------------------------- | :---------------------------------------------------------------------- |
116| Output styles | Modifies the system prompt | You want a different role, tone, or default response format every turn |
117| [CLAUDE.md](/docs/en/memory) | Adds a user message after the system prompt | Claude should always know your project conventions and codebase context |
118| `--append-system-prompt` | Appends to the system prompt without removing anything | You want a one-off addition for a single invocation |
119| [Agents](/docs/en/sub-agents) | Runs a subagent with its own system prompt, model, and tools | You want a separately scoped helper for a focused task |
120| [Skills](/docs/en/skills) | Loads task-specific instructions when invoked or relevant | You have a reusable workflow |
118| Feature | How it works | Use it when |
119| :----------------------- | :----------------------------------------------------------- | :-------------------------------------------------------------------------------------------------- |
120| Output styles | Changes Claude Code's default instructions | You want a different role, tone, or default response format every turn |
121| [CLAUDE.md](/docs/en/memory) | Adds a user message after the system prompt | Claude should always know your project conventions and codebase context |
122| `--append-system-prompt` | Appends to the system prompt without removing anything | You want a one-off addition passed as a [CLI flag](/docs/en/cli-reference#system-prompt-flags) at launch |
123| [Agents](/docs/en/sub-agents) | Runs a subagent with its own system prompt, model, and tools | You want a separately scoped helper for a focused task |
124| [Skills](/docs/en/skills) | Loads task-specific instructions when invoked or relevant | You have a reusable workflow |
121125
122126## Related resources
123127