Response styles in Claude Code: how to switch and create your own
MarkdownWhat output styles in Claude Code are and how they differ from CLAUDE.md: four built-in styles, switching via /config, and how to write your own.
Read full article
If you find yourself asking Claude Code every other message to “answer more briefly,” “explain in more detail,” or “act like an editor, not a programmer,” you can set that once. A separate setting handles this: response styles, called output styles in the interface. A style changes the role, tone, and format of the response to every subsequent message until you switch it.
A style changes how Claude responds, not what it knows about your project. You can set project context in the CLAUDE.md file; see the separate guide on how to customize Claude for yourself.
Information about working with Ailoot is available in the documentation.
What Is a Response Style in Claude Code?
Key points
A response style (output style) is a set of instructions that Claude Code adds to every request you make. It sets the role, tone, and format of the response, but does not change the model’s knowledge. Besides the regular Default style, there are four built-in styles: Proactive, Concise, Explanatory, and Learning. Switch between them via /config → Output style.
Claude Code is usually configured as an engineer: it explains steps in detail, plans edits, and comments on what it is doing. This is the Default style—a standard set of instructions for working with code.
A response style replaces this set of instructions with its own. With each request, Claude Code sends the active style’s instructions to the model, and when a style other than Default is selected, it also reminds Claude of the style as the conversation progresses. So you don’t need to repeat requests about how you want it to respond.
Use a style when you consistently want the same way of responding: shorter replies, explanations, or the role of a copy editor or data analyst instead of a programmer. If you need Claude to remember the conventions and structure of a specific project, use the CLAUDE.md file for that.
How Is a Response Style Different from CLAUDE.md?
Key points
A response style replaces Claude Code’s default instructions and applies to every response. CLAUDE.md adds a message with project context. A style sets how to respond, while CLAUDE.md sets what to take into account when working with your project. These tools do not interfere with each other.
Claude Code has several ways to influence its behavior, and each serves a different purpose.
| Tool | What it does | When to use it |
|---|---|---|
| Response style | Replaces the default instructions and applies to every response | You want a different role, tone, or response format every time |
CLAUDE.md | Adds project context after the system message | Claude should always know the project’s conventions and structure |
--append-system-prompt | Adds to the system message at launch | You want a one-time addition via a launch flag |
| Subagents | Launch an assistant with its own system message and tools | You need a separate assistant for a specialized task |
A style sets the manner of responding, while CLAUDE.md stores project context. There is no need to change one to do the other’s job.
Which Built-in Styles Are Available, and When Should You Use Each?
Key points
Besides Default, there are four built-in styles. Proactive means Claude acts right away and asks fewer follow-up questions. Concise gives short answers without introductions. Explanatory adds explanations as it works. Learning works alongside you and leaves you small pieces of code to complete. Concise is available in Claude Code version 2.1.237 and later.
Proactive. Claude performs the task right away, makes reasonable assumptions when there are minor uncertainties, and prefers taking action to discussing it. This behavior is more independent than auto mode and works without changing the access mode. The access mode still determines what can be run without your confirmation: the style makes Claude more decisive, but does not remove safeguards against dangerous commands. This style is suitable when you trust the tool and don’t want it to stop for every minor clarification.
Concise. Claude starts with the result, skips introductions and descriptions of its process, and keeps answers short. It does the work just as thoroughly as in Default, and if you ask for an explanation, it will respond in detail. Error reports, safety warnings, and confirmations before dangerous actions remain complete—the style does not shorten them. This style is suitable when you want a short, direct answer.
Explanatory. As it works, Claude adds explanations about why it chose a solution and how the code in the project is structured. Responses are longer than in Default. This style is suitable when you want to understand what is happening as well as get the result.
Learning. A collaborative mode: Claude not only explains its decisions, but also leaves you small pieces of code marked in the file with TODO(human) markers for you to write yourself. This style is suitable when you want to learn by doing and write some of the code yourself.
Tip
If you’re not sure where to start, choose Concise for short answers or Explanatory to understand the reasoning behind decisions. Both are useful if you don’t write code by hand.
How Do You Switch Response Styles?
Key points
Run the /config command in Claude Code and select Output style, then the style you want. Your choice is saved in the .claude/settings.local.json file in the project. In version 2.1.251 and later, the new style takes effect with the next message. In the VS Code extension, styles are selected from the Output styles menu, available from version 2.1.257.
You may find a separate command for styles in older instructions. The documentation provided describes the /config route.
Open settings
/configEnter the command in your Claude Code chat. The settings menu will open.
Select Output style
Find the Output style row in the menu and open it. A list will appear: Default and the four built-in styles, as well as your own if you have created any.
Choose a style and continue working
Select the style you want. Claude Code will save your choice to
.claude/settings.local.jsonin the current project. In version 2.1.251 and later, the new style will take effect with your next message.
If you’re working in the VS Code extension, open the menu with the / command and choose Output styles. Your choice will be saved to the same file. The styles menu in the extension is available starting with version 2.1.257.
You can also set a style without using the menu by entering it in the settings file:
{
"outputStyle": "Explanatory"
}
Attention
Switching styles in the middle of a session takes effect with the next message. This works in Claude Code version 2.1.251 and later. In older versions, a new style took effect only after the /clear command or in a new session—if your style “doesn’t switch,” check the version first.
How Do You Create Your Own Response Style?
Key points
Your own style is a regular Markdown file with a short header and instructions. Put it in the .claude/output-styles folder—in your home folder for all projects or inside a project. The filename becomes the style name unless name is set in the header. If you create the file during a terminal session, restart Claude Code, then select your style via /config.
You don’t need to program for this—write the style in plain language. The file consists of a header between triple dashes (metadata) and the instruction text below it.
Where to put the file depends on where you want the style to work:
~/.claude/output-styles— the style is available in all your projects..claude/output-stylesinside a project — the style is only for that project.
Example of a style that asks Claude to respond as a business copy editor instead of a programmer:
---
name: Copy editor
description: Reply as a business copy editor, not as a programmer
---
You are a business copy editor. Reply in the user's preferred language, in short paragraphs.
First provide the corrected version, then a list of edits with reasons.
Do not suggest code or discuss technical details unless asked.
In the header, name is the style name you’ll see in the /config menu; if you omit it, the filename is used. description is a short explanation that is also visible in the menu.
There is also a keep-coding-instructions field. By default, a custom style removes Claude Code’s built-in engineering instructions—such as how to write comments, verify work, and limit edits. If Claude should still act as an engineer while using your response style (for example, always starting with a diagram), set keep-coding-instructions: true in the header. If Claude doesn’t work with code in this style—as in the copy editor example above—you don’t need this field.
Create the styles folder
mkdir -p ~/.claude/output-stylesThis makes the style available in all projects. For a single project, use
.claude/output-stylesinside it.Save the Markdown file
Put a file such as
redaktor.mdin the folder and add your header and instructions. You can use the example above and adapt it to your task.Choose the style and check it
If you created the file during a terminal session, restart Claude Code first. Open
/config, find your style in the Output style list, and select it. Give Claude a task related to the style and see whether it responds in the way you want.
Attention
In the Claude Code terminal, style files are read at startup. If you create or edit a style while a session is running, restart Claude Code; otherwise it won’t see the new file.
Your own style sets the way the tool responds: you describe it once, and the tool preserves it from then on.
What Does a Response Style Not Affect?
Key points
A style changes the manner of responding, but does not give the model new knowledge or replace CLAUDE.md. It applies to the main conversation and its branch (fork), but does not change subagent behavior—they have their own system message. Plugins can also add their own styles.
A style does not add facts to the model. If Claude doesn’t know something about your project, changing the style won’t fix that—you can provide project context through CLAUDE.md.
A style works in the main conversation and its branch, which inherits the entire conversation. Subagents—separate assistants for specialized tasks—run with their own system message, and the style does not affect their responses.
Styles can come from plugins: a plugin places them in its own output-styles folder. Such a style appears in the same list as yours.
How Much Does a Style Cost in Tokens?
Key points
Style instructions are added to each request, so they slightly increase input tokens. Explanatory and Learning produce longer responses and increase output tokens, while Concise reduces them. Request caching lowers this overhead after the first message in a session.
The style instructions themselves add input tokens, but request caching reduces this cost after the first request in a session. The difference in output tokens is more noticeable: Explanatory and Learning are designed to give longer responses, while Concise keeps answers short. For a custom style, output token use depends on what you specify in the instructions.
It’s not possible to promise exact savings—they depend on your tasks and model. If you want shorter, less costly responses, choose Concise; if you want more detail, choose Explanatory.
What Should You Do First?
Key points
Switch to one built-in style via /config and work with it for a day to compare the responses with what you’re used to. Then describe your regular response style in plain text, save it in a file in the .claude/output-styles folder, and try it on a real task.
Open /config, choose Concise or Explanatory, and use it for a regular task. If you find yourself asking for the same thing again and again, create your own style using the steps above.
Next on this topic: how to customize Claude for yourself through CLAUDE.md, so Claude remembers project context, and what to choose in Claude Code: Skills, Subagents, MCP, or Plugins, if you want to understand the other ways to extend it. If Claude can’t see the files it needs, see why Claude Code can’t see project files.
Sources
Get to know Ailoot.
More details
Questions about Response styles in Claude Code: how to switch and create your own
Should I put project facts in an output style or in CLAUDE.md?
Put project facts, structure, and conventions in CLAUDE.md. Use an output style for a recurring role, tone, or response format. A style changes how Claude responds; it does not supply the missing facts about your project.
Why might my new custom output style not appear?
Save its Markdown file in the project or user .claude/output-styles folder, then restart the terminal session so the file is loaded. Select it through /config and test a relevant task. Use keep-coding-instructions: true if the custom style should preserve engineering instructions.