この mod について
overalls
プロンプトの上にステータス帯を描画する Claude Code mod。コンテキストウィンドウのリアルタイムな「天気予報」、使用上限の消費状況、Ponytail と Caveman の動作レベルを表示します。

コンテキストが 75% を超えると(Claude がターンの実行中でなければ)、帯に Compact ボタンが現れます。
ウィジェットが一行に収まらない場合は丸ごと二行目に折り返され、Compact と ⚙ は一行目の右に残ります。
インストール
Claude Code のターミナル内で:
/plugin marketplace add Troepster/overalls
/plugin install overalls@overalls
/reload-plugins
または任意のシェルから。デスクトップアプリにも対応し、新しいセッションで読み込まれます:
claude plugin marketplace add Troepster/overalls
claude plugin install overalls@overalls
帯が表示されない場合は、新しいセッションを開始するか Claude Code を再起動してください。
更新は Claude Code 内で /plugin marketplace update overalls、またはシェルから:
claude plugin marketplace update overalls
claude plugin update overalls@overalls
Ponytail と Caveman は任意です。Caveman がなければそのウィジェットは表示されず、Ponytail がなければ off にするまで not installed と表示されます。どちらの場合も ⚙ Config ボックスからインストールを依頼できます。
mod は Claude Code 内で同じアクセス権を持って動作するため、インストール前に hooks/register.tsx を読んでください。
設定
各設定は Claude Code の設定メニューの overalls に一行ずつ表示され、変更すると mod が再読み込みされます。/overalls コマンドでプロンプトから設定でき、/config のないデスクトップアプリでも使えます:
/overalls weather minimal
/overalls ponytail off
/overalls (shows the current values)

帯の右の ⚙ を押すと、上に Config ボックスが開き、各設定の全選択肢と現在の選択のチェックが表示されます。押すと設定され、その場で帯の変化を確認できます。もう一度 ⚙ を押すと閉じます。Config 内の設定名にホバーすると、一行の説明が表示されます。
予報自体(Showers、または minimal での 67%)を押すと、詳細度が minimal → normal → full と循環します。off は Config ボックスで設定します。
mod に /config の行がある場合(ターミナル)、/overalls はその行を設定します。行がない場合(デスクトップアプリ)は mod 独自のストアに選択を保存し、すべてのセッションで /config の値より優先します。該当行のあるセッションで同じ設定を /overalls で指定するまで、この優先が続きます。
| 設定 | 値 | デフォルト | 動作 |
|---|---|---|---|
| 天気の詳細度 | off · minimal · normal · full(入力指定。他の値は full) | full | 予報の表示量 |
| Ponytail レベル | off · icon · text(入力指定。他の値は icon、旧 on/off 値は icon/off) | icon | ロゴまたは ponytail: の後にインストール状況とレベルを表示 |
| Caveman モード | off · icon · text(入力指定。他の値は icon) | icon | インストール済みなら 🪨 または caveman: の後にモードを表示 |
| megacave の提供 | on · off | off | Caveman の漢文モード(megacave)をドロップダウンに追加。Config 内では Caveman と同じ行 |
| 使用上限 | on · off | on | 5 時間・週間の上限の消費状況を表示(サブスクリプションのみ) |
| 上限リセット | on · off | on | 各上限のリセットまでの時間(5h 42% ↻1h20m)を表示。Config 内では Limits と同じ行 |
| 上限の使い切り予測 | off · warn · always(入力指定。他の値は warn) | warn | 直近一時間のペースでリセット前に上限を使い切る場合に警告。⚠1h40m は琥珀色、30 分未満は赤。always は持ちこたえる上限に ✓ lasts も表示。まず 10 分間のサンプルと 2 ポイントの変動が必要。各上限の後に表示し、上限表示がオフなら単独表示(5h ⚠1h40m) |
| セッション費用 | on · off | off | セッションの累積費用を表示 |
| MCP 警告 | on · off | on | MCP サーバーやコネクターの失敗、再ログインの必要を警告 |
| 稼働中エージェント | on · off | on | サブエージェントの稼働中に ⧗ 2 agents を表示。押すと種類とタスクを一覧表示 |
| 残りターン | on · off | on | ⌛ ~6 turns を表示。増加した直近五ターンの平均増加量から、あと何ターン収まるか推定(3 から赤) |
| ツール拒否 | on · off | on | ユーザー、フック、権限規則、自動モード分類器が拒否した呼び出しを ⛔ 2 denied と表示。押すと一覧と Dismiss を表示 |
各天気レベルの表示:
| レベル | 帯 |
|---|---|
| minimal | ☂ 67% |
| normal | ☂ Showers 67% · 134.4k / 200k |
| full | normal に直近 12 ターンのスパークラインと前ターンからの変化を追加 |
| off | 何も表示しない(Ponytail が有効ならその部分は表示) |
Ponytail の検出
<picture> <source media="(prefers-color-scheme: dark)" srcset="assets/ponytail-logo-dark.png"> <img src="assets/ponytail-logo.png" width="110" alt="Ponytail, the lazy senior dev"> </picture>- インストール済み:
enabledPluginsに有効なponytail@…エントリがあること。それ以外はロゴの横にnot installedを表示します。 - レベル: このセッション固有のものです。Ponytail は全セッションで一つのレベルファイルを共有するため、このセッションのレベルは分かりません。Overalls は Ponytail の規則に従ってセッション単位で追跡します:
- 新規セッションと圧縮後(Ponytail が再起動)はデフォルトで開始します。
$PONYTAIL_DEFAULT_MODE、次にconfig.json($XDG_CONFIG_HOME/ponytail/または~/.config/ponytail/)のdefaultMode、最後にfullの順です。 /ponytail <level>(または/ponytail:ponytail <level>)、/ponytail-review、stop ponytail、normal modeが入力されると変更します。 他のセッションの切り替えはこの帯に影響しません。
- 新規セッションと圧縮後(Ponytail が再起動)はデフォルトで開始します。
- 切り替え: レベル表示のドロップダウンで選び、Ponytail 自身の
/ponytail <level>コマンドを使います。ドロップダウンのないモバイルでは、押すと ultra → full → lite → off と進みます。
Ponytail または Caveman のインストール
未インストールのものは ⚙ Config ボックスの行に Install ボタンが出ます。mod 自体はプラグインをインストールできないため、プロンプト欄に依頼文を入力します。例:
Install the caveman Claude Code plugin: run `claude plugin marketplace add JuliusBrussee/caveman` then `claude plugin install caveman@caveman`.
送信すると Claude が二つのコマンドを実行し、それぞれ通常の権限確認を経ます。プラグインのフックは次のセッションから開始します。
Caveman
- インストール済み:
enabledPluginsに有効なcaveman@…エントリがあること。それ以外は何も表示しません。 - モード: このセッション固有です。Caveman は Claude の設定ディレクトリ内の
.caveman-sessions/<session id>.modeに各セッションのモードを保存するため、帯はそれを読みます。固有ファイルのないセッション(Caveman インストール前に開始)はoffと表示します。どのウィンドウでも最後に設定したモードを持つ共有ファイル.caveman-activeは、セッション id がない場合のみ読みます。 - 切り替え: ドロップダウンでモードを選び、Caveman 自身の
/megacave、/ultracave、/caveman、/caveman offを使います。選択肢は ultracave、caveman、off、および Offer megacave がオンの場合の megacave(漢文で答えるため)です。モバイルでは押すたびに順に切り替わります。
MCP 警告
Claude Code は mod に MCP サーバー一覧や状態を渡さないため、帯は Claude 自身のツール呼び出しから問題を検出します:
- ログインや接続に失敗した
mcp__<server>__…呼び出し(引数の誤りは対象外)、および - ToolSearch が失敗と報告したサーバー。
帯に ⚠ 2 MCP errors が出ます。押すと帯の上に MCP errors ボックスが開きます(Config と同様、同時に開くのは一つ)。各サーバーに一行あり、名前、sign in または failed、Claude が見たエラー、そして:
- Reconnect:claude.ai コネクターの場合は Customize → Connectors。デスクトップアプリではアプリ内(
claude://claude.ai/customize/connectors)、CLI やウェブではhttps://claude.ai/customize/connectorsを開きます。他のサーバーはターミナルで/mcp。デスクトップアプリの/mcpは一覧だけなので、ターミナルのセッションからログインするよう案内します。 - Dismiss と Dismiss all
次の呼び出しが成功するか、非表示にするとサーバーは一覧から消えます。検出は最初の失敗時で、それより前ではありません。
データとアクセス
Overalls はネットワークリクエストを送らず、何も外部へ送信しません。すべて Claude Code のセッション内で行います:
- 各ターン後にセッションのコンテキストウィンドウ使用量(
$.session.usage())を読む - Claude Code の設定を読み、Ponytail が有効か確認する
- 該当ウィジェットがオンなら、使用上限の割合、リセット時刻、費用(
$.session.usage())と、リセットまでのカウントダウン用の時計を読む - エージェントウィジェットがオンならサブエージェント一覧(
$.agent.list():種類、タスク、状態)を読む - 30 秒ごとに帯を再描画してカウントダウンとエージェント数を更新し、その都度使用上限の割合(
$.session.usage())を記録する。直近一時間分をセッションメモリに保持し、上限を使い切る時刻を推定する - Claude Code の設定で Caveman が有効か確認し、有効ならセッション id と Claude 設定ディレクトリの
.caveman-sessions/<session id>.modeを読む(id がない場合は.caveman-active) - デフォルトレベルのために Ponytail の
config.jsonと、環境変数PONYTAIL_DEFAULT_MODE、XDG_CONFIG_HOME、CLAUDE_CONFIG_DIR、HOMEを読む - 送信した各プロンプトを Ponytail コマンド(
/ponytail …、stop ponytail、normal mode)の検出だけに使い、レベル以外は保存しない - 直近 12 回の測定値と Ponytail レベルをセッション状態に保存し、終了時に消える
- 帯で選択したときだけ Ponytail レベルや Caveman モードを切り替える。
/ponytail <level>または該当する Caveman コマンドを、ユーザーが入力した場合と同じように実行する(Claude もその入力と同様に読む)。実行できなければプロンプト欄に入力する - Config の Install を押したときだけインストール依頼をプロンプト欄に入力する。送信し、Claude のコマンドを承認しない限りインストールしない
- Claude が呼ぶ各ツールの名前を読む。ユーザー、フック、権限規則、自動モード分類器に拒否された場合、ツール名と理由の先頭 100 文字をセッション状態に保持し、非表示にするまで残す
- 各 MCP ツール名、失敗時のエラー文、ToolSearch の失敗サーバー一覧を読む。失敗サーバーの名前、ログイン必要か失敗か、エラーの先頭 100 文字だけを保持する。ターミナルで Reconnect を押したときだけ
/mcpを実行する - MCP errors ボックスを開いている間
CLAUDE_CODE_ENTRYPOINTを読み、デスクトップアプリと CLI・ウェブを区別する。デスクトップでコネクターの Reconnect を押すとclaude://claude.ai/customize/connectorsをシステムの起動ツール(macOS はopen、Linux はxdg-open、Windows はcmd /c start)に渡し、アプリ内でそのページを開く - Compact ボタンを押したときだけ会話を圧縮する。Claude Code がプラグインによる圧縮を許可しない場合(デスクトップアプリ)は
/compactを実行し、できなければプロンプト欄に入力する /overalls weather …や/overalls ponytail …(および他のコマンド)を実行したときだけ独自設定を変更する、または選択…




