Illustrated walkthrough

Claude Code Output Styles: The Five Built-ins, Switching One, and Writing Your Own

Open /config, read the Preferred output style menu word for word, then build a custom style the way the video does it on camera - a markdown file, three front-matter lines, and a new row in the same list.

Claude Code Preferred output style screen listing Default, Proactive, Concise, Explanatory and Learning with their one-line descriptions and a green tick marking the style in use
One menu, five built-in voices - and a folder where you add your own.

An illustrated walkthrough of 13 steps - about 5 minutes to read. Every step links back to the exact moment in the source video.

TL;DR

Output styles change how Claude Code talks, not what it is allowed to do. Run /config, stay on the Config tab, type output in the filter, and the Output style row opens a menu with five built-ins: Default (its normal engineering instructions), Proactive (executes immediately, prefers action over planning), Concise (leads with results, skips preamble), Explanatory (explains implementation choices and codebase patterns) and Learning (pauses and asks you to write small pieces of code yourself). A style you write is just a markdown file - .claude/output-styles for one project, ~/.claude/output-styles for all of them - with front matter for the name, the description the menu shows, and keep-coding-instructions, then your instructions underneath. In the video Claude writes the file itself as map-first.md, and the next time the picker opens it sits there as option 6, right after the five built-ins.

Source video

This page follows the Eric Tech recording of a Claude Code session in which he reads the built-in output styles line by line, has Claude write a custom one, and then switches a shared project between three styles built for three different teammates.

Screenshots are frames from the video, credited to the creator; the write-up is our own. Steps verified against the video and the Claude Code docs in September 2026.

Find the setting

Nothing about output styles is on screen until you open one. /config holds the switch, on the Config tab, behind a filter box.

  1. 1

    Start from an ordinary session

    Nothing about output styles is visible yet. This is a plain Claude Code session: v2.1.245, Opus 5 with 1M context on xhigh effort under a Claude Max plan, sitting in ~/Desktop/EricOS, with the usual '1 MCP server needs authentication' warning across the top. The header matters, because the style list you are about to open is version-dependent and the built-in set has grown since this feature shipped.

    Claude Code v2.1.245 running Opus 5 with 1M context on xhigh effort and a Claude Max plan in the ~/Desktop/EricOS folder, the untouched session you start from before choosing an output style
    No style is named anywhere on this screen. Default is simply whatever Claude Code does when you have not changed anything.Watch at 2:38
  2. 2

    Open /config and land on the Config tab

    Type /config. Claude Code opens a five-tab screen - Settings, Status, Config, Usage, Stats - with a Search settings box and a two-column list of toggles: Auto-compact true, Reduce motion false, Thinking mode true, Session recap true, Rewind code (checkpoints) true, Ultracode keyword trigger true, and '32 more below'. You do not have to scroll those 32. Type output in the box and the list collapses to two rows.

    Claude Code /config screen open on the Config tab with Settings, Status, Usage and Stats tabs beside it and Auto-compact, Thinking mode, Session recap and Ultracode keyword trigger listed above a Search settings box
    The filter box is the shortcut. Without it, Output style is one line among roughly forty.Watch at 2:46
  3. 3

    The Preferred output style menu

    Select Output style and the screen becomes 'Preferred output style - This changes how Claude Code communicates with you', with five numbered options and a description each: 1. Default, ticked because it is what you are using, 'Claude completes coding tasks efficiently and provides concise responses'; 2. Proactive, 'Claude executes immediately, minimizes interruptions, and prefers action over planning'; 3. Concise, 'Claude responds tersely, leading with results and skipping preamble and narration'; 4. Explanatory, 'Claude explains its implementation choices and codebase patterns'; 5. Learning, 'Claude pauses and asks you to write small pieces of code for hands-on practice'. Enter to confirm, Esc to cancel.

    Claude Code Preferred output style menu listing the five built-in styles Default, Proactive, Concise, Explanatory and Learning with a green tick on Default as the current choice
    Three things are marked at once: the green tick is the style in use, the coloured arrow is the keyboard cursor, and a grey arrow is only where the mouse is.Watch at 2:52

Read the five built-in styles

The menu writes the trade-off for you - one line per style, before you commit to any of them.

  1. 4

    Concise is about narration, not effort

    Bring the pointer down to 3. Concise and read the line again: it changes the shape of the reply, not the amount of work behind it. The docs are explicit that a Concise session still does the engineering as thoroughly as Default does, and that error reports, security warnings and confirmations for destructive actions keep their full content no matter which style is active. Concise also requires Claude Code v2.1.237 or later - which is why older write-ups list only three built-in styles.

    Claude Code output style picker with the mouse pointer hovering option 3 Concise, described as responding tersely, leading with results and skipping preamble and narration, while the keyboard cursor and the green tick stay on 1 Default
    Try this one first if your complaint is length rather than accuracy.Watch at 5:18
  2. 5

    Proactive is not the same as auto mode

    2. Proactive is the one people misread. The menu line says 'executes immediately, minimizes interruptions, and prefers action over planning', and the docs add the part a menu cannot fit: it is stronger autonomous-execution guidance than auto mode applies, and it works without changing your permission mode - so what is allowed to run without asking is still decided by that mode. Proactive changes how Claude frames decisions; permission mode decides whether it can act on them.

    Claude Code output style picker with the cursor arrow on option 2 Proactive, described as executing immediately, minimizing interruptions and preferring action over planning
    Pair the two deliberately. One sets the tone, the other sets the blast radius.Watch at 14:16

Create a custom output style

A markdown file with three front-matter lines and your instructions. Claude Code will write it for you if you ask it to.

  1. 6

    Ask Claude to write the style

    Nobody needs to hand-edit markdown to start. The creator follows his own recipe: take an answer you did not like, ask for three or four variations of it, pick the one you would keep, then ask Claude Code to turn that into an output style. The reply below is the result - 'Built. "Map First" is your sixth output style, and you can select it right now' - followed by where it lives (EricOS/.claude/output-styles/map-first.md, symlinked into ~/.claude/output-styles/ so it works from any project) and a plain list of what the style locks in.

    Claude Code reply confirming it has built Map First as the sixth output style at EricOS/.claude/output-styles/map-first.md symlinked into ~/.claude/output-styles, followed by the five rules the style locks in
    Two paths in one line: a project file, symlinked to the user folder so it travels with you.Watch at 5:14
  2. 7

    Your style appears in the same list

    Open the picker again and scroll: options 1 to 5 are the built-ins, and 6 is Map First, carrying the description straight out of its front matter - 'Opens every explanation with a drawn map of how the thing actually works, live numbers on the picture, everyday words with the real names underneath. The terminal stays short and hands over the link.' That description is the only thing the menu shows about your style, so write it as a decision aid for the reader rather than as a note to yourself.

    Claude Code Preferred output style menu scrolled down to option 6 Map First, a custom style whose description promises a drawn map of how the thing actually works with live numbers on the picture
    Here the file is map-first.md but the menu shows Map First - the front-matter name wins over the file name.Watch at 5:26
  3. 8

    What the file itself looks like

    A style file is three front-matter lines and then instructions. The example the video opens on - an X post by Lydia Hallie, whom the creator introduces as an Anthropic engineer, showing her eli5.md in .claude/output-styles - is a good template: name: ELI5, description: keep it simple pls, keep-coding-instructions: true, followed by short imperatives ('Small words, short sentences, short paragraphs', 'Just tell me what you did, did it work, what do I do now', 'Keep paths and commands exact'). That keep-coding-instructions: true is the line that keeps Claude Code's built-in software engineering instructions in place. Leave it out and the default is false, which is what you want for a style that is not doing software engineering at all.

    The eli5.md output style file shown in an X post by Lydia Hallie, with .claude > output-styles in the breadcrumb and front matter name ELI5, description keep it simple pls and keep-coding-instructions true above plain-word reply rules
    The video shows this as a shared post rather than a live session - the file format is what matters here.Watch at 13:20

Switch it, and it stays switched

The choice is a stored setting value, not something you re-explain in the first message of every session.

  1. 9

    The choice is stored as a setting

    Filter /config on output after picking a style and the screen is two rows: Verbose output false, and Output style Map First. That is the whole mechanism - a stored value, not a preference you restate each session. The docs name the file: your selection goes into .claude/settings.local.json at the local project level, so it applies to that checkout on that machine. You can also edit the outputStyle field in that JSON directly instead of using the menu.

    Claude Code Config screen filtered by the word output, leaving two rows: Verbose output false and Output style set to Map First with the value highlighted
    One value, one project, one machine - which is exactly why sharing styles and sharing settings are different jobs.Watch at 5:54
  2. 10

    Test it with one word

    The cheapest check is a message with no content in it. The video sends 'hi' into a fresh session - context bar at 0%, 0/1000k, main branch - right after selecting a style, and one word is enough to hear the difference. What the video does not do is stay on screen for the answer: it cuts away while the status line still reads 'Whirlpooling... (1s, 1 tokens)', so no rendered reply from a switched style appears in these frames. Two documented rules fill the gap. Switching styles mid-session takes effect from your next message (v2.1.251 or later). And because the terminal reads style files at startup only, a custom style created or edited during a running session needs a restart before it appears.

    A fresh Claude Code session on the SDE output style with a single hi message sent and the Whirlpooling status line still running at 1 token, the fastest way to hear what a style sounds like
    Sent at 14:00 in the video; the reply itself is never shown on camera.Watch at 14:00

One repository, one style per person

The real reason to write your own: different people reading the same terminal need very different sentences.

  1. 11

    Add a style per reader, not per task

    Output styles stop being a novelty in a shared project. This repository carries three custom styles alongside the built-ins, and the picker lists them in order: 6. TPM, ticked as current - 'For a technical project manager or vibe coder who knows API, frontend, backend and database but does not write code. ASD-STE100 cut to a briefing: two vocabulary tiers, every change shipped with its user-visible effect, assumptions stated, one decision as a trade-off with a recommendation.' 7. Technical Translator sits directly below it.

    Claude Code output style picker showing the five built-in styles followed by a custom entry 6 TPM ticked green as active and 7 Technical Translator below it in a shared project
    Three files in one folder, and each teammate gets a different Claude out of the same codebase.Watch at 11:16
  2. 12

    Translator for readers, SDE for engineers

    The last two descriptions show how far one feature can be stretched. 7. Technical Translator is 'For a reader with zero technical background. Every technical term carries a gloss on every appearance, one everyday analogy per reply, and deleting data, spending money or touching production waits at a gate.' 8. SDE is 'For engineers. A colleague at your desk: what you touched, whether it still runs, details on request.' Both are only instructions in a markdown file - but they are instructions about register, structure and when to stop talking, which is exactly what a per-turn prompt cannot hold.

    Claude Code output style picker with the highlighted row on option 8 SDE and the mouse hovering option 7 Technical Translator, while option 6 TPM keeps the green tick as the style actually in use
    The mouse is on 7 and the highlighted row is 8 SDE - the style actually in use is still TPM, ticked above both.Watch at 12:28
  3. 13

    Switch the session by changing one value

    Back in /config, filtered on output, the Output style row now reads SDE. That is the whole switch a teammate makes: no CLAUDE.md edit, no re-explaining in the first message, no persona to paste at the top of a prompt. One caveat from the docs, because it is the mistake this feature invites: an output style applies to the main conversation and to a fork of it, which inherits the parent's system prompt - but other subagents run their own system prompt, so a style will not change how a subagent answers.

    Claude Code Config screen filtered on output with the Output style row selected and reading SDE, showing that the style a teammate picks is stored as one setting value
    The same screen as step 9, one value later. The setting is the entire interface.Watch at 13:52

Frequently asked questions