2026年9月4日 金曜日
AI時短ラボ
検証· 約13

「今どのターミナルが自分を待っているか」を可視化するMacターミナル「Saggar」

ネイティブMacアプリのSaggarは、複数プロジェクトのシェル・開発サーバー・テスト・コーディングエージェントのセッションを横断し、needs you/working/idle/finished/failedの5状態に分類して「対応が必要なターミナル」だけを前面に出す。macOS 26 Tahoe以降のApple Siliconが必須という条件までREADMEで確認した。

「今どのターミナルが自分を待っているか」を可視化するMacターミナル「Saggar」
執筆・編集:
目次

3行まとめ

  1. Saggarは、複数プロジェクトにまたがるシェル・開発サーバー・テスト・コーディングエージェントのセッションを一元管理し、各セッションを「needs you(対応が必要)」「working(作業中)」「idle」「finished」「failed」に分類して表示するネイティブMacターミナルアプリ。
  2. macOS 26 Tahoe以降・Apple Siliconが必須で、Intel Macは対応していない。
  3. スマホからの遠隔操作(Companion)は、Macが外部からの着信ポートを一切開かずリレーへ「発信」する構成で、Macを一度サインアウトすると全デバイスのペアリングが即座に無効化される設計になっている。

「4つのタブがあっても、どれが自分を待っているか分からない」問題

公式サイトが提示する課題設定はシンプルだ。あるエージェントはコードを編集中、別のエージェントはテスト実行中、3つ目は権限確認のプロンプトで止まっている、4つ目は10分前に終わっている——普通のターミナルは4つのタブを見せるだけで、どれが自分の対応を必要としているかは教えてくれない。Saggarは各セッションの状態を可視化し、動いている作業は視界から追い出し、判断が必要なセッションだけを1つのキューにまとめる、という設計を取る。

セッションは次の5状態に自動分類される。

  • needs you:承認プロンプトで止まっている、または完了したがまだ確認していない
  • working:作業中で、視界の外に出される
  • idle
  • finished
  • failed

「Attentionカード」から直接応答するか、⌘Jで優先度順に処理していく操作が用意されている。各セッションはプロジェクト・ブランチ・ワークツリーに紐づいたまま管理される。

リモート操作の仕組み

外出先からセッションを覗いたり、暴走したエージェントに割り込んだり、プロンプトに答えたりするための「Companion」アプリがスマホ向けに用意されている(ベータ)。公式サイトが説明するセキュリティモデルは次の3点だ。

  • 同じアカウントでサインインした端末しかペアリングできない:Macとスマホは同じ「Marginal Utility」アカウントにサインインしている必要があり、Macはリクエストのたびにアカウントを再確認する
  • 着信ポートを一切開かない:Macはリレーに対して自ら発信(dial out)する構成で、ネットワーク上にポートを開放しない。SaggarはこのリレーをSaggar自身が持つ「ファーストパーティ・リレー」と呼んでいる
  • ペアリングは一度きりで、無期限に有効:使わない期間があっても失効しないが、1台ずつ取り消すことも、Mac側をサインアウトして全デバイスを一括で無効化することもできる

ペアリング自体はQRコードのスキャンで完結し、スキャンするとMacの識別子とペアリングコードが自動的に入力される。

他のターミナル・マルチプレクサとの違い:公式比較表

Saggarは「compare」ページで、cmux・herdr・Warp・tmux・エディタ内蔵ターミナル・Claude Code自体という6つの近縁ツールとの比較表を公開している。Saggar側の自己申告ではあるが、項目立ては具体的だ(「Yes」「Partly」「No」の3段階評価)。

比較項目 Saggar tmux Warp Claude Code(CLI単体)
ネイティブMacアプリか Yes(Swift/SwiftUI、macOS 26向け) No(既存ターミナルにペインを描画するマルチプレクサ) Yes No(CLI、どのターミナルでも動く)
見ずに状態が分かるか Yes(needs you/working/idle/finished/failedを2秒ごとに再判定) No(ペインはペインでしかない) Partly(コマンド終了時の通知はあるが、エージェントの状態は一級の概念でない) Partly(自分のトランスクリプト内でのみ報告、外部からは追えない)
1つの優先順位付きキューで対応待ちを一覧できるか Yes(プロンプト・失敗・完了作業を1キューにまとめ⌘Jで辿れる) No No(対応待ちのキューという概念自体がない) No(セッションは互いの状況を知らない)
ネットワーク切断後も作業が継続するか Partly(セッションとスクロールバックは復元、ノートPCの蓋を閉じると停止) Yes(このページの中で最良、バックグラウンドサーバーが切断・スリープ・再起動を跨いで維持) No(ウィンドウにローカルなセッション) Partly(再開は可能だが、プロセス自体は端末終了で終わる)

セキュリティモデル:2段階の認可・Keychain保存・E2E暗号化

Saggar Docsのセキュリティページは、リモート操作機能が「ソースコード・認証情報・何でも実行できるシェルを保持するマシンに到達する」ことを前提に、その設計をかなり具体的に説明している。要点は次の通り。

  • 信頼モデルはアカウントそのもの:デバイスがペアリングされるのは、Macがサインインしているのと同じ「Marginal Utility」アカウントのセッションを保持している場合のみで、認可済みのリクエストのたびに再確認が入る。Macをサインアウトすると、次のリクエスト時点で全ペアリング済みデバイスが失効する
  • Macは着信ポートを一切開かない:リレーに対して自ら発信(dial out)する構成で、ネットワーク上には何も公開しない
  • 2種類の認可情報:アカウントセッションはデバイスをリレーに対して認証し、Saggar固有の「グラント」はデバイスをMacに対して認証する。この2つは別物で、通常のリクエストではアカウントトークンはリレー側に留まる
  • 権限は3段階でクランプされる:クライアント側が要求した権限がそのまま付与されるわけではなく、Macがペアリング承認の瞬間に自分の上限まで絞り込む。閲覧のみの「view」層はトランスクリプトの末尾もファイルパスも受け取らない。ファイル閲覧・検索を伴う操作には「drive」権限が必要で、「approve」権限は保存済みのプロジェクトルートに限定される
  • グラントはKeychain保存:コード脇のJSONファイルではなくログインKeychainに保存され、失効は次のリクエストで即時に反映され、プッシュ通知の購読も同時に無効化される
  • 通信はE2E暗号化:ブラウザとMacはそれぞれのP-256鍵からAES-GCM鍵を導出し、リレーは通信内容を読んだり偽造したりできない、と明記されている。ただしリレー自体はどのMacがオンラインかという経路・タイミングのメタデータは把握でき、リレー障害時はリモート操作が完全に止まる「オフライン経路は存在しない」とも明記されている

クラウドAI機能(セッション要約・スマート命名)はオプトインで、初回インストール時点では何も送信されない。要約機能を使うとトランスクリプト末尾80KBが、命名機能を使うとエージェントへの最初のプロンプト12KBが送信される仕組みで、送信前にMac側でベンダーAPIキー・JWT・秘密鍵ブロック・認証ヘッダー・URL内パスワードなどを検出してredactするが、ドキュメント自身が「ベストエフォートであり、すべての秘密情報を捕捉するわけではない」と明記している。送信先はMarginal Utilityのアカウントサービスで、そこからOpenRouter経由でモデルプロバイダに転送される。

リリースの速さ:2026年8月だけで9件のアップデート

公式changelogによると、8月だけでも0.27.0(8/21)→0.27.1(8/24)→0.27.2(8/26)→0.27.3(8/26)→0.28.0(8/28)→0.28.1(8/28)→0.28.2(8/29)→0.28.3(8/30)→0.29.0(8/31)と、ほぼ連日に近いペースでバージョンが刻まれている。iPhone向けネイティブCompanionアプリのTestFlightベータ公開は8月22日で、0.28.0でファイル・ブラウザ・iOSシミュレータまで扱えるフルの相棒アプリに拡張されたとされている。

導入はbrew install --cask mcclowes/saggar/saggarのワンライナーで完結する。起動する各シェルにはSAGGAR=1TERM_PROGRAM=saggar・セッションごとのSAGGAR_SESSIONという3つの環境変数が自動的に設定され、プロンプトやツール側がSaggar上で動いているかを判定できる仕組みになっている。claudecodexなど主要なコーディングエージェントCLIは自動認識される一方、オプトインの「agent handshake」というフックを有効にすると、状態判定の精度が上がり、Claude Codeについては正確なレジューム(resume)ができるようになる、とGetting Startedページは説明している。

動作条件

公式サイトには「Mac only. Requires macOS 26 Tahoe or later on Apple silicon.」と明記されている。Intel Macや旧OSへの対応はサイト上では確認できなかった。導入はHomebrewまたは直接ダウンロード、あるいはQRコード的な「Send to my Mac」という導線が用意されており、アカウント登録なしで使い始められる、との説明もある。

Saggarは同じ開発元(Marginal Utility)の別プロダクト「Kiln」のコンパニオンという位置づけで、ペアリング自体はブラウザ側で完結し、制御対象はすべてMac上にある、とフッターに説明されている。

macOS 26 Tahoe環境が手元になく動作検証はしていない

本記事はSaggar公式サイトのトップページ・Docsのセキュリティモデルページ・Getting Startedページ・compare比較ページ・changelogページを、いずれもcurlで取得した内容にもとづく。macOS 26 Tahoeという要件を満たす環境が手元になく、実際にインストールして複数セッションを横断管理する挙動やCompanionアプリでのペアリング、E2E暗号化やKeychain保存が実装通りに動作するかを検証したわけではない。compare比較表はSaggar自身が公開しているものであり、cmux・herdr・Warp・tmux・Claude Code側の言い分や、第三者による中立的な検証は確認していない。開発元「Marginal Utility」の詳しい素性(企業規模、Kilnとの資本関係など)についても、公式サイト以上の裏取りはできていない。価格情報(無料版と「Founder's Edition」という有料版の違いなど)は比較ページに断片的な言及があったが、料金ページ自体は本記事のために開いていないため、具体的な金額はこの記事では触れていない。

複数エージェントの「対応待ち」を可視化する切り口は未紹介

Zenn・Qiitaともに言及はゼロだった。tmuxやWezTermのセッション管理を扱う記事は日本語圏にも多いが、「複数のコーディングエージェントのうちどれが自分を待っているか」を可視化するという切り口はまだ紹介されていない。

関連記事

シェア: ポスト はてブ

出典・参照資料

AIニュースの解説を動画でも

YouTubeでは注目ニュースの背景を解説し、Xでは新着記事をお知らせしています。

コメント

まだコメントはありません。最初のコメントを書いてみませんか?

AIについて聞きたいことはありますか?

質問箱で無料で受け付けています。回答は公開され、他の方の参考にもなります。

質問箱を見る →

新しい記事をメールで受け取る

AIの新しい発表を、出典付きで整理して届けます。

関連記事

AIエージェントを長時間放置する前に確認する6つのこと──Claude Codeの公式ドキュメントから逆算するチェックリストの記事画像
活用09.02読了14

AIエージェントを長時間放置する前に確認する6つのこと──Claude Codeの公式ドキュメントから逆算するチェックリスト

出典 ─ Keep Claude working to
AGENTS.mdとCLAUDE.mdを両方置くとどちらが勝つか──公式ドキュメントの答えは「そもそも読まれない」だったの記事画像
活用08.27読了17

AGENTS.mdとCLAUDE.mdを両方置くとどちらが勝つか──公式ドキュメントの答えは「そもそも読まれない」だった

出典 ─ Claude があなたのプロジェクトを記憶す
CLAUDE.mdに何を書くと守られ、何を書いても守られないのか──公式仕様と、134行の運用ログで書き分けるの記事画像
活用07.11読了18

CLAUDE.mdに何を書くと守られ、何を書いても守られないのか──公式仕様と、134行の運用ログで書き分ける

出典 ─ Claude Code Docs(日本語)
1つのACPエージェントの中にClaude・Codex・Grokが同居する──『艦隊型』オーケストレータClaw Orchestratorの記事画像
検証09.03読了13

1つのACPエージェントの中にClaude・Codex・Grokが同居する──『艦隊型』オーケストレータClaw Orchestrator

出典 ─ Enderfga/claw-orchestr
Docker SandboxesとYOLOモード──「危険な権限」ごとエージェントを隔離するという発想の記事画像
検証09.03読了13

Docker SandboxesとYOLOモード──「危険な権限」ごとエージェントを隔離するという発想

出典 ─ Docker Sandboxes | San
Claude Code・Codex・Hermesを1コンテナにまとめる「HarnessRouter」──自前サーバーで動かす統一プロトコルの記事画像
検証09.03読了14

Claude Code・Codex・Hermesを1コンテナにまとめる「HarnessRouter」──自前サーバーで動かす統一プロトコル

出典 ─ harnessrouter/harnessr
81,481スターと11,203スター──MiniMax公式より大きい「個人製Agent Skills」を2つ確認するの記事画像
検証09.03読了13

81,481スターと11,203スター──MiniMax公式より大きい「個人製Agent Skills」を2つ確認する

出典 ─ GitHub: Leonxlnx/taste
ACP対応エージェントだけを集めた「レジストリ」──認証対応の39件をJSON1本で配布する仕組みの記事画像
検証09.02読了14

ACP対応エージェントだけを集めた「レジストリ」──認証対応の39件をJSON1本で配布する仕組み

出典 ─ ACP Registry(Agent Cli