コンテンツにスキップ

ターミナル

A・B のペインのタブと、ナビペインのビューで使える内蔵のターミナルです。今のフォルダで起動し、Claude Code もボタンひとつで起動できます。

できること

したいこと 操作
A・B のペインでターミナルを使う タブバーの「+」の右のターミナルのボタン
ナビペインでターミナルを使う ナビペインにターミナルのビューを置く(左右・上下で最大 4 面)
ペインで見ているフォルダへ移る / ターミナルの場所をペインで開く アクションバーの「フォルダ」
Claude Code を起動する アクションバーの「Claude」「Skip」
選んだファイルのパスを渡す ファイル一覧の右クリック →「その他の操作 ▶」(→ 選択項目をターミナル・Claude Code へ渡す)

シェルはコマンドプロンプト(cmd.exe)です。今のフォルダで起動し、文字は UTF-8 で扱います。

使い方

  • ターミナルタブ(A/B ペイン): ファイル一覧のタブバーにある SquareTerminal アイコンをクリックすると、A/B ペイン内にターミナル(cmd)タブを追加できます。ナビペインの「タブ管理」ビューの「Aペイン」「Bペイン」の見出しにも同じボタンがあります(タブ管理を表示しているとタブバーが見えなくなるため)。

    現在表示中のフォルダを作業ディレクトリとして起動し、フォルダタブとターミナルタブをシームレスに切り替えられます。複数のターミナルタブを開くことも可能で、ワーキングセットとの併用にも対応しています。

  • ターミナルビュー(ナビペイン): ナビペインに埋め込みのターミナル(cmd)を表示します。A/B ペインで閲覧中のフォルダをワーキングディレクトリとして、CLI ツール(Claude Code 等)を直接実行できます。

  • 最大 4 面まで同時表示: ナビペインのターミナルは表示する枠ごとに独立しています。左ナビペインと右ナビペインそれぞれで上下に 1 つずつ、合わせて 4 面まで並べられます。A/B ペインのターミナルタブと合わせると最大 6 面です。
    • 手順: アイコンバー右端の ∨ ボタンで十字の配置画面(ナビペインの配置をまとめて決める(十字の配置ウィンドウ))を開き、左上に「ターミナル」、左下に「ターミナル 2」、右上に「ターミナル」、右下に「ターミナル 2」を選んで「適用」を押します。4 面の指定が 1 回で終わります
    • 上下に 2 つ置くために「ターミナル」と「ターミナル 2」という 2 つの項目を用意しています。機能はまったく同じで、どちらを上下どちらに置いても構いません
    • 右ナビペインでターミナルを選んでも、左ナビペインのターミナルは消えません。 ターミナル以外のビューは従来どおり「移動」(もう片方から消える)です
    • 各面は完全に独立したセッションで、Claude Code の使用率表示もそれぞれの面のものが出ます
    • ナビペインのターミナルは、フォント・色・スクロールバックなどの設定をすべて共通で使います(A・B のペインのターミナルは、下の「全ターミナルで共通」をオフにするとペインごとに変えられます)
  • タブ管理: 上部のタブバーで複数のターミナルセッションを管理できます。「+」ボタンで新しいタブを追加、各タブの「×」ボタンでセッションを終了します。各タブは独立した cmd プロセスを持ちます。
  • 入力先(フォーカス): ナビペインのターミナルは、表示されただけでは入力先は移りません。自分でタブを追加したりタブをクリックしたときに移ります。A・B のペインのターミナルのタブは、開いたとき(起動時に戻ったタブがつながったときも)に入力先が移ります。
  • フル機能ターミナル: A/B ペインと同じ描画エンジン(WebView2 + xterm.js)を使用し、ANSI カラー、マウス操作、コピー&ペースト、スクロールバック(既定5000行、設定変更可)、URL クリック等をサポートする本格的なターミナルエミュレータです。
  • ターミナル共通機能(全ペイン共通):
  • アクションバー(下部のボタン): 操作は 5 つのグループにまとまっています。どのボタンも押すとメニューが開くだけで、コマンドはメニューの項目を選んだときに走ります。押し間違えても意図しないコマンドは実行されません。

    ボタン 中身
    フォルダ A / B ペインで開いているフォルダへ cd / 今の場所を A・B ペインで開く
    Claude 今のフォルダで Claude Code を起動 / 過去に起動したフォルダから選んで起動
    Skip 同上(--dangerously-skip-permissions 付き)
    履歴 コマンド履歴(Ctrl+R)/ Claude プロンプト履歴
    実行 dotnet run / dotnet publish -c Release(ナビペインのみ)/ 画面をクリア
    オプション 使用率メータの表示 / Enter で改行 / キー操作の一覧 / ターミナル設定
    • フォルダを選ぶメニューは、フォルダ名の右にフルパスを淡い色で並べるので、似た名前が並んでいても取り違えません。Claude・Skip のメニューでは、先頭の「今のフォルダで起動」に「現在地」バッジが付きます
    • 先頭 9 件は数字キー 1〜9 でも選べます。メニューを開いて数字を押すだけなので、マウスで狙いを定める必要がありません
    • オプションのトグル(使用率メータ・Enter で改行)が 1 つでもオンのときは、オプションボタンのアイコンがアクセント色に変わります。メニューを開かなくても点いていることが判ります
    • キー操作の一覧: ターミナルにフォーカスがあるときのキーです。ここに無いキーはすべてシェル(コマンドプロンプト)へそのまま渡ります。各機能の詳細は以降の項目を参照してください。なお同じ一覧はアクションバーの「オプション」→「キー操作の一覧」からいつでも開けます。
    キー 動作 条件・備考
    → 入力候補の先読みを確定 候補が出ていて、カーソルが行末にあるときだけ。候補が無ければシェルへ渡ります
    Ctrl+R コマンド履歴を開く シェルのプロンプト表示中のみ。vi や CLI ツールの実行中はそのツールへ渡ります
    Ctrl+↑ / Ctrl+↓ コマンド単位で前後へジャンプ コマンドの印が 1 つも無いときはシェルへ渡ります
    Ctrl+C 新しく選んだ文字があればコピー / 無ければ中断(^C) 「Ctrl+C / Ctrl+V でコピー・貼り付け」がオンのとき(既定オン)
    Ctrl+V 貼り付け 同上。vi などの全画面アプリではアプリ側へ渡します
    Ctrl+Shift+C / Ctrl+Shift+V コピー / 貼り付け 上の設定をオフにしていても常に使えます
    Ctrl+F ターミナル内を検索 Enter で次、Shift+Enter で前、Esc で閉じます
    Esc 検索・履歴・貼り付け確認を閉じる いずれも開いていなければシェルへ渡ります
    ↑ / ↓ / F7 コマンドプロンプト本来の履歴(doskey) アプリ側では何もしていません

    なお End を押しても何も起こりません(アプリが受け取った時点で止めています)。cmd 本来の「行末へ移動」も、本アプリのターミナルでは以前から効いていません。行末へ移動したいときは → を使ってください。 - A/B ペインのフォルダへ移動(フォルダグループ): 全ターミナル(A/Bペイン・ナビペイン)のアクションバーにある「フォルダ」ボタンを押すと、A ペイン・B ペインで開いているフォルダタブが見出し付きで 1 つのメニューにまとまって出ます。選んだフォルダへ即座に cd します。2画面ファイラーの利点を活かし、どのターミナルからも両ペインのフォルダにアクセス可能です。 - Claude Code の起動(Claude / Skip ボタン): 「Claude」ボタンを押すと、起動先を選ぶメニューが出ます。先頭が今のフォルダで起動、その下にこれまで Claude Code を起動したことのあるフォルダが並びます。選ぶとそのフォルダへ移動して Claude Code を起動します(cd /d "パス" && claude を 1 行で実行するので、コマンド履歴にも 1 件として残ります)。 - 起動先は必ずメニューで選びます。 ボタンを押しただけでは起動しないので、押し間違いで意図しないフォルダの Claude Code が立ち上がることはありません - 並び順は最近使った順で、最大 15 件です。フォルダ名の右にフルパスを並べるので、似た名前が並んでいても取り違えません。先頭 9 件は数字キー 1〜9 でも選べます - 一覧は Claude Code 自身の記録(~/.claude.json)から読んでいるため、このアプリの外のターミナルで起動した分も含まれます。すでに削除したフォルダは一覧に出ません - 今いるフォルダは先頭の「今のフォルダで起動」と重なるため、下の一覧には出ません - Claude Code を一度も起動していない場合は「履歴がありません」と表示されます - 権限スキップ起動は隣の「Skip」ボタンです。メニューの中身は同じで、起動時に --dangerously-skip-permissions が付く点だけが違います - Claude プロンプト履歴(履歴グループ): 「履歴」ボタン →「Claude プロンプト履歴」で、これまで Claude Code に入力したプロンプトを新しい順に日時つきで一覧表示します。選ぶと実行はせずターミナルの入力欄へ差し込むので、少し直してから送れます。 - 表示は 08/02 01:53 プロンプトの先頭… の形です。マウスを乗せると本文の全体と、そのとき作業していたフォルダが出ます - 一覧は Claude Code 自身の会話ログ(~/.claude/projects 配下)から読んでいます。したがってこのアプリの外のターミナルで打ったプロンプトも含まれ、アプリを入れ直しても残ります。アプリ側で別途記録することはしていません - 拾うのは自分が打った行だけです。ツールの実行結果、フックの出力、サブエージェント内部のやり取り、タスク通知は一覧に出ません - 同じ文面は最新の1件にまとめ、直近30件を表示します - Claude Code が動いていないターミナル(コマンドプロンプトの状態)へ差し込んだ場合、改行を含むプロンプトは「複数行の貼り付け時の確認」の対象になります(改行がそのまま実行になるためです)。Claude Code の入力欄へ差し込むときは改行が実行にならないので確認は出ません - セッションログを開く(履歴グループ): 「履歴」ボタンの下段「セッションログ」から、data\logs\terminal\ に溜まっているログを直接開けます。パスを手で辿る必要はありません。 - ログフォルダを開く: サブメニューで開き先を選びます。反対側のペイン(ターミナルが A ペインにあれば B ペイン、B ペインにあれば A ペイン)・A ペイン・B ペイン・エクスプローラの 4 つです。反対側を選べば、いま見ているターミナルを潰さずにログが並びます - 1 画面表示のときに B ペインを選ぶと、2 画面に広げてから開きます。フォルダタブが無いペイン(ターミナルタブだけの状態)では新しいタブとして開きます - ナビペインのターミナルには「反対側のペイン」が出ません。ナビペインは A / B のどちらのペインにも属さないため、何の反対かが決まらないからです - 現在のターミナルログを開く / 現在の Claude Code ログを開く: いま動いているセッションの画面ログ(.log)または Claude Code の会話ログ(.md)を、関連付けられたアプリで開きます - まだ記録が無いあいだは押せない状態になり、理由がツールチップに出ます。画面ログは最初の出力から最長 15 秒で記録され、Claude Code の会話ログは使用率メータの仕組みが登録済みで最初の応答が返ったときに作られます(下の「セッションログ」を参照) - 今の場所をペインで開く(フォルダグループ): 「フォルダ」ボタン →「今の場所を A ペインで開く」(または B ペイン)で、そのときのターミナルの作業ディレクトリを A / B ペインのフォルダタブで開きます。上の cd の逆方向です。ターミナルタブが選択中のペインでは、直近まで見ていたフォルダタブが移動します。 - 移動したときの通知: ペインが実際に移動したときは、コマンドの下の空行に「B ペインにて「C:...」に移動しました」とシアンで表示されます(追従・ボタンのどちらでも)。長いパスは画面幅に収まるよう先頭が「…」で省略されます。なお、その行にコマンドの出力が入っている場合は出力を潰さないよう表示を見送り、代わりに数秒だけ画面上に重ねて表示します。 - cd の追従先: 設定で A または B を選ぶと(既定は「追従しない」)、ボタンを押さなくても cd のたびにそのペインが追従します。追従先は全ターミナル共通です。A ペインのターミナルで作業しながら B ペインを追従先にするのがおすすめで、移動の様子が常に目に見えます(追従先を自分のペインにすると、ターミナルタブを表示している間はそのペインにターミナルが映っているため、裏でフォルダタブが移動するだけで画面上は変化しません)。追従による移動は戻る/進むの履歴には積まれません(cd のたびに履歴が埋まらないようにするため)。「今の場所を A/B ペインで開く」による移動は明示操作なので履歴に積まれます。 - パスをクリックしてペインで開く: 画面に出たパスのうち実際に存在するものには下線が付き、クリックするだけで A / B ペインに表示できます。手で選択してコピーし、アドレス欄に貼り付ける必要はありません。 - クリックで A ペイン、Ctrl+クリックで B ペインに開きます。マウスを乗せると、解決後のフルパスとこの案内が吹き出しで出ます - Shift+クリックは使いません。Shift はターミナル側で「テキストを選択する」ために使う(Claude Code のような全画面アプリの中では選択する唯一の手段)ため、そちらを優先しています - 相対パスも開けます(src\Foo.cs・..\other など)。基準はそのターミナルの現在のディレクトリなので、cd した後もそのまま辿れます - Services/Foo.cs:123 のような行番号付きの表記(Claude Code やコンパイラの出力)は、パスの部分だけを認識します。前後の括弧や句読点もリンクから外れます - ファイルを指している場合は、親フォルダを開いてそのファイルを選択した状態にします - 存在するものにだけ下線が付きます。 確認はマウスを乗せた行についてだけ非同期で行うので、クラウドストレージ上のフォルダでも操作が止まりません - 空白を含むパスは "C:\Program Files\..." のように引用符で囲まれていれば認識します。URL は従来どおりクリックでブラウザが開きます - コピー&ペースト: 右クリックで、文字を選んでいればコピー(コピー後は選択解除)、選んでいなければ貼り付けます(Windows Terminal と同様)。Ctrl+Shift+C / Ctrl+Shift+V にも対応します。「選んでいる」と見なすのは、画面に最後に何かが出力されたあとに選んだものか、選んでから 5 秒以内のものだけです。古い選択が残っていても、右クリックは貼り付け、Ctrl+C は中断として働きます。 - Ctrl+C / Ctrl+V: 設定の「Ctrl+C / Ctrl+V でコピー・貼り付け」がオンのとき(既定オン)、Shift なしの Ctrl+C / Ctrl+V もコピー・貼り付けとして使えます。Ctrl+C は文字を選択しているときだけコピーになり、選択していないときは従来どおり実行中のコマンドの中断(^C)を送ります。古い選択が残っていても中断は効きます(上の「コピー&ペースト」)。vi などの全画面アプリでは Ctrl+V をアプリ側へ渡します。 - コマンド履歴(Ctrl+R): 実行したコマンドを記録し、アプリを再起動しても残します。全タブ・全ペインで 1 つの履歴を共有します。Ctrl+R またはアクションバーの「履歴」→「コマンド履歴」で一覧が開き、文字を入力して絞り込み、↑↓ で選択、Enter で実行、Shift+Enter で実行せず入力欄へ挿入、Esc で閉じます。最大 1000 件を保持し、同じコマンドは最新の 1 件にまとめられます。なお ↑↓ キーそのものの挙動は変えていないので、コマンドプロンプト本来の履歴(doskey)や F7 もこれまでどおり使えます。 - 履歴は data フォルダ内の terminal_history.json に平文で保存されます。パスワードなどを含むコマンドを残したくない場合は、設定の「コマンド履歴を記録する」をオフにするか、「履歴を消去」ボタンで削除してください。 - コマンドの色分け: プロンプトと入力中のコマンドを構文ごとに色分けします(既定オン)。色分けした部分は設定の「文字色」より優先されます。 色は打鍵に追従して付き、Enter を押した後もそのまま履歴として残ります。日本語入力の変換中は色分けを行いません(変換中の文字列を壊さないため)。vi などの全画面アプリでは動作しません。

    対象 色
    プロンプトのカレントパス 明るい青
    プロンプトの > 灰
    組み込みコマンド(cd dir set 等) 明るい黄
    外部コマンド(git dotnet 等) 明るい緑
    サブコマンド(git status の status) 明るいシアン
    & && \| \|\| > >> < 明るいマゼンタ
    "..." シアン
    %PATH% / set NAME= の変数名 マゼンタ
    /w --force -x 灰
    パス(C:\dir\file ..\foo) 明るい青
    数値 黄
    その他の引数 設定した文字色のまま
    - エラーメッセージの赤字表示: 「コマンドを色分けして表示する」がオンのとき、エラーらしい出力行を赤で表示します。コマンド名の打ち間違い("… is not recognized as …")は確実に検出して赤くします。それ以外(「アクセスが拒否されました」など)は既知のエラー文言との照合による判定なので、ログの中身に同じ文言が含まれていると赤くなることがあります。なお cmd はコマンドの終了コードを端末へ渡せないため、「失敗した出力をすべて赤くする」ことは原理的にできません。
    - 入力候補の先読み表示: 打ち始めた文字列に前方一致する過去のコマンドを、続きの部分として薄字で表示します(既定オン)。カーソルが行末にあるときの → キーで確定します。候補が出ていないときの → は従来どおりコマンドプロンプトに渡ります(cmd では行末の → は「前回コマンドから1文字取り込み」に割り当たっています)。日本語入力の変換中、文字を選択中、スクロール中、カーソルが行の途中にあるときは表示しません。この候補はターミナルの文字の上に重ねて表示しているだけなので、コピーやスクロールバックには残りません。
    - 複数行の貼り付け時の確認: 改行を含むテキストを貼り付けると確認が出ます(既定オン)。コマンドプロンプトでは改行がそのまま実行になるため、意図しない一括実行を防ぐためです。行数と先頭3行のプレビューを表示し、「次回から確認しない」で以後スキップできます(設定にも反映されます)。確認して貼り付けた場合、実行が確定した行はコマンド履歴にも入ります。
    - 画像の貼り付け(ファイルパスに変換): クリップボードに文字が無く画像だけがあるとき、貼り付け操作(Ctrl+V / Ctrl+Shift+V / 右クリック)を行うと、その画像を PNG として保存し、引用符で囲んだそのファイルのパスを代わりに貼り付けます。ターミナルで動く Claude Code は画像を直接受け取れませんが、パスを渡せば読めるためです。Win + Shift + S で画面を切り取った直後にそのまま貼り付けられます。
    - 保存先は Windows の一時フォルダ(%TEMP%\ZenithFiler_TerminalPaste)で、ファイル名は paste_日付_時刻.png です。7 日より古いファイルは自動で削除されます(会話の途中で同じ画像を参照し直せるよう猶予を持たせています)
    - クリップボードに文字がある場合は、画像が一緒に入っていても従来どおり文字を貼り付けます
    - コマンド単位のジャンプ(Ctrl+↑ / Ctrl+↓): 長い出力の中を、コマンドを打った位置単位で前後に飛べます。移動先が無いときは通常どおりシェルへ送られます。
    - コマンドの開始位置の印: オンにすると(既定オフ)、各コマンドを打った行の左端に細いバーが付き、スクロールバーにも同じ位置の目盛りが出ます。打ち間違いのときだけ赤くなります。ターミナルにはガター(余白列)が無いため、この印はプロンプトの1文字目に重なります。プロンプト自体の色分けで「ここがコマンド行」は分かるので既定はオフです。スクロールバー上でコマンド位置を俯瞰したいときにオンにしてください。なお cmd ではコマンドの成功/失敗(終了コード)を取得できないため、VS Code のように成否で色分けすることはできません。
    - スクロール中もコマンドを上端に固定: オンにすると(既定オフ)、スクロールして出力の途中を見ているときに、その出力を出したコマンドの行が上端に固定表示されます。クリックするとその位置へ戻ります。
    - 検索(Ctrl+F): ターミナル内で Ctrl+F を押すと画面右上に検索ボックスが表示され、Enter で次候補、Shift+Enter で前候補に移動できます。一致件数も表示されます。Esc で閉じます。
    - バックスラッシュを ¥ で表示: 設定をオンにすると、C:\work のようなパスを C:¥work の字形で表示します(既定オフ)。表示だけが変わり文字そのものは変わらないため、コピーして他のアプリへ貼り付ければ通常の \ になります。この表示には日本語フォント(MS ゴシック等)が必要で、入っていない環境では従来どおり \ のまま表示されます。
    - ペイン別設定: アクションバーの「オプション」→「ターミナル設定」で設定の窓を開きます。A・B のペインのターミナルは、「全ターミナルで共通」をオフにすると、フォント・フォントサイズ・背景色・文字色・テーマ連動をペインごとに変えられます(選択で自動コピーとスクロールバック行数は、いつも全ターミナル共通です)。ナビペインのターミナルは、いつも共通の設定を使います。カラーピッカーでリアルタイムにプレビューできます。
    - 設定の確定/取消: 設定の窓での変更はすぐには保存されず、OK で確定、キャンセルで開く前の状態に戻ります(プレビューは変更中も反映されます)。× で閉じたときは OK と同じく確定します。
    - 選択で自動コピー: 設定ポップアップの「選択で自動コピー」をオンにすると、テキストを選択した瞬間に自動でクリップボードへコピーされます(既定オフ)。
    - フォント: 設定ポップアップの「フォント」で、OS にインストールされているフォントをすべて選べます。一覧は上段が「等幅フォント(推奨)」、下段が「すべてのフォント」の2グループに分かれています。既定は Consolas(VS Code が Windows で既定にしているフォントと同じ)です。ドロップダウンを開いた状態で頭文字を入力すると、その文字で始まるフォントへ移動します。なお等幅でないフォントを選ぶと文字幅が揃わず桁がずれるため、通常は上段の等幅フォントから選ぶことをおすすめします。
    - スクロールバック行数: 設定ポップアップで保持行数を 1000/5000/10000/50000 から選択できます(既定 5000)。
    - セッションログ: ターミナルでの操作は data\logs\terminal\ に自動で記録されます。特別な設定は不要で、常に有効です。
    - 開き方: 「履歴」ボタン →「セッションログ」から、ログフォルダをペイン指定で開く/いま動いているセッションの .log・.md を直接開くことができます(詳細は上の「セッションログを開く(履歴グループ)」)。
    - 画面ログ(.log): 画面に表示されていた内容をそのまま記録します。タブを閉じたとき・シェルが終了したとき・15 秒ごとに追記され、アプリを終了するときも直前までの分を書き切ります。ファイル名は「日時+起動したフォルダ名」です。表示中は一切書き込まないため、ターミナルの速度には影響しません。スクロールバックの上限を超えて古い出力が失われている場合は、その旨をログの先頭に記載します。Claude Code のような画面全体を使う操作型のアプリでは、この記録には会話は残りません(下記参照)。コマンドプロンプトのような通常の操作の記録として使ってください。
    - Claude Code の会話ログ(.md): ターミナルで Claude Code を使っているときは、会話が Markdown として自動で記録されます。画面ログと違い、Claude Code は「今の画面」だけを描き替える方式で動くため、その方式では会話の中身を記録できません。そこで Claude Code 自身が書いている会話の記録から直接 Markdown を作ります。あなたの発言と Claude の応答文は全文、コマンド実行やファイル編集などの操作は > Bash: git status のように 1 行の要約で記録されます(実行結果までは載りません)。発言ごとに見出しが付くので読み返しやすく、アプリ内の Grep で検索することもできます。ファイル名は画面ログと同じ規則に _claude_ とセッション ID の一部を加えた形で、拡張子は .md です。この記録は使用率メータの表示 ON/OFF に関係なく、使用率メータの仕組み(~/.claude/settings.json の statusLine フック)が登録されていれば動きます。ZenithFiler の外(VS Code や Windows Terminal など)で使った Claude Code は対象外です。
    - 保存期間: 画面ログ・会話ログともに 30 日を過ぎると自動的に削除されます。
    - 全ターミナル共通の項目: 「コマンド履歴を記録する」「Ctrl+C / Ctrl+V でコピー・貼り付け」「入力候補を先読み表示する」「複数行の貼り付け時に確認する」「バックスラッシュを ¥ で表示する」「cd の追従先」は、ペイン別ではなく全ターミナル共通の設定です(「全ターミナルで共通」チェックボックスの状態に関係なく共通になります)。
    - 全ターミナルで共通: 設定の窓の「全ターミナルで共通」で、A・B のペインのターミナルの設定を全ターミナル共通にするか、ペインごとにするかを切り替えます。既定は共通(オン)です。
    - テーマ連動: 「テーマ色に連動」を有効にすると、アプリのテーマ切替時にターミナルの背景色・文字色も自動変更。無効時はカスタム色を保持。
    - Claude Code 使用率: ターミナルで Claude Code を使っているとき、いま使っているモデル・コンテキストの使用率・5時間枠と週次枠の消費具合を、操作バーのすぐ上に 1 行で表示します。Opus 5 │ ctx ■□□□□□□□□□ 8% │ 5h ■□□□□□□□□□ 6% (あと2h33m) │ 7d ■■□□□□□□□□ 21% (あと2d3h) の形で、使用率に応じてバーと数値の色が緑から黄、赤へと少しずつ変わります(0%・50%・100% を目安に混ぜ合わせます)。マウスを乗せると各枠のリセット時刻と最終更新時刻が出ます。

    表示はターミナルの文字ではなくアプリ側で描くため、選んだフォントに関係なくバーの記号が崩れません。ナビペイン・A/B ペインのどのターミナルにも同じように出ます。

    表示はターミナルごとに独立しています。 A ペインで Fable、B ペインで Opus、ナビペインで Sonnet というように別々のモデルで動かしていれば、それぞれのターミナルにそのターミナルで動いている Claude Code 自身の値が出ます。タブを切り替えれば表示もそのタブのものに切り替わり、ターミナルを閉じればその行も消えます。ZenithFiler の外(コマンドプロンプトや Windows Terminal など)で起動した Claude Code は、どのターミナルにも紐づかないため表示対象外です。

    • 有効にする: アクションバーの「オプション」→「使用率メータを表示」を 1 回押すだけです。まだフックが登録されていなければ、この操作で登録もまとめて行います。Claude Code の設定ファイル(~/.claude/settings.json)の statusLine に、アプリに同梱した中継プログラムが登録されます。別途ツールを入れる必要はありません。押す前に元のファイルのバックアップ(settings.json.zenithfiler.bak と、初回のみ settings.json.zenithfiler.orig.bak)が作られます。設定ポップアップの「Claude Code 使用率」にある「フックを登録」ボタンからでも同じことができます
    • オプションメニューの項目: 表示中は項目の右端に ON が出て、オプションボタンのアイコンがアクセント色になります。もう一度押すと表示だけ止まり、フックの登録はそのまま残るので、次に押したときはすぐ数値が出ます。フックを完全に外したいときは設定ポップアップの「フックを解除」を使ってください。設定ポップアップ側で登録・解除した場合も表示は連動します
    • どの数値がどれに対応するか: 値は Claude Code 自身が渡してくるものをそのまま表示しています。Claude Code で /status を開いた「Usage」タブと次のように対応します
    表示 /status の項目 意味
    ctx コンテキスト使用率 いまの会話が使っているコンテキストの割合(入力側のトークンのみで計算されます)
    5h Current session 直近 5 時間の枠の消費
    7d Current week (all models) 週次の枠の消費(全モデル合計)

    /status に出るモデル別の週次枠(「Current week (Fable)」など)は、Claude Code がこの経路では渡してこないため表示できません。また 5h と 7d は Claude のサブスクリプション(Pro / Max)でのみ渡されます - 反映のタイミング: 登録は次に開くターミナルから効きます。ターミナルごとの識別子はターミナルの起動時に渡しているため、すでに開いているターミナルでは表示されません(新しいターミナルタブを開くか、アプリを再起動してください) - 数値が揃うまでの見え方: claude を起動した直後は、Claude Code がまだモデル名しか渡してこないため、行には モデル名と「メッセージを送ると使用率が出ます」 だけが出ます。メッセージを 1 往復すると 5h と 7d が、会話でコンテキストを使い始めると ctx が順に加わります。何も出ない場合はフックが未登録か、そのターミナルで Claude Code が動いていません - すでに独自の表示を設定している場合: その設定はそのまま動きます。アプリは元のコマンドを退避して呼び出し、その出力をそのまま Claude Code へ返すため、ターミナル上の表示は変わりません(ただしアプリ内でこのメータを表示している間は、下記のとおり中継を止めます) - 二重表示になりません/空いた行は「累計作業量」になります: このメータを表示している間、Claude Code がターミナルに出す行をアプリのメータが持っていない情報へ差し替えます。Claude Code は statusLine を設定している限りその行を必ず確保するため、何も出さないと空行が残ってしまう(行は詰まりません)。そこで、そのセッションを開始してから今までに使ったトークンの累計を 1 本のゲージで出します(作業量 ■■■■■□□□□□ 2.5M tok)。メータはターミナルの横幅いっぱいまで伸び、ゲージの色は左から右へグラデーションで流れます(長さと色の両方でどこまで来たかが読めます)。ウィンドウやペインの幅を変えると次のターンで引き直されます。文字が見切れることはありません ── 折り返さない幅を計算しており、狭いときは「桁揃え → ラベル → 単位」の順に削って数値だけは必ず残します。ゲージは、5 時間枠を使い切った量がちょうど 75% を指す目盛りです(枠を超えて働いた日も余白が残るので振り切りません)。伸び方は対数なので、1 万トークン台から動き始めて一度も後戻りしません(目安: 1.7 万で 9%、100 万で 47%、420 万で 66%)。5 時間枠が何トークンに相当するかは、使用率の伸びとトークンの伸びから自動で学習します(モデルによって 1% あたりのトークン数が大きく違うため)。使用率(ctx / 5h / 7d)と違って減らずに増え続けるので、作業が積み上がっていく様子が分かります。ゲージの満杯は 100k → 250k → 500k → 1M → 2.5M … と超えるたびに上がるので、張り付いて動かなくなりません。累計には同じ内容を読み直した分(キャッシュ読み込み)は含めません(含めると読み直しの量が膨らみ、新しく積み上がった分が読み取れなくなるため)。独自の statusLine を設定している場合、アプリ内ではその中継も止まります。この差し替えが働くのは Zenith Filer のターミナルの中だけで、VS Code などアプリの外で使っている Claude Code の表示には影響しません。アプリ内でも Claude Code 側の表示に戻したいときは、「使用率メータを表示」を切ってください - 解除する: 同じボタン(「フックを解除」)を押すと、退避しておいた元の設定を書き戻します。元々何も設定していなかった場合は statusLine の項目ごと取り除きます - アプリのフォルダを移動したとき: 登録したパスと合わなくなるため「パスが変わりました。再登録してください」と表示されます。「フックを再登録」を押せば直ります - 表示を止める: 「オプション」→「使用率メータを表示」をもう一度押すか、「使用率ウィジェットを表示」のチェックを外すと、フックは登録したまま表示だけ止まります。最後に受け取ったデータが 24 時間より古くなった場合も自動的に隠れます - ゲージの長さ: ゲージは行に残っている幅をすべて使って伸びます。ペインやウィンドウを広げるほど長くなり、いま何割かを読み取りやすくなります(幅が足りないときは既定の長さまで縮みます)。ゲージの周りには薄い枠線が付き、100% の範囲がどこまでかが分かるようにしてあります - Claude Code をインストールしていない環境(~/.claude が無い)では「Claude Code が見つかりません」と表示され、ボタンは押せません - 登場時の演出: ゲージが現れるとき、車のエンジンをかけたときの速度計のように、いったん振り切ってから実際の値へ落ち着きます。3本のゲージは少しずつ間を置いて動き出します。Windows の「アニメーション効果」(設定 > アクセシビリティ > 視覚効果)がオフのとき、および軽量モードのときは、この演出を行わず最初から最終値で表示します(アプリ全体の方針として OS の設定を尊重しています) - ゲージのデザイン: 8種類から選べます。■■■□□□□□□□ の四角(既定)のほか、1マスを8段階で表せる細かいブロック、ドット、ダイヤ、矢印など。点字は1マスを左右に分けるため、同じ幅で倍の細かさを表せます。設定の一覧には実物のプレビューが並びます - ゲージの配色: 4種類から選べます

    配色 説明
    使用率で変化(既定) 100% に近づくほど緑→黄→赤へ連続的に変わります。段階ではなく滑らかに変化するので、危険域への近づき方が分かります
    グラデーション ゲージの左から右へ、テーマのアクセント色から作った 2 色の間を流します。使用率が低くても右端まで色が付くので、目盛りとして読めます。ターミナル内の statusLine に出る累計作業量メータも同じ色になります
    レインボー 色相を均等に割った虹寄りの配色
    テーマの色 アプリのテーマのアクセント色を明るさ違いで並べます。テーマに最も馴染みます
    • リセット時刻の表記: 「残り時間」((あと2h33m)・既定)と「時刻」((00:29)。日をまたぐ場合は (8/3 20:00))から選べます
    • Enter で改行 / Ctrl+Enter で送信: Claude Code に長めの指示を書くとき、標準では Enter がそのまま送信になるため、途中で改行しようとして書きかけのまま送ってしまうことがあります。設定でこれをオンにすると(既定オフ)、Enter が改行、Ctrl+Enter が送信に入れ替わります。アクションバーの「オプション」→「Enter で改行(Claude Code)」でも同じ切り替えができ、オンの間は項目に ON が出てオプションボタンのアイコンがアクセント色になります。
    • 入れ替わるのは Claude Code が動いている間だけです。コマンドプロンプトの入力では Enter は従来どおり実行に使われるため、コマンドが打てなくなることはありません
    • 選択肢が出ている間は入れ替わりません。 「続けますか? 1. はい / 2. いいえ」のような確認、モデルの選択、@ によるファイル指定の候補など、Claude Code が選ばせてくる場面では Enter がそのまま決定に使われます(決定のたびに Ctrl+Enter を押すのは書くとき以上に煩わしいため)
    • スラッシュコマンドを打っている間も入れ替わりません。 入力が /status のようにコマンド 1 つだけのときは Enter でそのまま実行されます。コマンドの途中で改行したい場面は無いため、候補の一覧が絞り込まれて消えたあとでも実行できます。/path/to/file を見て のように / で始まる普通の文章は対象外で、これまでどおり Enter で改行できます
    • 判定は Enter を押した瞬間に、カーソルのある行とその下だけを見ています。会話の本文は見ないため、出力に記号が紛れていても誤動作せず、入力の反応が鈍ることもありません
    • 判定は「プロンプトから claude を実行したか」と「その CLI が自前の入力欄を出しているか」の両方で行います。cd /d "パス" && claude のように繋げて実行した場合も対象になります。アクションバーの「Claude」「Skip」のメニューから起動した場合も同様です
    • Alt+Enter(Claude Code 本来の改行キー)は設定に関係なくこれまでどおり使えます
    • この設定は全ターミナル共通です

しくみ

ターミナルの中身

  • ターミナルは、1 つのタブにつき補助のプログラム(conpty_host.exe)を 1 つ立て、その中で Windows の疑似コンソール(ConPTY)を通してコマンドプロンプトを動かします。アプリから直接コマンドプロンプトを動かすと、Windows 11 の一部の版で出力が出なくなることがあったため、間に 1 段はさんでいます。
  • コマンドプロンプトは chcp 65001 で UTF-8 に切り替えてから始めます。疑似コンソールは、同梱の新しい版(node-pty 由来)を先に使い、無ければ Windows の組み込みのものを使います。
  • 画面は WebView2 の中の xterm.js で描いています。使えるときは GPU(WebGL)で描き、使えなければふつうの描き方に切り替えます。WebView2 の準備は、アプリが手すきになったときに済ませておくので、最初のターミナルも速く開きます。
  • シェルには TERM=xterm-256color などを渡し、色付きの表示を使えるようにしています。アプリを起動した環境の CLAUDE で始まる変数は外して渡すので、アプリの外の Claude Code のセッションが紛れ込みません。

今いるフォルダの追いかけ方

  • プロンプトに見えない目印を埋め込み、コマンドプロンプトがプロンプトを出すたびに、今いるフォルダを知らせてもらっています。最初の知らせは起点として覚えるだけで、フォルダが変わったときにだけ動きます。
  • cd で絶対パスを打ったときは、打った内容からも移動先を読み取ります(そのフォルダが実在するときだけ)。
  • 「cd の追従先」でペインを選んでいると、ターミナルでの移動にペインが付いてきます。付いてきた移動は「戻る」の履歴に積みません(アクションバーのボタンで開いたときは積みます)。

ターミナルの寿命

  • ナビペインのターミナルは、その枠が初めて表示されたときに作ります(左・右 × ターミナル・ターミナル 2 で、最大 4 つ)。ビューを切り替えて見えなくなっても、アプリを終了するまでセッションは続きます。ナビペインのターミナルは、次に起動したときには戻りません。
  • A・B のペインのターミナルのタブは、次に起動したときに開いたときのフォルダで新しく始まります(最後に cd した場所ではありません)。表示を手元に残す 6 枚の上限(→ タブ操作)からは外れ、ターミナルのタブはいつも残します。
  • 閉じるときは、補助のプログラムに終わるよう伝え、0.5 秒待っても終わらなければ、その下で動いているものごと止めます。

キーの扱い

  • ターミナルに入力しているあいだは、アプリのショートカットキーよりターミナルへの入力を優先します(Ctrl + R でページが読み直されないよう、ブラウザのキーも止めてあります)。
  • End キーは、押すと WebView2 から入力先が外れてしまうので、アプリの側で受けてからターミナルへ渡しています。

関連