
TermiNyal
もう、
見に行かなくていい。
Claude Code も Codex CLI も、10 個並べて走らせる。
許可待ちで止まったら、画面のいちばん上が教えてくれる。
macOS 26 Tahoe ネイティブのターミナル。
Claude Code も Codex CLI も、10 個並べて走らせる。止まったら画面のいちばん上が教えてくれる。macOS 26 Tahoe ネイティブ。
macOS 26 Tahoe 以降 /
自分の Mac で動くか確かめる
アップルメニュー →「このMacについて」で、「チップ: Apple M…」と「macOS Tahoe 26」が出れば動きます。
- 試すのにかかること
- ダウンロード → /Applications にドラッグ → 起動。アカウント登録もサインインもありません。
- やめるのにかかること
- 合わなければ、ゴミ箱に入れるだけ。.zshrc もシェルの履歴ファイルも書き換えません。


あれ、 さっきのターミナル どこいった?
AI にコードを書かせるようになってから、ターミナルが増殖していませんか。
バイブコーディングは楽しい。楽しいんですが、足元が散らかる。
プロジェクト A のサーバー、B のテスト、流しっぱなしのログ。
どのタブで何を動かしていたか、思い出せない。
エージェントは許可待ちで止まる。
止まったことに気付くまでの時間、手も止まっている。
ターミナルは落ちると全部消える。
分割も、作業ディレクトリも、昨日の並びも。

呼ばれたときだけ、戻ればいい。
画面のいちばん上、ノッチと地続きの黒いカプセルに、走っているセッションが全部集まります。
緑の >_ は実行中で、いま何のコマンドが何分走っているかまで出ています。琥珀の ! が要対応、赤の × が異常、青の ✓ が完了。
手を止めさせるのは琥珀だけ。要対応だけが自動で開いて、消えずに残ります。
島の「実行中」表示はどのコマンドでも出ます。「許可待ち」「完了」の通知が届くのは、OSC 9 / 777 で通知を送るツール(Claude Code / Codex CLI など)です。任意のコマンドの終了を自動で検知するものではありません。

島とサイドバーのドットが同時に消えるところまでが録画です。
4 つの面が、同時に消える
島・サイドバーのドット・Dock バッジ・通知センター。どこで消化しても一斉に消えます。そのセッションを見たら消える、というのが唯一のルールです。
行を クリックすると、そこへ着く
一覧の行をクリックすれば該当セッションが前面に来て、光が消えます。探す動作が要りません。

光るのは、光る理由があるときだけ
アイドル中は描画そのものがビューから外れます。30fps のブラーを流し続けると CPU を 8〜11% 持っていく、と実測したうえでそう決めました。
10 個あっても、探さない。
セッションはプロジェクトに束ねて、⌘1〜9 で直行できます。
どのセッションを見ているかはウィンドウごとに独立しているので、A と B を並べたまま、片方だけ切り替えられます。
1 枚から始まる
右へ割る
⌘D
下へ割る
⇧⌘D
もう一度、右へ
⌘D




1 枚から始まる

⌘D 右へ割る

⇧⌘D 下へ割る

⌘D もう一度、右へ

⌘⇧P で、名前の一部だけ 打つ
wspo と打てば workspace/potal に着きます。飛ばし打ちで拾い、全角も半角も大文字小文字も無視します(濁点だけは区別します)。

⌘⇧O で、カードとして 並べ替える
プロジェクト・セッション・ペインをドラッグで組み替えられます。Safari のタブグループを整理する感覚に近いものです。
分割は、入れ子に制限なし
⌘D と ⇧⌘D、⌥⌘1〜5 の 5 プリセット。つかみバーをドラッグすればペイン同士を入れ替えられます。1 ペイン = 1 シェルプロセスです。
色は、勝手に決まる
セッションの色は作業ディレクトリから安定して決まります。サイドバーで光っている色が、いま見ているターミナルの色です。

落ちても、そのまま戻る。
「いつ落ちても復元できる」を、あとから足した機能ではなく最初からの要件にしています。
状態が変わるたびに 300ms のデバウンスでアトミックに書き出しているので、保存を意識する場面がありません。
- セッションとプロジェクトの並び
- 分割ツリーとその比率
- 各ペインの作業ディレクトリ
- ウィンドウ構成
- ブラウザペインで開いていた URL
- 書きかけのメモ
朝、開き直したら昨日の続きから始まります。それだけです。
エージェントに、 ターミナルを渡す。
TermiNyal は AI ターミナルではありません。AI を走らせる側の管制塔です。
Claude Desktop などから MCP で TermiNyal 自体を操作できます。セッションを作る、出力を取る、コマンドを流す、ブラウザを開く、外観を変える。18 のツールが生えています。
危ない操作だけは、必ず聞く
セッションを閉じるような後戻りできない操作は、設定をどうしていても確認ダイアログが出ます。エージェントに渡した先で勝手に消えることはありません。
MCP クライアントがセッションを閉じようとしています
セッション「api-test」を閉じます。ペイン内のプロセスは終了します。
ドキュメントは、隣に置く
⌘L でアドレスバー。開いていた URL は保存され、次に開いたときも同じページです。ローカルファイルをドラッグすればその場でプレビューできます。
ブラウザペインは WebKit で動きます。Chrome 拡張・DevTools Protocol・タブはありません。ドキュメントを隣に置いておくためのものです。
打つ前に、もう出ている。
見た目は fish の autosuggestion に似ていますが、中身が違います。
いまいるディレクトリ、いるプロジェクト、直前に打ったコマンド。その遷移の確率まで見て次を出します。
~/projects/recipe-share recipe-share ❯ npm run dev→~/projects/recipe-share recipe-share ❯ git switch main→~/projects/recipe-share recipe-share ❯ git →
ターミナルに数文字打つと、続きの候補が薄い文字で出ます。右矢印キーを押すと確定して入力行に入ります。 候補が拮抗しているときは、あえて何も出しません。
── 出さない例 ──
❯ np(3文字未満は出さない(minimumPrefixLength = 3))
5.2 倍
的中率(fish の autosuggestion 方式との比較)
1.35 倍
節約できた打鍵数(同上)
実際のコマンド履歴 3,427 件を時系列に再生して測りました。結果を見る前に判定基準を決めてから選んだ閾値です。
履歴は、この Mac から出ません
予測に使う履歴はローカルだけで完結します。ネットワークへは送りません。シェル自身の履歴ファイルは読みも書きもしません。password / token / secret / api_key を含むコマンドは、そもそも記録しません。
⌘B で覚えて、⌘⇧B で呼ぶ
呼び出したコマンドは入力行に置かれるだけで、実行はされません。目で確かめてから Return を押せます。
⌘⇧Return で、1 枚だけにする
サイドバーもヘッダーも信号機ボタンも消えて、いま見ているペインがウィンドウの 95% になります。⌘] と ⌘[ で隣へスライドします。

道具は、 気持ちよくないと 続かない。
macOS 26.0 を最低要件に切ったので、Liquid Glass を互換のための妥協なしで使えています。
ただしガラスはヘッダーやチップにだけ掛けて、ターミナルの文字の上には絶対に置きません。読めなくなるからです。
テーマは 40 種類
ダーク 20 / ライト 20。Dracula、Nord、Tokyo Night、Catppuccin、Gruvbox。色は iTerm2-Color-Schemes の公式値をそのまま使っています。
日本語のパスが、ちゃんと揃う
PlemolJP Console を同梱しています。半角と全角がきっちり 1:2 の等幅なので、日本語のファイル名やパスがグリッドから外れません。他のフォントを選んでも、CJK はこれにフォールバックします。
足りないぶんは、 自分で足せる。
ヘッダーのバーは 12 枠あって、真ん中は最初から空けてあります。 JavaScript のファイルを 1 つ置けば、そこに自分のウィジェットが並びます。
ターミナルの中には、nya- で始まる小さなコマンドが 3 本入っています。
上のバーは、自分で書ける
時計・MCP の状態・入力ソース・メモ・ブックマーク・最前面固定。12 スロットあって、JavaScript で自作のウィジェットも置けます(ファイルにもネットワークにも触れないサンドボックスで動きます)。
Plugins/ フォルダに .js を置くだけで読み込まれます。初回起動のときにサンプルが 1 つ入っています。
宣言するのは幅(1〜12 枠)と更新間隔(秒。省略すると 30 秒)と render だけ。返した値がそのままチップになります。
// Plugins/today.jsconst plugin = {name: "今日",span: 2,refreshInterval: 60,render(ctx) {const md = ctx.dateISO.slice(5)return { text: md, color: "#38BDF8" }},}
nya- と打てば、道具が出てくる
nya-ai-usage は Claude Code と Codex CLI の使用率とリセット日時を出します。API 契約なら利用量とコストも。/usage のために対話セッションを起こす必要がなくなりました(モデルを呼ばないのでトークンも減りません)。
nya-hello はアイコンとバージョンをターミナルに描き、nya-get-fp はファイルパスを file:// の URL に変えます(ブラウザペインのアドレスバーに貼る用です)。.zshrc は書き換えません。PATH に入るのは、TermiNyal が起動したシェルの中だけです。
~/projects/recipe-share ❯ nya-ai-usageClaude Code — サブスクリプションCurrent session: 23% used · resets Aug 4 at 6:00pm (Asia/Tokyo)Current week (all models): 61% used · resets Aug 8 at 9:00am (Asia/Tokyo)Current week (Fable): 34% used · resets Aug 8 at 9:00am (Asia/Tokyo)Codex CLI — サブスクリプション(plan: pro)GPT-5.3-Codex-Spark 4% 使用 リセット 08/09 21:54 (7日枠)codex 18% 使用 リセット 08/09 13:38 (7日枠)
無料です。
素性の知れない個人開発のバイナリに、シェルとコマンド履歴を触らせるわけですから、気になるところは先に書いておきます。
課金の仕組み・アカウント登録・ライセンスキーは、いまのバージョンにありません。有料プランもトライアルもありません。(※「永久に無料」とは書きません。将来の約束はできないので、いまの事実だけを書いています)
コマンド履歴と予測は、この Mac の中だけで完結します。ネットワークへは送りません。password / token / secret / api_key を含むコマンドは記録しません。シェル自身の履歴ファイルにも触れません。
外から通信するのは、アップデートの確認だけです。しかも初回に「自動で確認していいですか」と聞いてから始めます。勝手に通信を始めません。
Developer ID で署名して、Apple の公証も通しています。Gatekeeper の警告なしに開けます。
入れ方と、消し方。
インストーラも権限の昇格もありません。
入れる
.dmgをダウンロード- 開いて
/Applicationsにドラッグ - 起動する
消す
.appをゴミ箱に入れる~/Library/Application Support/TermiNyal/を消す(残るのはここだけです)
アカウント登録もサインインもありません。.zshrc も、シェルの履歴ファイルも書き換えません。同梱の nya- コマンドは、TermiNyal が起動するシェルの中でだけ PATH に入ります。
Sparkle でアプリ内から更新できます。署名を検証してから適用します。ダウンロードは必ず .dmg からしてください(zip は自動更新の中で使うものです)。
macOS 26.0 Tahoe 以降 / Apple Silicon(M1 以降)/ 現在のバージョン 1.2.3
Intel 版はありません。Mac App Store でも配布していません(シェルを起動するアプリなので、構造上どうしても置けません)。
では、走らせにいきましょう。
10 個並べても、見に行かなくていいターミナルです。
macOS 26 Tahoe 以降 /
自分の Mac で動くか確かめる
アップルメニュー →「このMacについて」で、「チップ: Apple M…」と「macOS Tahoe 26」が出れば動きます。
- 試すのにかかること
- ダウンロード → /Applications にドラッグ → 起動。アカウント登録もサインインもありません。
- やめるのにかかること
- 合わなければ、ゴミ箱に入れるだけ。.zshrc もシェルの履歴ファイルも書き換えません。