Claude Codeの出力スタイル(output styles)は、セッション中のすべての応答について、Claudeの役割・トーン・応答形式を切り替える機能です。標準(Default)のほかにProactive・Concise・Explanatory・Learningという4つの組み込みスタイルがあり、自分で書いたMarkdownファイルをスタイルとして追加することもできます。Claude Code公式ドキュメント「Output styles」は、出力スタイルを「セッション内のすべての応答について、Claudeの役割・トーン・応答形式を決める一連の指示」と説明しています。
この記事では、公式ドキュメントに記載されている4つの組み込みスタイルの違い、/output-styleコマンドや設定ファイルを使った切り替え方、Markdownで自作するカスタム出力スタイルの書き方、そしてCLAUDE.md・スキル・フック・サブエージェントとの使い分けを、公式ページの文言に沿って整理します。出力スタイルは「Claudeが従う指示」であり、何かを例外なく実行させたり禁止したりする仕組みではない、という位置づけも公式ドキュメントの注記にある通りです。
Claude Codeの出力スタイル(output styles)とは
【完全無料】AI×SNSで成果を出す100大特典を受け取る
AIの使い方を、SNS運用の実務につなげたい方へ。LINEで特典の案内を受け取れます。
出力スタイルとは、セッション内のすべての応答について、Claudeの役割・トーン・応答形式を決める一連の指示です。公式ドキュメントは「Claude Codeには既定のほかに4つの組み込みスタイルが含まれており、自分で書くこともできる」と説明しています。
出力スタイルを使う狙いは、応答の仕方をセッション全体で変え、毎回のプロンプトで同じ依頼を繰り返さないようにすることです。公式ドキュメントの例では、組み込みスタイルが応答を短くしたり、変更ごとに説明を添えたり、日常的な質問をせずに作業を始めさせたりできるとされています。カスタムスタイルであれば、Claudeをソフトウェアエンジニア以外の役割、たとえば文章作成のアシスタントやデータ分析担当に変えることもできる、と記載されています。
ただし出力スタイルは「Claudeが従う指示」であり、何かが例外なく起きる・起きないことを保証する仕組みではありません。公式ドキュメントの注記は、プロジェクトについてClaudeが知っておくべき内容はCLAUDE.mdを使い、編集後の整形やコマンドのブロックのように例外なく毎回起きてほしいことにはフックを使う、という切り分けを明示しています。この使い分けの詳細は後述の比較表で扱います。
標準を含む5つの出力スタイルの全体像
Claude Codeは、出力スタイルを選んでいない標準(Default)状態と、Proactive・Concise・Explanatory・Learningという4つの組み込みスタイルを持ちます。公式ドキュメントの比較表は、それぞれ何が変わり、どんな場面に向くかを次のようにまとめています。
| スタイル | 変わること | こんな時に向く |
|---|---|---|
| Proactive | Claudeが確認を待たずに作業を始め、日常的な判断には合理的な仮定を置く | 日常的な判断はClaudeに任せて進めたい、想定が外れたらその都度修正したい場合 |
| Concise | 応答が結果から始まり、前置き・実況・振り返りを省く | 標準の応答が自分にとって長すぎると感じる場合 |
| Explanatory | 書いたコードの選択理由を説明する短いInsightブロックを追加する | コードベースを理解し始めている、変更と一緒に理由も知りたい場合 |
| Learning | 選択理由を説明しつつ、設計判断を伴う小さな部分だけ読者に書かせる | タスクを完成させながら、手を動かす練習も一緒にしたい場合 |
4つのスタイルはいずれもDefaultの指示を土台にして、それぞれの追加指示を重ねる位置づけです。次の章から、標準(Default)を含めて5つのスタイルをそれぞれ詳しく見ていきます。
標準(Default)スタイル|出力スタイルを選んでいない状態
Defaultは出力スタイルを選んでいない状態そのものを指します。公式ドキュメントは「Claude Codeはスタイル指示を何も追加せず、ソフトウェアエンジニアリング用に書かれた標準システムプロンプトのままClaudeが動く」と説明しています。
Defaultという名前は/output-styleの一覧にも他のスタイルと並んで表示され、選び方も他のスタイルと同じ手順です。つまりDefaultへ戻すときも、後述する/output-styleコマンドやメニューをそのまま使えます。他の4つのスタイルは、このDefaultの指示を残したうえで、それぞれの追加指示を重ねたものだと公式ドキュメントは位置づけています。
Proactiveスタイル|確認を待たずに実装から始める
Proactiveスタイルでは、タスクを送るとClaudeが実装をすぐ始め、日常的な判断については確認のために止まるのではなく合理的な仮定を置きます。公式ドキュメントにこの挙動が明記されています。
公式ドキュメントによれば、ProactiveスタイルのClaudeは指示がない限りplanモードへ切り替えず、いつでも作業の方向を修正できます。一方で、データを削除する操作や、共有システム・本番システムを変更する操作の前には、会話の中で確認するようにという指示がスタイルに含まれています。この確認は「Claudeが従う指示」であり、後述する権限プロンプトとは別のものだと公式ドキュメントは区別しています。
もう一つ重要な注記として、Proactiveスタイルへ切り替えても権限モードそのものは変わりません。どのツール呼び出しが確認なしで実行されるかは、切り替え後もそれまでと同じ権限モードの設定に従う、と公式ドキュメントは説明しています。「日常的な判断を任せたいがツールの権限は変えたくない」という場合、この2つが独立している点を理解しておくと判断しやすくなります。
Conciseスタイル|結論を先に短く受け取る
Conciseスタイルでは、応答の最初の一文で何が起きたか、または答えが何かを述べ、前置き・段階的な実況・締めの振り返りを省きます。単純な質問には1〜3文で答える、と公式ドキュメントに記載されています。
公式ドキュメントは、Conciseスタイルでもエンジニアリング作業そのものはDefaultと同じ丁寧さで行われる、としています。応答の長さだけが変わり、作業の質を落とす指示ではないという位置づけです。このスタイルはClaude Code v2.1.237以降が必要だと明記されています。
ただしConciseスタイルでも、常に全ての応答が短くなるわけではありません。公式ドキュメントは2つの例外を挙げています。1つは、読者が説明や詳細を求めた場合で、この時は全文で答えます。もう1つは、安全に行動するために必要な内容で、エラー報告・失敗したテスト出力・セキュリティ警告・破壊的操作の確認は、完全な内容のまま保たれるとされています。
Explanatoryスタイル|Insightブロックで判断の理由を残す
Explanatoryスタイルでは、Claudeの作業の進め方自体はDefaultと同じですが、その選択をした理由の短い説明が加わります。この説明は会話の中に、対象のコードの前か後に、Insightという名前のブロックで表示される、と公式ドキュメントは説明しています。
公式ドキュメントが示す例では、APIエンドポイントを追加した後のInsightブロックに次のような2〜3点の説明が入ります。「このリポジトリのすべてのルートはwithAuthラッパーを通るため、新しいエンドポイントは自前のミドルウェアを持たなくてもセッションチェックを受ける」「レート制限はlimits.tsでルートごとに設定されているため、この変更はグローバルな既定値ではなくそこにエントリを追加する」といった内容です。
大切な注記として、これらの説明はファイルへコメントとして書き込まれるわけではありません。Insightブロックはあくまで会話の中に表示される説明であり、コードそのものを変えるものではない、と公式ドキュメントは明記しています。コードベースを理解し始めている段階で、変更と一緒に「なぜそうしたか」を知りたい場合に向いているスタイルです。
Learningスタイル|人が書く箇所を残して自分の手を動かす
Learningスタイルは、Explanatoryスタイルと同じInsightブロックを追加しつつ、コードの一部を読者に書かせます。日常的な実装はClaudeが自分で行い、設計判断を伴う箇所だけを読者用に残す、と公式ドキュメントは説明しています。
公式ドキュメントによれば、Claudeが残す箇所は、エラー処理やデータ構造、複数の妥当な方法があるビジネスロジックなど、実際に設計判断を伴う部分です。Claudeはファイル内に人が書く箇所を示す専用のコメントで場所を示し、「何がすでに作られているか」「何を書くべきか」「何を検討すべきか」を伝えるリクエストを送ります。公式ドキュメントに掲載されている例では、アップロード用フォームがすでに動いている状態で、ドキュメント種別のバリデーション処理をそのコメントの箇所に実装するよう求める内容が示されています。
読者がそのコメントの箇所にコードを書いて完了を伝えると、Claudeはそのコードについて1つのInsightで応答し、タスクを続けます。この間、Claudeは停止して待つとされており、読者が書き終えるまで先に進みません。タスクを完成させることと、自分の手で設計判断を経験することを両立したい場合に向くスタイルです。
出力スタイルの切り替え方|コマンド・メニュー・設定ファイル
出力スタイルは/output-styleコマンド、ターミナルメニュー、VS Code拡張機能のメニュー、Desktopアプリの設定ファイルのいずれからでも切り替えられます。公式ドキュメントは、コマンドと両方のメニューがいずれもプロジェクトローカルレベルの.claude/settings.local.jsonへ保存される、としています。
1つ目は/output-styleコマンドです。/output-style concise のようにスタイル名を渡すと切り替わり、引数を渡さずに実行すると、選べるスタイルの一覧が表示され、現在のスタイルにマークが付きます。公式ドキュメントによれば、このコマンドは非対話モードやAgent SDKセッションでも動作し、モバイルアプリやWebからのRemote Controlでも使えますが、Remote Control経由では組み込みスタイルだけを一覧・選択できるとされています。このコマンドはClaude Code v2.1.269以降が必要です。
2つ目はターミナルメニューで、/configを実行してOutput styleを選ぶと、メニューからスタイルを選べます。3つ目はVS Code拡張機能で、/から始まるコマンドメニューを開いてOutput stylesを選ぶと、自作したカスタムスタイルを含めて選べます。公式ドキュメントはこの機能にClaude Code v2.1.257以降が必要だとしています。4つ目はDesktopアプリで、.claude/settings.local.jsonなどの設定ファイルにあるoutputStyleフィールドを直接設定します。これはターミナルメニューが書き込むファイルと同じものです。公式ドキュメントによれば、Desktopアプリで/configを実行すると、メニューではなくSettings > Claude Codeの画面が開くとされています。
設定ファイルへ直接書き込む場合は、値の大文字小文字に注意が必要です。公式ドキュメントは「組み込みスタイル名はProactive・Concise・Explanatory・Learningと書き、explanatoryのように完全に一致しない値を渡すとDefaultスタイルになる」と説明しています。次のように設定ファイルへ直接書くこともできます。
| 書き方 | 効果 |
|---|---|
| {“outputStyle”: “Explanatory”}をプロジェクトの設定ファイルへ書く | そのプロジェクトでExplanatoryスタイルが選ばれた状態になる |
| {“outputStyle”: “Explanatory”}を~/.claude/settings.jsonへ書く | プロジェクトをまたいだ既定のスタイルになるが、プロジェクト自身の設定ファイルの値がそれより優先される |
| {“outputStyle”: “explanatory”}のように大文字小文字が名前と一致しない値を書く | スタイル名として認識されず、Defaultスタイルになる |
/output-styleコマンド自体は大文字小文字を区別しないと公式ドキュメントに記載されていますが、設定ファイルへ直接書き込む場合は区別される点に注意が必要です。また、セッション中にスタイルを切り替えると、Claudeは次の送信メッセージから新しいスタイルを使い始めます。公式ドキュメントは「Claude Code v2.1.251より前のバージョンでは、/clearを実行するか新しいセッションを始めた後にだけ新しいスタイルが適用された」という過去の挙動も併記しています。
カスタム出力スタイルの作り方|Markdownファイルの配置場所
カスタム出力スタイルは、フロントマターとClaudeへの指示を持つ1つのMarkdownファイルです。公式ドキュメントは保存できる場所を3つの階層で示しています。
1つ目はユーザーレベルで~/.claude/output-styles、2つ目はプロジェクトレベルで.claude/output-styles、3つ目は管理ポリシーレベルで、管理設定ディレクトリの中の.claude/output-stylesです。公式ドキュメントによれば、ファイル名がそのままスタイル名になりますが、フロントマターでnameを設定すればその名前が使われます。
プロジェクトレベルの出力スタイルについては、作業ディレクトリとリポジトリのルートの間にあるすべての.claude/output-styles/ディレクトリから読み込まれる、と公式ドキュメントは説明しています。複数のネストしたディレクトリが同じ名前のスタイルを定義している場合は、作業ディレクトリに最も近いディレクトリのものが使われます。VS Code拡張機能では、手書きでファイルを作らずにOutput stylesメニューから新規作成することもでき、この機能にはClaude Code v2.1.261以降が必要だとされています。
公式ドキュメントに掲載されている例は、次のようなフロントマターと指示の組み合わせです。「Claudeの説明の先頭に毎回Mermaid図を置き、その後にプロセスで説明する」という指示に、keep-coding-instructions: trueを添えることで、Claudeのコーディングの進め方自体は変えずに、説明の仕方だけを変えられます。この設定項目については次の章で詳しく扱います。プラグインも、output-styles/ディレクトリを持つことで出力スタイルを配布できる、と公式ドキュメントは補足しています。
フロントマターの書き方|4つのフィールド
出力スタイルのフロントマターは、—で挟んだYAML形式で書き、フィールド名は小文字とハイフンで区切ります。公式ドキュメントによれば、すべてのフィールドは省略可能です。
| フィールド | 必須 | 内容 |
|---|---|---|
| name | 不要 | /configのピッカーに表示される出力スタイルの名前。既定はファイル名 |
| description | 不要 | /configのピッカーに表示される出力スタイルの説明 |
| keep-coding-instructions | 不要 | trueにすると、自分のスタイルと一緒にClaude Codeの組み込みソフトウェアエンジニアリング指示も残す。既定はfalse |
| force-for-plugin | 不要 | プラグインの出力スタイル専用。trueにすると、プラグインが有効な間はユーザーが選ばなくても自動で適用され、ユーザー自身のoutputStyle設定を上書きする。複数の有効なプラグインがこれを設定している場合は、最初に読み込まれたプラグインのものが使われる。既定はfalse |
公式ドキュメントは、スペルを間違えたフィールドはエラーにならずそのまま無視される、と説明しています。YAMLがパースできない場合は、そのスタイルはフィールドを何も設定していない状態としてファイル名のまま読み込まれ、claude –debugを実行するとパースエラーの内容を確認できるとされています。keep-coding-instructionsをtrueにしない場合、カスタム出力スタイルは、ファイルの変更範囲の決め方やコメントの書き方、作業の確認方法といったClaude Codeの組み込みのソフトウェアエンジニアリング指示を省く、という点も公式ドキュメントに明記されています。
出力スタイルとCLAUDE.md・スキル・フック・サブエージェントの使い分け
出力スタイルが向いているのは「セッション全体で応答のトーン・長さ・形式やClaudeの役割そのものを変えたい」場合です。公式ドキュメントは、それより狭い範囲や、例外なく起きてほしいことには他の機能が向くとして、次の比較表を示しています。
| やりたいこと | 使う機能 | その理由 |
|---|---|---|
| 毎回の応答を特定のトーン・長さ・形式にしたい、Claudeを別の役割にしたい | 出力スタイル | セッション全体に適用され、1つのコマンドで切り替えられるため |
| プロジェクトの決まり・コマンド・構成をClaudeに知っておいてほしい | CLAUDE.md | コードベースについてClaudeが知るべきことを保持し、どのスタイルを選んでもそのまま読み込まれ続けるため |
| リリース手順やレビュー手順など、1種類のタスクへの指示をまとめたい | スキル | 呼び出した時かタスクが一致した時だけ読み込まれ、関係のない応答の形は変えないため |
| 編集後の整形やコマンドのブロックなど、例外なく毎回起きてほしい | フック | Claude Code自身がライフサイクルの時点でフックを実行するため、Claudeが指示に従うかどうかに依存しないため |
| 集中したタスクのために自分の指示・モデル・ツールを持つ助け手が欲しい | サブエージェント | 別のコンテキストで自分のシステムプロンプトを使って動き、会話へ要約を返すため |
| Claude Code起動時に、Claudeの指示へその場で追記したい | –append-system-prompt | 何も取り除かずにシステムプロンプトへ追記するため |
公式ドキュメントは、これらの機能は組み合わせて使えるとも述べています。例として、CLAUDE.mdでClaudeが知っておくべきことを、出力スタイルで応答の仕方を、フックで例外なく保証したいことを、それぞれ別の機能に担わせる使い方が挙げられています。MCPやチェックポイントのように会話やツール接続そのものを扱う機能とは異なり、出力スタイルはあくまで応答の作られ方を変える機能である、という位置づけがこの比較表全体から読み取れます。
フォーク・サブエージェントへの適用範囲とトークン消費
出力スタイルはメイン会話と、親の会話やシステムプロンプトをそのまま引き継ぐフォークに適用されます。公式ドキュメントは「その他のサブエージェントは自分自身のシステムプロンプトで動くため、出力スタイルは応答の変え方に影響しない」と明記しています。
トークン消費については、スタイルの指示文が入力トークンを増やしますが、公式ドキュメントによればプロンプトキャッシュがセッション内の最初のリクエスト以降はこのコストを下げます。組み込みのExplanatoryスタイルとLearningスタイルは、設計上Defaultより長い応答を作るため出力トークンが増えるとされ、Conciseスタイルは反対に、既定で応答を短く保つ指示によって出力トークンを減らす方向に働くとされています。カスタムスタイルの場合、出力トークンの使用量はそのスタイルの指示内容そのものに依存する、と公式ドキュメントは説明しています。
なお、Claude CodeをCLIから起動する際に–append-system-promptフラグを渡すと、既定のシステムプロンプトの末尾へ独自のテキストを追記できます。CLI referenceページには claude –append-system-prompt “Always use TypeScript” という例が示されており、これは何も取り除かずに追記するだけの機能であるため、出力スタイルのように毎回の応答形式を丸ごと入れ替えるものではありません。設定ファイルの優先順位についてはSettings files and precedenceページに、管理設定・コマンドライン・プロジェクトローカル・共有プロジェクト・ユーザーの順で優先度が並ぶと記載されています。
よくある質問(FAQ)
- Q1. 出力スタイルとCLAUDE.mdは何が違いますか
- 出力スタイルは応答のトーン・長さ・形式やClaudeの役割そのものを変える指示で、セッション全体に効きます。CLAUDE.mdはコードベースについてClaudeが知っておくべき内容を保持する場所で、どの出力スタイルを選んでも読み込まれ続ける、と公式ドキュメントは使い分けを説明しています。
- Q2. Conciseスタイルにすると常に短い返答になりますか
- いいえ。説明や詳細を求めた場合や、エラー報告・失敗したテスト出力・セキュリティ警告・破壊的操作の確認など安全に行動するために必要な内容は、完全な内容のまま返す、と公式ドキュメントに明記されています。
- Q3. 出力スタイルを切り替えると設定はどこに保存されますか
- /output-styleコマンド、ターミナルメニュー、VS Code拡張機能のいずれで選んでも、プロジェクトローカルレベルの.claude/settings.local.jsonへ保存されると説明されています。全プロジェクトの既定にしたい場合は~/.claude/settings.jsonへoutputStyleを設定しますが、プロジェクト自身の設定ファイルの値がそれより優先されます。
- Q4. カスタム出力スタイルはどこに保存すればいいですか
- ユーザーレベルなら~/.claude/output-styles、プロジェクトレベルなら.claude/output-styles、組織の管理ポリシーとして配布する場合は管理設定ディレクトリ内の.claude/output-stylesのいずれかに、Markdownファイルとして保存します。
- Q5. サブエージェントにも出力スタイルは適用されますか
- 親の会話とシステムプロンプトをそのまま引き継ぐフォークには適用されますが、それ以外のサブエージェントは自分自身のシステムプロンプトで動くため、出力スタイルは応答の変え方に影響しない、と公式ドキュメントは区別しています。
- Q6. 出力スタイルを切り替えるとトークン消費は増えますか
- スタイルの指示文が入力トークンを増やしますが、セッション内の最初のリクエスト以降はプロンプトキャッシュがそのコストを下げます。ExplanatoryとLearningは設計上Defaultより長い応答になるため出力トークンが増え、Conciseは応答を短くする指示のため出力トークンが減る方向に働く、と説明されています。
まとめ
Claude Codeの出力スタイルは、セッション全体でClaudeの役割・トーン・応答形式を切り替える機能です。標準のDefaultに加えて、確認を待たずに進めるProactive、結論から短く答えるConcise、判断理由をInsightブロックで残すExplanatory、設計判断の部分だけ読者に書かせるLearningという4つの組み込みスタイルが用意されています。
切り替えは/output-styleコマンド、ターミナルの/configメニュー、VS Code拡張機能のメニュー、Desktopアプリの設定画面から行え、いずれもプロジェクトローカルの設定ファイルへ保存されます。自分だけの応答スタイルが欲しい場合は、フロントマターと指示を持つMarkdownファイルを~/.claude/output-stylesや.claude/output-stylesに置くことで、カスタム出力スタイルを作成できます。
プロジェクトの決まりを知らせたいならCLAUDE.md、1種類のタスクへの指示はスキル、例外なく毎回起きてほしいことはフック、集中したタスク用の助け手はサブエージェントという使い分けを、公式ドキュメントの比較表は示しています。まずは組み込みの4つのスタイルを/output-styleコマンドで試し、自分の作業に合う応答の形を確認するところから始めてみてください。
あわせて読みたい・姉妹メディア
