Claude Media
Claude CodeのspinnerVerbsと表示設定4つで待ち時間の画面を整える

Claude CodeのspinnerVerbsと表示設定4つで待ち時間の画面を整える

spinnerVerbsの動詞、showTurnDurationの所要時間、terminalProgressBarEnabledの進捗バー、prefersReducedMotionの動き。待ち時間の表示を整える4つの設定の使い分けです。

Claude Codeが応答を作っている間、画面には回転するスピナーと動詞が出て、終わると「Cooked for 1m 6s」のような所要時間が残ります。この待ち時間まわりの見た目は、settings.jsonの4つのキーで変えられます。

動詞の入れ替えは spinnerVerbs、所要時間の表示は showTurnDuration、タブの進捗表示は terminalProgressBarEnabled、アニメーションの抑制は prefersReducedMotion です。どれもどの設定ファイルにも書けます。ユーザー設定にもプロジェクト設定にも置けます。

4つの設定を一覧で見る

先に全体像を表にします。デフォルトはいずれも「何もしなければ見える」側です。

キー型既定値変わるもの
spinnerVerbs型オブジェクト既定値未設定変わるものスピナーの動詞
showTurnDuration型真偽値既定値true変わるもの応答後の所要時間メッセージ
terminalProgressBarEnabled型真偽値既定値true変わるものターミナルのタブ・タスクバーの進捗表示
prefersReducedMotion型真偽値既定値false変わるものスピナー・シマー・フラッシュの動き

showTurnDuration、terminalProgressBarEnabled、prefersReducedMotion の3つは /config にも行があります。表示名はそれぞれ「Show turn duration」「Terminal progress bar」「Reduce motion」です。spinnerVerbs の行はないので、settings.jsonを直接編集します。

spinnerVerbsでスピナーの動詞を足す・置き換える

処理中のスピナーには「Accomplishing」「Architecting」「Baking」のような動詞が順番に出ます。この動詞リストを自分のものに差し替えるのが spinnerVerbs です。

mode は2種類あります。

  • "append": 組み込みの動詞に自分の動詞を足す
  • "replace": 自分の動詞だけを表示する

足すだけなら次のように書きます。

{
  "spinnerVerbs": {
    "mode": "append",
    "verbs": ["Pondering", "Crafting"]
  }
}

この例は組み込みのセットに2語を加えるだけなので、画面は今までどおりで、ときどき知らない動詞が混じります。チームの合言葉を混ぜたいときや、少しだけ遊び心を足したいときに向きます。

組み込みを使わず自分の動詞だけにしたいときは "replace" にします。

{
  "spinnerVerbs": {
    "mode": "replace",
    "verbs": ["Reviewing", "Refactoring", "Testing"]
  }
}

空配列のreplaceは組み込みに戻る

見落としやすい点が1つあります。"replace" で verbs を空配列にすると、Claude Codeは組み込みの動詞を使い続けます。「動詞を全部消して無地のスピナーにする」用途には使えません。動詞を完全に消す手段は、リファレンスの spinnerVerbs の節には載っていません。

また、動詞リストの上限件数や、日本語の動詞を入れたときの表示については、spinnerVerbs の節に記載がありません。日本語を入れるなら、自分の端末で一度動かして崩れないか見るのが確実です。

スピナーのヒント文は別のキーで変える

スピナーの行には動詞のほかに、機能の使い方を伝える短いヒントも回ります。こちらは spinnerTipsEnabled(false で非表示、/config では「Show tips」)と spinnerTipsOverride(自分のヒントを追加、または置き換え)で制御します。spinnerTipsEnabled を false にすると、自分で足したヒントも含めて全部消えます。動詞を変えても、ヒントの出方は変わりません。

showTurnDurationで「Cooked for」の表示を消す

応答が終わるたびに、「Cooked for 1m 6s · done 6:05 PM」のような行が出ます。所要時間と、そのターンが終わった時刻です。

showTurnDuration を false にすると、この行が出なくなります。

{
  "showTurnDuration": false
}

ターンごとの所要時間は応答の重さをつかむ手がかりになります。一方、長いセッションでは毎回の1行が履歴に積もります。スクロールバックを短く保ちたい人や、画面を録画して共有する人は、消す選択肢があります。

スコープ欄には「~/.claude.json に古いバージョンの値が残っていると、どの設定ファイルにも指定がないときはそちらが適用される」という注意があります。昔 /config で切り替えた覚えがあるのに、settings.jsonに何も書いていないのに表示が出ない、というときはここを疑います。

時刻の書式は別のキーで変える

行の末尾の「done 6:05 PM」の時刻は、timeFormat と timeZone で書式とタイムゾーンを変えられます。12時間表記か24時間表記か、別のタイムゾーンで出すかといった設定です。詳しくはClaude Codeでタイムゾーンと時刻表示形式を設定する方法にまとめています。showTurnDuration を false にすれば、この時刻も一緒に消えます。

terminalProgressBarEnabledでタブの進捗表示を止める

Claude Codeは作業中、対応するターミナルに「実行中」であることを知らせます。タブやタスクバーに進捗の表示が出るので、別のタブや別のウィンドウにいても、セッションがまだ忙しいかどうかが分かります。

この表示が出る端末は限られています。

  • ConEmu
  • Ghostty 1.2.0以降
  • iTerm2 3.6.6以降

それ以外の端末では、キーの値にかかわらず何も報告されません。つまり、このキーを触る意味があるのは上の3つのどれかを使っているときだけです。

表示は、ターンが終わった後も、バックグラウンドのサブエージェントや動的ワークフローが動いている間は出たままで、セッションがidle(待機)に戻ると消えます。ターンが終わったのにバーが残っていても、バグとは限りません。裏でエージェントが動いている可能性があります。

止めたいときは false にします。/config では「Terminal progress bar」の行です。

{
  "terminalProgressBarEnabled": false
}

タブの色や点滅が気になる、あるいは録画や画面共有で余計な表示を出したくない場合に使います。このキーも、~/.claude.json に古い値があると、設定ファイルに指定がないときにそちらが効きます。

prefersReducedMotionで動きを減らす

prefersReducedMotion を true にすると、スピナー、シマー(文字の上を光が流れる効果)、フラッシュといったアニメーションが減るか、止まります。/config では「Reduce motion」です。

{
  "prefersReducedMotion": true
}

このキーはアクセシビリティの設定表にも載っています。動きが苦手な人や、点滅で目が疲れる人のための設定です。同じ表には、画面拡大鏡向けに常にカーソルを表示する CLAUDE_CODE_ACCESSIBILITY や、色覚に配慮したテーマ(dark-daltonized / light-daltonized)も並んでいます。

false は未設定と同じで、アニメーションが表示されます。スピナーの動詞やヒントがなくなるわけではない点に注意してください。動きが減るだけで、文字の内容を消すキーは別です。

症状から原因を切り分ける

表示まわりの「あれ?」は、キーの仕様を知っていれば大半が説明できます。

進捗バーがどのタブにも出ない

ConEmu、Ghostty 1.2.0以降、iTerm2 3.6.6以降のどれでもない端末では、Claude Codeは進捗を報告しません。まず端末とそのバージョンを確認します。対応端末なら、terminalProgressBarEnabled が false になっていないか、/config の「Terminal progress bar」を見ます。

ターンが終わったのに進捗バーが残る

バックグラウンドのサブエージェントや動的ワークフローが動いている間は、ターン終了後も表示が残ります。セッションが待機状態に戻れば消えます。バックグラウンドの作業が残っていないかを先に確かめます。

「Cooked for」の行が突然出なくなった

showTurnDuration が false になっているのが第一候補です。どの設定ファイルにも書いた覚えがない場合は、~/.claude.json に古い値が残っている可能性があります。/config の「Show turn duration」で現在の状態を確認し、直したければそこで切り替えます。

スピナーの動きが減った、または止まった

prefersReducedMotion が true のときの想定どおりの挙動です。意図せず有効になっているなら、/config の「Reduce motion」を見ます。

スクリーンリーダーモードとの関係

prefersReducedMotion はスクリーンリーダーモードの代わりではありません。アクセシビリティの手引きでは、スクリーンリーダーモードは画面を枠や進捗アニメーション、その場での書き換えのないフラットな行テキストに置き換えるものとされ、オプトインです。

一方で、画面拡大鏡、動きの抑制、色覚に配慮したテーマだけが必要な人は、スクリーンリーダーモードを使わず、CLAUDE_CODE_ACCESSIBILITY、prefersReducedMotion、theme のいずれかを設定すれば足りるとされています。動きの抑制だけを望む場合は、通常の画面のまま prefersReducedMotion を true にするのが、設定として一番小さい変更です。

スクリーンリーダーモードでは tui の設定は無視され、全画面描画ではなくスクロールするテキストが出力されます。スピナーもこのモードでは静的なテキストとして表示されます。スピナー系の設定を試すときは、通常の画面で確かめてください。

spinnerTipsOverrideで自分用のヒントを回す

スピナーの動詞を変えたあと、次に気になるのがヒントの文言です。spinnerTipsOverride を使うと、自分のヒントを組み込みのヒントと同じ回転に加えられます。excludeDefault を true にすれば、組み込みのヒントを隠して自分のものだけにできます。

文字列だけを並べる最小の形は次のとおりです。

{
  "spinnerTipsOverride": {
    "tips": ["コミットの前に /review を回す"]
  }
}

オブジェクト形式では id、text、cooldownSessions、priority を指定できます。id を付けると、並べ替えてもヒントごとの表示履歴が保たれます。オブジェクト形式や tipsFile、label はv2.1.247以降の機能で、プロジェクト設定とローカル設定からは文字列のヒントだけが読まれます。チームで共有するなら、プロジェクト設定に文字列の配列で書けば読まれます。cooldownSessions や priority などオブジェクト形式の指定を使いたい場合は、ユーザー設定か組織の管理設定に書きます。

組み合わせの例

4つを組み合わせた設定の一例です。静かな画面を求める人向けの構成にしています。

{
  "spinnerVerbs": {
    "mode": "replace",
    "verbs": ["Working"]
  },
  "spinnerTipsEnabled": false,
  "showTurnDuration": false,
  "terminalProgressBarEnabled": false,
  "prefersReducedMotion": true
}

逆に、速度を意識したいなら showTurnDuration は残します。バックグラウンドで長い作業を回すなら terminalProgressBarEnabled は残したほうが、別タブから状況が見えます。

どこに書くか

4つのキーはどの設定ファイルにも書けます。ユーザー設定は ~/.claude/settings.json、プロジェクト設定は .claude/settings.json、ローカル設定は .claude/settings.local.json です。

使い分けの目安は次のとおりです。

設定書き場所の例理由
prefersReducedMotion書き場所の例ユーザー設定理由個人の体質や好みで、チームに強いるものではない
terminalProgressBarEnabled書き場所の例ユーザー設定理由使っている端末に依存する
showTurnDuration書き場所の例ユーザー設定理由見え方の好みの問題
spinnerVerbs書き場所の例ユーザー設定、またはチームで遊ぶならプロジェクト設定理由見た目だけで動作には影響しない

動作を変えない表示系のキーなので、プロジェクト設定に入れる必然性は薄く、基本はユーザー設定が収まりのよい置き場所です。設定が反映されないときの切り分けはClaude Code設定が反映されない原因の探し方が参考になります。

設定が効いたか確かめる

設定を書いたら、/config を開いて次の行の状態を見ます。

  • 「Show turn duration」
  • 「Terminal progress bar」
  • 「Reduce motion」

/config に出る3つは、settings.jsonに書いた値が反映されているかの確認に使えます。spinnerVerbs は /config に行がないので、短いプロンプトを1つ流して、スピナーに出る動詞を実際に見るのが早い方法です。

まとめ

見た目の設定は、動作に影響しないので、気軽に試せます。迷ったら次の順で触るのが無理のない流れです。

  1. 履歴の行が邪魔なら showTurnDuration
  2. 別タブからの進捗が欲しい(または邪魔な)なら terminalProgressBarEnabled
  3. 動きが負担なら prefersReducedMotion
  4. 遊び心が欲しいなら spinnerVerbs

動詞を目立たなくしたいだけなら、replace に "Working" のような1語だけを入れると、無地に近いスピナーになります。

この記事を共有:XはてブLinkedIn