Skip to main content
An output style is a set of instructions that sets Claude’s role, tone, and response format for every response in a session. Claude Code includes four built-in styles besides its default, and you can write your own. Use an output style to change the way Claude responds and works with you for a whole session, so you don’t repeat the request in each prompt. For example, a built-in style can make responses shorter, add an explanation of each change, or have Claude start work without asking routine questions. A custom style can also turn Claude into something other than a software engineer, such as a writing assistant or a data analyst.
An output style gives Claude instructions to follow. It doesn’t guarantee that something always happens or never happens. Some needs fit a different feature:

Built-in output styles

Claude Code starts in the Default style, its standard instructions for completing software engineering tasks. Each of the four other built-in styles keeps those instructions and adds its own. This table shows what each style changes about a session and when it fits:

Default

Default means no output style is selected. Claude Code adds no style instructions, and Claude works from Claude Code’s standard system prompt, which is written for software engineering tasks. default appears in the /output-style list with the other styles, so you select it the same way.

Proactive

In the Proactive style, Claude starts implementing as soon as you send a task. It makes reasonable assumptions about routine decisions rather than stopping to ask, and it doesn’t switch to plan mode unless you ask for a plan. You can redirect it at any point. The style’s instructions also tell Claude to check with you in the conversation before an action that deletes data or changes a shared or production system. That check is an instruction Claude follows and is separate from permission prompts. Switching to the Proactive style doesn’t change your permission mode. Your permission mode still decides which tool calls run without asking you, so permission prompts appear the same way they did before you switched.

Concise

In the Concise style, the first sentence of a response states what happened or what the answer is. Claude leaves out the lead-in, the step-by-step narration, and the closing recap, and answers a simple question in one to three sentences. It does the engineering work as thoroughly as in the Default style. Requires Claude Code v2.1.237 or later. Claude still writes at full length in these cases:
  • Anything you ask for: when you ask for an explanation or more detail, Claude answers in full.
  • Anything you need in order to act safely: error reports, failing test output, security warnings, and confirmations for destructive actions keep their complete content.

Explanatory

In the Explanatory style, Claude does the task the way it does in the Default style and adds short explanations of why it made the choices it made. Each explanation appears in the conversation, before or after the code it’s about, in a block labeled Insight. The explanations aren’t written into your files as comments. An Insight block carries two or three points about your codebase or the code Claude wrote, such as this one after adding an API endpoint:

Learning

In the Learning style, Claude adds the same Insight blocks as the Explanatory style and also asks you to write some of the code. Claude handles routine implementation itself. When it reaches a piece with a real design decision, such as error handling, a data structure, or business logic with more than one valid approach, it leaves a few lines for you. Claude marks the spot with a TODO(human) comment in the file, then sends a request that says what’s already built, what to write, and what to weigh:
Claude then stops and waits. Write your code at the TODO(human) comment and tell Claude when you’re done. Claude responds with one Insight about your code and continues the task.

Change your output style

Pick a style with the command, a menu, or a settings file. The command and both menus save your choice to .claude/settings.local.json at the local project level.
  • /output-style command: run /output-style