Claude Codeの ステータスラインの 設定方法 / statuslineと settings.json、 出力スタイルの 切り替え
- ステータスラインは、画面の下に出す自分用の表示欄です。
- /statuslineに頼むか、settings.jsonのstatusLineに書きます。
- 返事の口調は、別機能の出力スタイルで変えます。

Claude Codeのステータスラインは、画面の下に出し続けられる自分用の表示欄です。使っているモデル、コンテキストの使用率、gitのブランチ、費用などを、会話の邪魔をせずに見られます。作り方は2通りで、Claude Codeの中で/statuslineに頼むか、settings.jsonのstatusLineにスクリプトを指定します。
返事の口調や長さを変えたいときは、ステータスラインではなく出力スタイルの仕事です。/output-styleで切り替えます。この記事では、2つをまとめて説明します。
手順は、2026年10月23日に公式のステータスラインの説明と出力スタイルの説明と照らし合わせました。
ステータスライン とは何か
ステータスラインは、設定したシェルスクリプトの出力を、画面の下に表示する機能です。Claude Codeがセッションの情報をJSONでスクリプトに渡し、スクリプトがechoした文字がそのまま表示されます(公式の説明)。
- ローカルで動く。ステータスラインはAPIのトークンを使いません
- 組み込みの表示(フッターのバッジ)の上に別の行として出ます。置き換えはしません
- カスタムのステータスラインを設定すると、
esc to interruptや? for shortcutsなどのフッターの操作ヒントは、ほとんど出なくなります - ヘルプメニューや許可の確認が出ている間は、一時的に隠れます
用語の意味は、用語集のステータスラインにもあります。コンテキストの使用率は、用語集のコンテキストウィンドウと/compactの話につながります。
/statuslineで 作る (いちばん簡単)
Claude Codeの中で、欲しい表示を日本語でも英語でも頼みます。
/statusline show model name and context percentage with a progress barClaude Codeがスクリプトを~/.claude/に作り、設定も自動で書き換えます。ファイルの編集を許可するか聞かれたら承認します(公式の説明)。
消したいときも同じ画面で、/statusline deleteや/statusline remove itのように頼みます。
settings.jsonに 自分で書く
自分でスクリプトを書くなら、手順は3つです。公式の例(macOSとLinux向けのBash)を、そのまま載せます。ほかのOSは次の章で触れます。
1. スクリプトを作る ~/.claude/statusline.shに保存します。JSONの読み取りにjqを使うので、入っていなければ入れます。
#!/bin/bash
input=$(cat)
MODEL=$(echo "$input" | jq -r '.model.display_name')
DIR=$(echo "$input" | jq -r '.workspace.current_dir')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)
echo "[$MODEL] 📁 ${DIR##*/} | ${PCT}% context"// 0は、値がまだ無いときの代わりの値です。
2. 実行できるようにする
chmod +x ~/.claude/statusline.sh3. 設定に書く ~/.claude/settings.jsonに次を足します。
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}保存すると、Claude Codeが設定を読み直してスクリプトを動かします。ユーザー全体の設定(~/.claude/settings.json)にも、プロジェクトの設定にも書けます。設定ファイルの置き場所は、次の記事にまとめています。
書ける オプション
| 項目 | 意味 |
|---|---|
項目type | 意味"command"を |
項目command | 意味スクリプトのjqを |
項目padding | 意味左右に |
項目refreshInterval | 意味指定した |
項目hideVimModeIndicator | 意味trueに-- INSERT --表示を |
出典は公式の説明です。
スクリプトに 渡される 主な データ
スクリプトは標準入力でJSONを受け取ります。公式の一覧から、よく使うものを選びました。
| 項目 | 中身 |
|---|---|
項目model. | 中身いまの |
項目workspace. | 中身作業中の |
項目context_ | 中身コンテキストの |
項目cost. | 中身この |
項目rate_ | 中身5時間の |
項目session_ | 中身/renameや--nameで |
項目workspace. | 中身gitの |
全部の項目は公式の一覧にあります。cost.total_cost_usdは/clearで新しいセッションになると0に戻ります。コンテキストを空ける方法は、用語集の/compactにあります。
5時間と週の枠をステータスラインに出す例と、上限に当たったときの対処は、次の記事で説明しています。
関連記事いつ 更新されるか
スクリプトは、セッションの開始時(再開したときも)に1回動きます。そのあとは、次のときに動きます。
- 新しい返事が届いたとき
/compactが終わったとき- 許可モードが変わったとき
- vimモードを切り替えたとき
- 設定の
commandを変えたとき refreshIntervalの時間が来たとき- 渡された利用上限の窓が
resets_atの時刻に達したとき、または温まっているプロンプトキャッシュがexpires_atに達したとき
更新は300ミリ秒でまとめられ、前のスクリプトがまだ動いているときに新しい更新が来ると、前のものは打ち切られます。重い処理(git statusなど)を毎回走らせると遅くなるので、公式は結果をキャッシュする例を載せています。
表示されないとき
公式のトラブル対応から、よくある原因を並べます。
| 症状 | 確かめること |
|---|---|
| 症状何も | 確かめることスクリプトにchmod +x)。 |
| 症状まだ | 確かめること信頼の |
| 症状出たり | 確かめることスクリプトが |
症状--や | 確かめること最初のnullの// 0のような |
| 症状Windowsの | 確かめることcommandの\が/で書く |
| 症状会社の | 確かめること管理者がallowManagedHooksOnlyをstatusLineだけ |
原因が分からないときは、claude --debugで起動すると、スクリプトの標準エラー出力と終了コードがログに出ます(公式のトラブル対応)。組織のポリシーが絡む場合は、次の記事も見てください。
出力スタイルとは何か
出力スタイルは、Claudeの役割、口調、返事の形式を、セッション全体で切り替える指示のまとまりです。毎回のプロンプトで「短く答えて」と頼まなくて済みます(公式の説明)。用語集では出力スタイルです。
何も選んでいない状態がDefaultで、ソフトウェア開発向けの標準の指示です。ほかに4つの組み込みスタイルがあり、どれもDefaultの指示を残したまま、自分の指示を足します。
| スタイル | 変わること | 向いている場面 |
|---|---|---|
| スタイルProactive | 変わること細かい | 向いている場面途中の |
| スタイルConcise | 変わること前 | 向いている場面返事が |
| スタイルExplanatory | 変わること選んだInsightブロックで | 向いている場面コードベースに |
| スタイルLearning | 変わることInsightに | 向いている場面手を |
Conciseは、Claude Code v2.1.237以降が必要です。Proactiveでも、許可モードは変わりません。ファイルの変更やコマンドの実行を許可するかどうかは、これまでどおり許可モードで決まります。
切り 替え方
/output-style <名前>例えば/output-style concise。名前を付けずに実行すると一覧が出て、いまのものに印が付きます。大文字小文字は区別されません。Claude Code v2.1.269以降が必要です/configのOutput styleからメニューで選ぶ- VS Code拡張 コマンドメニューのOutput stylesから選ぶ。v2.1.257以降が必要です
どの方法でも、選んだ内容はそのプロジェクトの.claude/settings.local.jsonに保存されます。設定ファイルに直接書くなら、次のとおりです。
{
"outputStyle": "Explanatory"
}この値は大文字小文字を区別します。 explanatoryと書くとDefaultになります。全プロジェクトの既定にしたいときは~/.claude/settings.jsonに書きますが、プロジェクトの設定のほうが優先されます。途中で切り替えると、次のメッセージから新しいスタイルになります。
自分用の スタイルを作る
出力スタイルは、フロントマター付きのMarkdownファイルです。~/.claude/output-styles(ユーザー全体)か.claude/output-styles(プロジェクト)に置きます。
---
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.keep-coding-instructions: trueは、Claude Codeの開発向けの指示を残すための指定です。開発以外の役(文章の手伝いなど)にするなら付けません。ただし、この指定が効くのは完全なシステムプロンプトのときだけです。短いほうのシステムプロンプトには開発向けの指示の部分がないので、効果がありません。完全なほうに切り替えるには、環境変数CLAUDE_CODE_SIMPLE_SYSTEM_PROMPTを0にします。ターミナルではスタイルのファイルを起動時に読むので、作ったり直したりしたあとは再起動します。
CLAUDE.mdや フックとの違い
出力スタイルは「従ってほしい指示」で、守られることを保証する仕組みではありません。使い分けは次のとおりです(公式の比較)。
| やりたいこと | 向いている機能 |
|---|---|
| やりたいこと毎回の | 向いている機能出力スタイル |
| やりたいことプロジェクトの | 向いている機能CLAUDE.md |
| やりたいこと特定の | 向いている機能スキル |
| やりたいこと毎回 | 向いている機能フック |
出力スタイルが効くのは、メインの会話です。サブエージェントは自分のシステムプロンプトで動くので、スタイルは変わりません。
CLAUDE.mdの書き方、フック、サブエージェントは、それぞれ次の記事で説明しています。
関連記事画面の下の1行より大きく、会話の横のパネルや入力欄の上の帯に自分の表示を出したいときは、プラグインの一種のmodで描けます(公式の説明)。
関連記事よく ある質問
ステータスラインは トークンや 料金を 使いますか?
使いません。公式は、ステータスラインはローカルで動き、APIのトークンを使わないとしています。
ステータスラインの スクリプトは 自分で 書かないと いけませんか?
いいえ。/statuslineに表示したい内容を頼めば、Claude Codeがスクリプトを作って設定まで書きます。手で書くのは、細かく作り込みたいときだけです。
ステータスラインが 何も 表示されません。
スクリプトの実行権限、標準出力に書いているか、フォルダの信頼の確認に応じたか、の3つをまず確かめます。claude --debugで起動するとエラーが見えます。
出力スタイルを 変えると コードの 品質も 変わりますか?
公式によると、Conciseは返事を初期状態で短くするだけで、開発の作業は同じ丁寧さで行います。詳しい説明を頼んだときや、エラーや警告のように安全のために必要な内容は、省かれません。ExplanatoryとLearningは説明が増えるぶん、返事が長くなります。
出力スタイルを 設定したのに 効きません。
settings.jsonのoutputStyleは大文字小文字を区別します。Explanatoryのように書いてください。小文字だとDefaultになります。


