4.22.0 — エージェントが2つ増えました。そして「終わった」を教えてくれるのはどれか
4.22.0 時点(2026-09-14 リリース)のスナップショットです。 アプリが進むにつれて古くなりますが、 それは織り込み済みで、生きた参照先は各節がリンクしているガイドです。
セルで動く CLI が2つ増えました — GitHub Copilot CLI と Cursor CLI。これで7つです。ここで 効いてくる問いは「動くかどうか」ではなく、「終わったときに教えてくれるかどうか」 です。答えが エージェントごとに違い、そこがグリッドの存在理由だからです。
7つのうち、どれが「終わった」を教えてくれるか
| エージェント | 処理中(青) | 完了(緑) | 入力待ち(アンバー) |
|---|---|---|---|
| Claude Code | ○ | ○ | ○ |
| Cursor CLI (新) | ○ | ○ | × |
| Codex | ○ | × | × |
| GitHub Copilot CLI (新) | ○ | × | × |
| Antigravity / Grok / Muse | × | × | × |
Cursor は Claude に次いで、自分で緑になる2つ目のエージェントです。 見ていない cursor のセルは、 ターンが終わると注目マークが付き、音が鳴ります。
「入力待ち」を出せるのは Claude だけです。 他のエージェントでは、承認プロンプトが無音のまま セルに表示されます。これはこのアプリの手抜きではありません — cursor も copilot も「ブロックされた」 ように見えるイベントを持っていますが、承認が要るかどうかに関係なく毎回発火するので、使うと 全てのツール呼び出しが「あなたを待っています」になります。それは黙っているより悪い、と判断しました。 能力ごとの詳細は capability matrix にあります。
使い始める
設定は要りません。 使いたい CLI を入れてサーバーを再起動すれば、空セル上部の Agent Picker に出ます。コマンドが無いエージェントは、そのセルが起動しないだけで他には影響しません。
# GitHub Copilot CLI
npm i -g @github/copilot # そのあと: copilot (一度サインイン)
# Cursor CLI
curl https://cursor.com/install -fsS | bash # そのあと: cursor-agent login
COPILOT_BIN / CURSOR_BIN で別のバイナリに差し替えられます(バージョン固定、ラッパー、PATH の 外にあるパスなど)。COPILOT_MODEL / CURSOR_MODEL は --model に渡ります。
Cursor のモデル名はアカウントごとに違い、間違えると致命的です。
cursor-agentはフォール バックせず、一覧を表示して終了します — つまりアカウントが持っていないモデルを設定したセルは 起動しません。CURSOR_MODELを設定する前にcursor-agent --list-modelsを実行してください。
動いたかどうかの確かめ方: セルを開いてエージェントを選び、何か送ってください。処理中はドットが 青になります。cursor なら返答が返った時点で緑になるはずです — 別のセルに切り替えてから 試してください。見ているセルは注目対象になりません。
選び方と入れ方の参照先は どの coding agent を使うか、ピッカー自体は 基本操作 にあります。
まだできないこと
- Cursor は GUI ツールを受け取りません。 cursor は自前の
.cursor/mcp.jsonを読みますが、 MulmoTerminal はそのファイルを書きません。なので起動フォームは4つのトグルの代わりに「まだ何も 入らない」という一行を出します。あなたが自分で設定したものだけがそのセルに届きます (#2066)。 - Copilot はトークン/コンテキストのバッジと
$コストがありません。 copilot 自身は使用量を 記録していますが、このビルドはまだ読んでいません。 - どちらも下書き入力には未対応です — ヘッダーの下書き欄に打って Enter、は今のところ Claude 専用です。
全員に関係する変更が1つ
新しい2つは、フックを「マシン全体で共有する1つのファイル」に登録します — <COPILOT_HOME>/hooks/mulmoterminal.json と ~/.cursor/hooks.json です。どちらの CLI にも Claude の --settings(セッションごと)に相当するものが無いためです。結果として3つ、いずれも通常の動作です:
- あなたが素のターミナルで起動した copilot / cursor のセッションも MulmoTerminal に post します。 こちらが知らない id なので何も起きません。コストはフックごとに1つ、短命で無言のプロセスだけです。
- すでに自分の
~/.cursor/hooks.jsonを置いている場合、MulmoTerminal はそれに触れません(触れな かったことをログに残します)。cursor は固定パスを1つ読むだけで、自分が書いていないファイルに 混ぜ込むことはしないためです。その場合そのセルは状態表示なしで動きます。ドットが欲しければ、 ご自身のフックを別の場所へ移してください。 - 別ポートで動く2つ目の MulmoTerminal とはそのファイルを共有し、後から起動した方が勝ちます。 負けた側のそのエージェントのセルは、次に起動するまで状態表示なしになります。起きたらログに出ます。
フックファイルは、それを書いたサーバーより長生きします。そのため cursor の poster は、送信する前に 「そのポートを生きた MulmoTerminal が持っているか」を確認します。クラッシュで残ったファイルは どこにも post しません。
4.22.0 のその他
publishShapeScriptが ShapeScript モデルを公開ギャラリーに投稿し、スクリプトを Storage オブジェクトとしてアップロードし、どの AI モデルが書いたかを記録し、id(ギャラリー URL の末尾) で既存の投稿をその場で更新できるようになりました(2つ目のコピーを作りません)。presentShapeScriptの結果に Copy ボタンが付き、ソースをクリップボードに入れられます。- capability matrix が新設されました — 各能力が候補 CLI に何を要求するか、7つがそれぞれどう答えるか、新しい CLI に 対して回すプローブ一覧。今回の2つはその一覧を実際に回して追加したもので、どちらもベンダーの ドキュメントは実機に当たると外れました。
このページにスクリーンショットはありません: 見た目の変化は Agent Picker の行が1つ増えることと、 起動フォームの1行が置き換わることで、今回のリリースでは撮影していません。ピッカーの画面は 基本操作 にあります。