Claude Codeの出力スタイルを解説
出力スタイルはClaude Codeのシステムプロンプトを編集し、すべての返答を変えます。組み込み5種類の違い、トランスクリプトへの影響、独自スタイルの書き方を解説します。
Claude Code における出力スタイルとは
Claude Code の出力スタイルは、Claude Code がシステムプロンプトに追加する指示のまとまりです。Claude が応答する際の役割と、出力の形式を変更します。コードベースの知識を Claude に与えるものではありません。また、Claude に何かを実行する権限を与えることもできません。
Claude Code には、5 つの組み込みスタイルがあります。選択内容は 1 つの設定キー outputStyle に保存され、そのキーはセッション開始時に 1 回だけ読み込まれます。このため、この機能では混乱が起きやすくなります。セッションの途中で切り替えたスタイルは保存されますが、設定を解除するまで反映されません。
VPS では、これは単なる見た目の好みではありません。通常、SSH (secure shell) 接続を介して、tmux ウィンドウ内でトランスクリプトを読みます。そのため、Claude が説明する各行は、待ち時間として発生する行であると同時に、サイズが固定されたスクロールバックバッファに保存される行でもあります。
Output style 設定の場所
/config メニューの Output style でスタイルを選択します。Claude Code は、作業中のプロジェクト内にある .claude/settings.local.json へ選択内容を書き込みます。
単独の /output-style コマンドは存在しなくなりました。v2.1.73 で非推奨となり、v2.1.91 で削除されたため、現在のビルドでは何も実行しません。古いガイドに従う前に、実行しているバージョンを確認してください。このページのバージョンは 2026 年 8 月に確認済みです。
claude --versionキーを手動で設定することもできます。設定を保持できるファイルは 4 種類あり、より範囲の狭い設定が、より範囲の広い設定より優先されます。
~/.claude/settings.jsonはユーザーファイルです。そのマシン上のすべてのプロジェクトに適用されます。.claude/settings.jsonはプロジェクトファイルです。git にコミットされるため、リポジトリを clone した全員に適用されます。.claude/settings.local.jsonはローカルプロジェクトファイルです。コミットされず、上記の両方より優先されます。/configメニューが書き込むファイルです。- IT チームが Linux の
/etc/claude-code/などのシステムパスから配置する Managed settings は、その他すべての設定より優先されます。
キーの値にはスタイル名を指定します。
{
"outputStyle": "Concise"
}1 セッションだけ設定する場合は、同じキーをコマンドラインで渡します。--settings フラグにはパスまたはインライン JSON 文字列を指定できます。その値は、その実行中に設定ファイル内の同じキーを上書きします。
claude --settings '{"outputStyle": "Concise"}'この機能の提供期間中に、メニューラベルと slash command はどちらも少なくとも 1 回変更されています。outputStyle キーは変更されていません。ガイドのスクリーンショットが表示内容と一致しなくなった場合は、キーを直接設定してください。その後、/status で設定を確認します。このコマンドでは、現在有効な設定ソースが一覧表示されます。
新しい出力スタイルがクリアするまで反映されない理由
Claude Code はセッション開始時に system prompt を1回だけ構築し、出力スタイルはその system prompt に含まれます。そのため、セッション実行中に設定を変更しても値が保存されるだけで、表示上の変化はありません。実行中のセッションは、起動時に構築した prompt を送り続けるためです。新しいスタイルは、次の /clear または次回の起動時に読み込まれます。
/clear
/context/context は、現在 context window を占有している内容をカテゴリ別に表示します。system prompt も含まれます。各スタイルで新しいセッションを開始して実行し、system prompt の行を比較の入力側として使います。カスタムスタイルが実際に読み込まれたかを確認する最も速い方法でもあります。context window に何が入るかを詳しく確認するには、長時間の Claude Code セッションで context が埋まる仕組みを参照してください。
設定が即時適用されないのには理由があります。API は、各リクエストの先頭部分が一致する prompt cache から、繰り返しのリクエストに応答します。system prompt はリクエストの先頭にあります。会話の途中でこれを書き換えると、その後ろにあるすべての内容が無効になり、次のターンで履歴全体を新しい入力として再処理する必要があります。セッション開始時にスタイルを固定すれば、このコストを避けられます。スタイルの切り替え自体は簡単です。clear が必要なだけです。
組み込みの各出力スタイルがトランスクリプトに与える変更
- Default は、ソフトウェアエンジニアリング作業向けに記述された Claude Code の通常のシステムプロンプトです。
- Concise は、結果を最初に示します。前置きと手順ごとの説明を省き、詳細を求めるまで回答を短く保ちます。回答の背後で行われるエンジニアリング作業は変わりません。エラーレポートやセキュリティ警告を短縮することはなく、破壊的な操作の前には完全な確認も行います。このスタイルには Claude Code v2.1.237 以降が必要です。
- Explanatory は、タスクの手順の間に教育的な「Insights」を追加します。実装上の選択理由と、コードベースですでに使われているパターンを説明します。意図的にトランスクリプトが長くなります。
- Learning はさらに踏み込みます。Claude はその Insights を共有したうえで、コードの小さな部分を自分で記述するよう求めます。ファイル内の各箇所には
TODO(human)コメントを付けます。 - Proactive は、確認する代わりに Claude に処理を実行させます。日常的な判断では妥当な前提を置き、確認のために処理を停止することを減らします。
最後の項目は誤解されやすいため、注意して読んでください。Proactive はシステムプロンプトによる指針です。Claude が試みる処理を変更します。一方、実際に確認なしで実行される処理は permission mode が決定します。これは、無人で稼働させるサーバーで重要な設定です。詳しくは auto mode と Claude Code の permission modes を参照してください。
出力スタイルと CLAUDE.md、hook、subagent の違い
これらはすべて Claude の動作を指定する仕組みですが、適用される層が異なります。
- output style は system prompt に追加されます。メインの会話におけるすべての応答に適用されます。
- CLAUDE.md は system prompt の後に user message として追加されます。プロジェクトの規約やコードベースに関する事実を記述します。
--append-system-promptは、既存の内容を削除せずに、1 回の呼び出しに限って system prompt へテキストを追加します。output style の一時的な版です。- hook は、イベントの発生時に Claude Code 自身が実行する shell command です。harness によって強制されるため、Claude が実行を選択するかどうかに関係なく動作します。Claude Code の hook でできることとできないことを参照してください。
- subagent は、独自の system prompt と独自の tool set で実行されます。
最初の 2 つは、簡単なテストで使い分けられます。プロジェクトに関する事実は、Claude が知る必要があるため CLAUDE.md に記述します。表現は、回答の読みやすさに関するものなので output style に記述します。モデルの判断に関係なく毎回必ず実行する必要がある処理は hook にします。
output style が適用されるのはメインの会話だけです。subagent は独自の system prompt で独自の会話を開始するため、ユーザーの style を継承しません。現在の会話の fork は例外で、親の system prompt をそのまま継承します。subagent の記述方法が好みに合わない場合は、style ではなく、その agent のファイルを編集してください。
独自の出力スタイルを作成する方法
カスタム出力スタイルは、frontmatter を含む Markdown ファイルです。すべてのプロジェクトで使用する場合はホームディレクトリに保存し、コードとともに管理する場合はリポジトリ内に保存します。ユーザーディレクトリは ~/.claude/output-styles/、プロジェクトディレクトリは .claude/output-styles/ です。
mkdir -p ~/.claude/output-styles
cat > ~/.claude/output-styles/terse-ops.md <<'EOF'
---
name: Terse ops
description: Command first, explanation after, for SSH sessions
keep-coding-instructions: true
---
Lead with the command or the file change. Put the explanation after it, in two sentences or fewer.
Do not narrate what you are about to do. Report what you did.
When a command can fail, print the one check that proves it worked and say what a healthy result looks like.
EOFセッションを開始し、/config を開きます。作成した説明とともに、スタイルが Output style の一覧に表示されます。表示されない場合は、ファイルが読み込まれていません。パスを確認し、--- の frontmatter ブロックがファイルの先頭にあることを確認してください。frontmatter で name を設定しない限り、ファイル名がスタイル名になります。そのため、このスタイルは terse-ops ではなく Terse ops という名前になります。
これを選択するか、キーにその名前を正確に設定して、次の内容を空にします。
{
"outputStyle": "Terse ops"
}ファイルが調整用か置換用かは、1 つのフィールドで決まります。keep-coding-instructions のデフォルト値は false です。これは、カスタムスタイルが Claude Code 組み込みのソフトウェアエンジニアリング向け指示を破棄し、独自のテキストだけで動作することを意味します。これらの組み込み指示によって、Claude は変更範囲を決め、作業結果を検証します。ライティングアシスタントやデータアナリストなど、これらの指示が不要な場合はフィールドを省略してください。コードを扱うスタイルでは true に設定してください。そうしないと、慎重に作業していたエンジニアが突然、自分の作業を確認しなくなった理由が分からなくなります。
description は、/config の選択画面で名前の横に表示される説明です。6 か月後に自分で作成した 2 つのスタイルから選ぶ場面を想定して記述してください。
SSH で簡潔なスタイルが異なる理由
VPS では、ローカル端末にはない複数の層を通して出力を読みます。各層では、冗長な出力にコストがかかります。
最初はスクロールバックです。tmux では、各ペインが保持する行数を history-limit で設定します。デフォルトは 2000 行です。説明付きのトランスクリプトはこのバッファを早く埋めるため、セッションの前半が早く破棄され、後で確認したかった出力がなくなります。必要な容量がある場合は、値を増やします。
echo 'set -g history-limit 20000' >> ~/.tmux.conf
tmux source-file ~/.tmux.confこの設定以降に作成したペインは、それぞれ 20000 行を保持します。ただし、ペインごとに必要なメモリは増えます。すでに開いているペインには古い上限が適用されます。ペインの作成時にバッファサイズが固定されるためです。セッションのレイアウトをまだ構築中であれば、VPS 上の tmux 内で Claude Code を実行する方法で詳しく説明しています。
2 つ目は遅延です。応答は生成されると同時に端末へストリーミングされます。ラウンドトリップ時間が長い接続では、長い前置きを見ている間、回答が表示されるまで時間がかかります。
3 つ目は出力トークンです。説明付きの各行は出力として課金されます。Explanatory と Learning は、設計上、より長い応答を生成します。Concise は、デフォルトで応答を短くするよう Claude に指示するため、設計上、より短くなります。
このページを含め、誰かが示す割合をそのまま信用しないでください。差の大きさは、プロンプト、モデル、依頼する作業によって変わります。変更前と変更後を自分で測定してください。同じ実際の作業を新しいセッションで 2 回実行します。1 回は Default、もう 1 回は Concise を使用し、その結果を比較します。Claude Code は、スタイル名とトークン数の両方を含む JSON オブジェクトを標準入力でスクリプトに渡すため、statusline が最も簡単な測定手段です。
cat > ~/.claude/statusline.sh <<'EOF'
#!/bin/bash
input=$(cat)
style=$(echo "$input" | jq -r '.output_style.name // "default"')
out=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
echo "style=$style out=$out cost=$cost"
EOF
chmod +x ~/.claude/statusline.shstatusLine 設定でこのスクリプトを指定します。
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}これでセッション下部のバーに、アクティブなスタイルと生成したトークン数が表示されます。必要な変更前と変更後を確認できます。スクリプトにはコマンドライン JSON パーサーである jq が必要です。まず sudo apt install -y jq でインストールしてください。バーが空のままの場合は、スクリプトを手動で実行し、JSON をパイプで渡します。statusline が 0 以外で終了すると、何も表示せず、何も報告しないためです。カスタム Claude Code statuslineでは、このオブジェクトに含まれる残りのフィールドを説明しています。課金ではなくセッション側の情報を確認する場合は、Claude Code のトークンが実際に消費される場所とClaude Code の支出を追跡するツールを参照してください。
実際に読み込まれている出力スタイルを確認する方法
推測せず、次の確認を実行してください。
/statusは、このセッションで有効な設定ソースを一覧表示します。組織による管理設定が適用されているかどうかも確認できます。/contextは、コンテキストウィンドウの内訳で、読み込まれた system prompt をカテゴリとして表示します。claude doctorをセッションを開始せずに shell から実行すると、インストールと設定の診断結果を表示し、無効な設定ファイルを報告します。
スタイルが適用されない原因は、ほとんどの場合、次の2つのいずれかです。1つ目は、セッション中にスタイルを変更したことです。この場合は /clear を実行してください。2つ目は優先順位です。.claude/settings.local.json は .claude/settings.json を上書きし、どちらも ~/.claude/settings.json を上書きします。/config picker はローカルファイルに書き込むため、チームが .claude/settings.json に登録したスタイルは、誰かが以前にメニューを使ったマシンでは、気付かないうちに上書きされます。/status を使うと、どのソースが優先されたかを確認できます。
JSON の構文エラーでも同じ症状が発生しますが、対処方法は異なります。claude doctor は解析できなかったファイル名を表示します。複雑な原因を調べる前に実行すると有効です。
FAQ
/output-style コマンドが動作しなくなったのはなぜですか?
v2.1.73 で非推奨になり、v2.1.91 で削除されたためです。そのため、2026 年半ばのビルドではこのコマンドは存在しません。claude --version を実行して、使用中のバージョンを確認します。Output style の下にある /config からスタイルを選ぶか、設定ファイルで outputStyle キーを設定します。このキーはコマンドよりも長く残っているため、キーを直接設定する方法を自分のメモに書き留めておく価値があります。
出力スタイルを変更したのに何も変わりません。なぜですか?
出力スタイルはシステムプロンプトの一部であり、Claude Code はセッション開始時にシステムプロンプトを 1 回だけ構築します。セッション中に行った変更は保存されますが、適用されません。実行中のセッションは、起動時に構築したプロンプトを送り続けるためです。/clear を実行するか、新しいセッションを開始します。それでも適用されない場合は、/status を実行して、どの設定ソースが優先されたかを確認します。.claude/settings.local.json は .claude/settings.json を上書きし、両方とも ~/.claude/settings.json を上書きします。
Concise 出力スタイルでコストを節約できますか?
Claude にデフォルトで短い応答を返すよう指示するため、出力トークンは期待する方向に減少します。削減量はプロンプトとモデルによって異なるため、公表されている割合は他者の作業を測定した結果として扱ってください。自分の環境で測定するには、新しいセッションで各スタイルを使用して /context を実行し、入力側を確認します。次に、各スタイルで同じタスクを実行し、出力トークン数を比較します。Concise でもエラーレポートやセキュリティ警告は短縮されないため、特に確認が必要な部分は省略されません。
出力スタイルによって subagent の記述方法は変わりますか?
いいえ。出力スタイルが適用されるのはメインの会話だけです。subagent は独自のシステムプロンプトとツールセットで、独自の会話を開始するためです。例外は現在の会話の fork です。fork は親のシステムプロンプトをそのまま継承します。subagent の応答方法を変更するには、その agent 専用のファイルを編集します。
出力スタイルで、Claude に確認なしでコマンドを実行させられますか?
いいえ。出力スタイルはシステムプロンプト内のテキストであり、Claude が実行しようとする内容に影響を与えることしかできません。Proactive スタイルでは、通常の判断で一時停止せず、前提を置いて行動するよう Claude に促しますが、それでもコマンドを承認することはできません。確認なしで実行できる内容は permission mode が決定します。サーバー上でセッションを実行したまま離れる前に確認すべき設定はこれです。