出力スタイル
Claude Code の出力スタイルで、Claude の役割・口調・返答の形式をセッション全体で変える方法を、組み込みの4つのスタイルとカスタムスタイルの作り方とあわせてまとめます。
出力スタイルは、セッションのすべての返答について、Claude の役割・口調・返答の形式を決める指示の集まりです。Claude Code には、既定のほかに4つの組み込みスタイルがあり、自分で書くこともできます。毎回のプロンプトで頼み直さずに、返答を短くする、変更ごとに説明を添える、定型の質問をせず作業を始める、といったことがセッション全体で行えます。カスタムスタイルなら、Claude を文章の助手やデータアナリストのように、ソフトウェアエンジニア以外にもできます。
- 組み込みは Proactive・Concise・Explanatory・Learning の4つ。何も選ばなければ Default です
- 切り替えは
/output-style <style>、/configのメニュー、設定ファイルのoutputStyleのどれかで行います - カスタムスタイルは、frontmatter と指示を書いた Markdown ファイルです
- 出力スタイルは Claude が従う指示で、必ず起きる・起きないを保証するものではありません
補足
出力スタイルは、Claude への指示です。何かが必ず起きる、起きないを保証しません。要件によっては別の機能が合います。プロジェクトについて Claude が知るべきことはCLAUDE.md とメモリ、編集のたびの整形やコマンドのブロックのように毎回必ず起きるべきことはフックの使い方を使います。
組み込みの出力スタイル#
Claude Code は Default のスタイル(ソフトウェアエンジニアリングのタスクをこなすための標準の指示)で始まります。ほかの4つの組み込みスタイルは、それぞれその指示を保ったまま、自分の指示を加えます。
| スタイル | 変わること | 向く場面 |
|---|---|---|
| Proactive | 定型の判断を尋ねず、妥当な仮定を置いてすぐ作業を始める | 定型の判断は任せて作業を進めてほしく、仮定が外れたら自分で軌道修正する |
| Concise | 返答が結果から始まり、前置き・経過の語り・まとめを省く | 既定の返答が長すぎる |
| Explanatory | 書いたコードの背景にある判断を説明する短い Insight ブロックを加える |
コードベースに慣れたい、変更と一緒に理由も知りたい |
| Learning | 判断を説明し、小さなコードの断片を自分で書くために残す | タスクを終えながら、手を動かすコーディングの練習をしたい |
Default#
Default は、出力スタイルを選んでいない状態です。Claude Code はスタイルの指示を加えず、Claude は、ソフトウェアエンジニアリングのタスク向けに書かれた Claude Code の標準のシステムプロンプトで動きます。default は /output-style の一覧にほかのスタイルと並ぶので、同じ方法で選べます。
Proactive#
Proactive では、タスクを送ると、Claude がすぐ実装を始めます。定型の判断は止まって尋ねず妥当な仮定を置き、計画を頼まれない限りプランモードへ切り替えません。いつでも方向を変えさせられます。データを消す、共有または本番のシステムを変える動作の前には、会話の中で確認するよう、スタイルの指示が Claude に伝えます。この確認は Claude が従う指示で、権限プロンプトとは別です。Proactive に切り替えても権限モードは変わりません。どのツール呼び出しが確認なしで動くかは権限モードが決めるので、権限プロンプトは切り替える前と同じように出ます。
Concise#
Concise では、返答の最初の1文で、何が起きたか、答えが何かを述べます。導入・手順ごとの語り・最後のまとめを省き、簡単な質問には1〜3文で答えます。エンジニアリングの作業は Default と同じ丁寧さでこなします。v2.1.237 以降です。次の場合は、Claude は通常の長さで書きます。
- 頼んだもの:説明やもっと詳しい内容を頼んだときは、全部で答える
- 安全に動くために要るもの:エラーの報告・失敗したテストの出力・セキュリティの警告・破壊的な操作の確認は、内容を省かない
Explanatory#
Explanatory では、Claude は Default と同じようにタスクをこなし、その選択をした理由を短く説明します。説明は、対象のコードの前か後に、Insight というラベルのブロックとして会話に出ます。説明はファイルにコメントとして書かれません。Insight ブロックは、コードベースや Claude が書いたコードについて2〜3点を述べます。次は、API のエンドポイントを加えた後の例です。
★ Insight ─────────────────────────────────────
- Every route in this repo goes through the withAuth wrapper, so the new endpoint gets session checks without its own middleware.
- Rate limits are set per route in limits.ts, which is why this change adds an entry there rather than a global default.
─────────────────────────────────────────────────
Learning#
Learning では、Claude は Explanatory と同じ Insight ブロックを加え、さらにコードの一部を自分で書くよう求めます。定型の実装は Claude が自分で行い、エラー処理・データ構造・複数の妥当な方法があるビジネスロジックのような、本当の設計判断がある部分に来ると、数行を残します。Claude はファイルに TODO(human) のコメントで場所を示し、すでに作ったもの・書くもの・比べる点を述べる依頼を送ります。
● Learn by Doing
Context: The upload form is in place and calls validateFile() before accepting a file. Size and type checks work for images, but the switch statement has no handling for documents yet.
Your Task: In upload.js, implement the case "document" branch inside validateFile(). Look for TODO(human).
Guidance: Decide on a size limit for documents and whether the file extension has to match the MIME type. Return {valid: boolean, error?: string}.
その後 Claude は止まって待ちます。TODO(human) のコメントの位置へコードを書き、終わったことを Claude に伝えます。Claude はあなたのコードについて Insight を1つ返し、タスクを続けます。
出力スタイルを切り替える#
スタイルは、コマンド・メニュー・設定ファイルのどれかで選びます。コマンドと2つのメニューは、選択を、ローカルのプロジェクトレベルの .claude/settings.local.json に保存します。
/output-styleコマンド:/output-style <style>(例:/output-style concise)で切り替える。引数なしだと、選べるスタイルを一覧し、現在のものに印を付ける。コマンドは非対話モードと Agent SDK のセッションでも使え、Remote Control 経由のモバイルアプリや Web からも使える(そこで一覧して選べるのは組み込みスタイルだけ)。v2.1.269 以降- ターミナルのメニュー:
/configを実行し、「Output style」を選んでメニューからスタイルを選ぶ - VS Code 拡張:
/でコマンドメニューを開き、「Output styles」を選んで、カスタムスタイルを含むスタイルを選ぶ。v2.1.257 以降 - デスクトップアプリ:設定ファイル(ターミナルのメニューが書く
.claude/settings.local.jsonなど)のoutputStyleフィールドを設定する。そこで/configを実行すると、メニューではなく「Settings > Claude Code」が開く
メニューを使わず、設定ファイルの outputStyle を直接編集して設定することもできます。
{
"outputStyle": "Explanatory"
}
値は大文字小文字を区別するので、組み込みの名前は Proactive・Concise・Explanatory・Learning と書きます。explanatory のように、スタイル名と完全には一致しない値は、Default のスタイルになります(/output-style コマンドは大文字小文字を無視します)。プロジェクトをまたいで既定にするには、~/.claude/settings.json で outputStyle を設定します。プロジェクト自身の設定ファイルが、その値より優先されます。
セッションの途中でスタイルを切り替えると、次のメッセージから新しいスタイルが使われます。その最初のメッセージがプロンプトキャッシュにかけるコストは、コンテキストとプロンプトキャッシュを参照してください。v2.1.251 より前は、新しいスタイルが適用されるのは、/clear を実行するか新しいセッションを始めた後だけでした。設定ファイルの仕組みは設定ファイルの仕組みにあります。
カスタム出力スタイルを作る#
カスタム出力スタイルは Markdown ファイルです。メタデータの frontmatter に続けて、Claude への指示を書きます。VS Code 拡張では、手で書く代わりに「Output styles」メニューからファイルを作ることもできます(v2.1.261 以降)。
- Markdown ファイルを作る:次の3つのレベルのどれかに保存する。frontmatter の
nameを設定しなければ、ファイル名がスタイル名になる- ユーザー:
~/.claude/output-styles - プロジェクト:
.claude/output-styles - 管理ポリシー:管理設定ディレクトリの中の
.claude/output-stylesプロジェクトの出力スタイルは、作業ディレクトリからリポジトリのルートまでの間のすべての.claude/output-styles/から読み込まれる。入れ子のディレクトリの複数が同じ名前のスタイルを定義しているときは、作業ディレクトリにいちばん近いものを使う
- ユーザー:
- frontmatter と指示を加える:Claude Code のソフトウェアエンジニアリングの指示を保つかを決める。Claude の伝え方を変えつつ、同じようにコーディングさせたいなら
keep-coding-instructions: trueを設定する。Claude がソフトウェアエンジニアリングをしないなら、省く - 自分のスタイルに切り替える:ターミナルで
/output-style <style>を実行するか、/configを実行して「Output style」から自分のスタイルを選ぶ。次のメッセージから、Claude は新しいスタイルを使う。ターミナルでは、Claude Code はスタイルのファイルを起動時に読むので、動いているセッション中にファイルを作る・編集したときは、Claude Code を再起動して反映させる
次の例は、Claude のコーディングの挙動を保ちながら、説明のたびに図から始めます。
---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---
When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.
## Diagram conventions
Use `flowchart TD` for control flow and `sequenceDiagram` for request paths. Keep diagrams under 15 nodes.
プラグインも、output-styles/ ディレクトリで出力スタイルを同梱できます(プラグインのリファレンスを参照)。
frontmatter のフィールド#
出力スタイルは、ファイルの先頭の --- の印の間にある YAML の frontmatter で設定します。フィールドはすべて省略可能で、フィールド名は小文字の単語をハイフンでつなぎます。綴りを誤ったフィールドは、エラーなしで無視されます。YAML が解析できないときは、スタイルはファイル名のまま、フィールドなしで読み込まれます。解析エラーを見るには claude --debug を実行します。
| フィールド | 必須 | 説明 |
|---|---|---|
name |
いいえ | 出力スタイルの名前。/config のピッカーに出る。既定はファイル名 |
description |
いいえ | 出力スタイルの説明。/config のピッカーに出る |
keep-coding-instructions |
いいえ | true にすると、自分のスタイルと並べて、Claude Code 組み込みのソフトウェアエンジニアリングの指示を保つ。既定は false |
force-for-plugin |
いいえ | プラグインの出力スタイルのみ。true にすると、プラグインが有効な間は、利用者に選ばせず自動でこのスタイルを適用し、利用者の outputStyle 設定を上書きする。有効な複数のプラグインが設定しているときは、最初に読み込んだものを使う。既定は false |
ほかの機能との使い分け#
出力スタイルは、セッションのすべての返答に適用されます。Claude が従う指示なので、何も強制しません。求めるものが、すべての返答より狭い、または必ず起きる必要があるなら、別の機能が向きます。
| 求めること | 使うもの | 向く理由 |
|---|---|---|
| すべての返答に特定の口調・長さ・形式を、または別の役割の Claude | 出力スタイル | セッション全体に適用され、1つのコマンドで切り替えられる |
| プロジェクトの規約・コマンド・構成を Claude に知らせる | CLAUDE.md | コードベースについて Claude が知るべきことを持ち、どのスタイルを選んでも読み込まれ続ける |
| リリースのチェックリストやレビューの手順など、1種類のタスク向けの指示 | スキル | 呼び出したとき、またはタスクが合うときだけ Claude が読み込むので、無関係な返答に影響しない |
| 編集のたびの整形やコマンドのブロックなど、例外なく毎回起きてほしいこと | フック | Claude Code がライフサイクルのイベントでフックを自分で実行するので、Claude が指示に従うかに頼らない |
| 独自の指示・モデル・ツールを持つ、集中したタスクの助手 | サブエージェント | 独自のシステムプロンプトを持つ別のコンテキストで動き、要約を会話へ返す |
| Claude Code の起動時に渡す、Claude の指示への追加 | --append-system-prompt |
何も取り除かずにシステムプロンプトへ追記する |
これらは組み合わせられます。たとえば、Claude が知るべきことは CLAUDE.md、返答の仕方は出力スタイル、保証が要ることはフックにします。
出力スタイルの仕組み#
出力スタイルは、Claude Code が Claude に渡す指示を変えます。
- Claude Code は、有効なスタイルの指示を、毎回のリクエストと一緒に送る
- カスタム出力スタイルは、
keep-coding-instructionsをtrueにしない限り、変更の範囲の決め方・コメントの書き方・作業の検証の仕方など、Claude Code 組み込みのソフトウェアエンジニアリングの指示を省く
出力スタイルは、メインの会話と、親の会話全体とシステムプロンプトを引き継ぐフォークに適用されます。ほかのサブエージェントは自分のシステムプロンプトで動くので、スタイルは返答を変えません。
トークンの使用量はスタイルで変わります。スタイルの指示は入力トークンを増やしますが、セッションの最初のリクエストの後は、プロンプトキャッシュでこのコストが減ります。組み込みの Explanatory と Learning は、設計上 Default より長い返答になり、出力トークンが増えます。Concise はその逆で、既定で返答を短くするよう Claude に指示します。カスタムスタイルの出力トークンの使用量は、指示が Claude に何を作らせるかで決まります。
関連するページは、設定ファイルの仕組み・権限モード(Proactive と auto mode の比較)・プラグインを使う・設定のデバッグ(スタイルが効かない理由の診断)です。
公式ドキュメント(英語)
2026年10月5日時点の内容をもとに、日本語でまとめています。