2.7.0 で変わったこと

2026-07-29 時点のスナップショットとして書いています。挙動は動きますが、このページは動きません。 最新の内容は各節からリンクしているリファレンスを見てください。


1 つだけ読むなら

上げてください。新機能はすべて既定で有効で、1 つだけ「切りたければ切る」設定があります。

npx mulmoterminal@latest
手に入るもの どこ
セッションに自分で書く 1 行メモ。常時表示 セルヘッダ・サイドバー・スマホ
セルを拡大したときの境界をドラッグできる grid view
Chrome でも、離れた場所からでも、ファイルのドロップが効く 全ターミナル
バックグラウンドのワーカーがチャット履歴を埋めない チャット履歴
リロード後にホイールが効く Claude / Codex セル
直ったもの どこ
2 つ目の MulmoTerminal が、動いている 1 つ目のセッション設定を消す 2 つ目の起動
/clear しても clear 前のサマリーが残る cockpit roster
原因でないのに「codex が入っていないのだろう」と言われる セッション起動

セッションに自分の言葉でメモを付ける

セッションの名前は自動で付きます — AI が付けたタイトル、直近のプロンプト、無ければ id。これは 何が話されたかの答えであって、このセッションは何のためかの答えではありません。

そこを自分で書けるようにしました。

使い方

  1. セルヘッダのテキストの横にある鉛筆を探します。
  2. 押して 1 行入力し、EnterEsc で取消、外をクリックしても保存されます。

これだけです。設定は要りません。

セルヘッダが 2 つ並んでいる。左は ~/work/api-gateway のあとにメモ「do not interrupt - release build」が出ていて鉛筆がアクセント色。右は ~/work/billing のあとにセッション id が出ていて鉛筆は淡色。ヘッダの高さは両方同じ

何が変わるか

  • メモは行を増やすのではなく置き換えます。ヘッダの高さは変わりません。押しのけられた タイトルはツールチップに移ります。
  • 保存はセッション単位でホスト側です。ブラウザではありません。セルを閉じても、サーバを 再起動しても、そのセッションを resume すればメモは戻ります。
  • サイドバーresume ピッカースマホのロスターでも、そのメモがそのセッションの名前に なります。

同じリポジトリで複数のセルを開いていて、どれがどれかは自分しか知らない、というときに効きます — 「止めてはいけないやつ」「CI 待ち」「使い捨て」。

リファレンス: 機能一覧


拡大したセルの境界をドラッグする

grid view でセルを拡大すると、ターミナルとその横の列に分割されます。この境界は固定幅で、 ドラッグもできず、できない変更を覚えることもありませんでした。

これから: ドラッグできます。フォーカスして矢印キーでも動きます。決めた幅は保持されるので、 リロードしても戻りません。

grid view で拡大したセル。左に 3 セッションの roster、右にターミナル、その間の境界がドラッグ中でアクセント色に光っている

設定は要りません。

リファレンス: 基本


ファイルのドロップがどこでも効く

ターミナルにファイルをドロップするとパスが入ります。これはブラウザが実パスを渡してくれるときだけの 話で、Chrome は渡しませんし、別のマシンから繋いでいるときは常に渡されません。今までその 場合はヒントを出して終わりでした。

これからは、パスが取れないときバイトをホストに送って保存し、そのパスを入れます。

  • 実パスが取れるときは今までどおりです。そのまま使い、アップロードはしません。
  • 他に答えようがないときだけ、この経路に落ちます。

ソファからでも、スマホからでも、Chrome でも、スクリーンショットをセッションに落とせます。

リファレンス: 基本


バックグラウンドのワーカーをチャット履歴から分ける

コレクションの定期同期のような、自分で始めていない作業もセッションを起こします。それが自分の 会話と並んで一覧に出ていました。

これからは Background チップの裏に入ります。既定の All には人が始めたチャットだけが出ます。

消すのではなく分けているのは、MulmoTerminal のセッションが会話記録ではなく生きた端末だから です。丸ごと消すと、見る手段も止める手段も無くなります。

リファレンス: 基本


クロージングサマリーの指示を切る

MulmoTerminal が起動するセッションには、返答の最後に短いまとめを書くよう指示が付いていました。 grid を一目で読めるのはこれのおかげですが、アプリはこれを解析していないので、要らない人にとっては ノイズでしかありません。

このリリースで唯一の設定で、UI はありません。 ファイルを直接編集します。

~/.mulmoterminal/config.json:

{
  "appendSystemPrompt": false
}

サーバを再起動してください。ディレクトリ側の .mulmoterminal.json がグローバルより優先します。

{
  "appendSystemPrompt": true
}
  • 既定は ON。 このキーが無い既存の設定は、今までとまったく同じ挙動です。
  • クローン名の行(prWorkdirFooter)とは独立です。両方 off ならフラグ自体を渡しません。
  • 効いたかの確かめ方: セッションを起動して何か小さいことを聞いてください。off なら、答えが 終わったところで返答が終わります。まとめのブロックが付きません。

リファレンス: 設定


2 つの MulmoTerminal が互いのセッションを消さない

2 つ目の MulmoTerminal を起動したことがあるなら、ここだけは読んでください。

起動時に「置き去りの」セッション設定 — 死んだサーバが残したファイル — を掃除していました。この ルールは前の生存期間に対しては正しく、同時に動いているものに対しては誤りです。2 つ目は 1 つ目の 生きたセッションを見られないので、全部を置き去りとみなして消します。発見された現場では、 生きている 8 セッション分の設定が消えました。

直しました。あわせて、2 つ目を起動しようとするとポートに関係なくそう言います。

MulmoTerminal is already running (http://localhost:8080).
  Running more than one is NOT a supported setup: they share ~/.mulmoterminal,
  so they can overwrite each other's session state.
Start another one anyway? [y/N]

今まではこの質問がポートがぶつかったときだけ出ていたので、--port <空きポート> を付けると 2 つ目が黙って立ち上がっていました。問題はポートではなく、共有している ~/.mulmoterminal です。


リロード後にホイールが効く

Claude / Codex のセルで、ホイールでの履歴スクロールと、エージェントが描いた要素のクリックが、 再アタッチのたびに効かなくなっていました — リロード、サイドバーでのセッション切り替え、 別タブ、WebSocket の再接続。

原因は、セッション開始時に 1 回だけ流れる制御シーケンスです。再アタッチしたブラウザが受け取る リプレイには、それが決して含まれません。これからは tmux に現在の状態を尋ねて、リプレイの前に 復元します。

効いたかの確かめ方: Claude のセルでページをリロードして、ホイールで上にスクロールしてください。 スクロールします。


/clear が roster の行も本当に消す

/clear した後も、cockpit roster に clear 前のサマリーと返答が出続けていました。直後はいったん 消えるのに、次のターンが終わると戻ってきます。

/clear でエージェントは新しい会話ログに移りますが、MulmoTerminal は clear の時点で凍結された 古いログを読み続けていました。直しました。


起動できないとき、理由が出る

「codex が入っていないのだろう」は推測でした。本当のエラーは catch して捨てられていたのです。 実測すると、この文言が正しいのは Windows だけで、Mac では未インストールでも緑の [session ended] に なっていました。症状と説明が入れ替わっていたことになります。

これからは spawn の前に、ターミナルが実際に受け取る環境でバイナリを診断し、わかったことを そのまま報告します。サーバログには、tmux が既存セッションに attach したのか、作成したのかも 記録されます。attach する resume はエージェントを一度も起動しないので、これが元の問題の切り分けを 難しくしていた正体でした。


その他

  • : exactOptionalPropertyTypes をプロジェクト全体で有効にしました。{ work: undefined } は もう型検査を通りません — 2.6.0 でスマホの一覧を全滅させたのが、まさにこの形でした。
  • リモートホスト: 再接続のリングと生存プローブを @mulmoclaude/core に移しました(こちらは 298 行削除)。core 側の再試行ウィンドウと歩調がずれており、資格情報が死んだホストが再認証を 促さないまま永久に再起動を繰り返しうる状態でした。
  • Feeds: コレクションの定期 refresh が失敗したとき、記録されずに消えることがなくなりました。
  • CI: Windows の daily ビルドが緑に戻りました。テスト側の移植性バグ 2 件で、製品コードは 正しく動いていました。

全件はチェンジログを 見てください。


This site uses Just the Docs, a documentation theme for Jekyll.