4.11.0 — 止め方と、使うポート
4.11.0(2026-08-28 リリース)時点のスナップショットです。 アプリが進めば内容は古くなります。 それは想定どおりで、常に最新なのは各節からリンクしている本編のガイドです。
npx mulmoterminal@latest
このリリースで手を動かす必要があるのは 2 つ。新しい止め方(必要になる前に知っておく価値が あります)と、ポートの挙動(昨日まで通っていた起動を断ることがあります)です。残りは何もせずに 効きます。
動いているサーバを止める
これまで MulmoTerminal を止める方法は、起動したターミナルを見つけて Ctrl+C を押すことだけでした。 npx mulmoterminal@latest はブラウザを開くので、そのターミナルは見ていない方の窓であることが 多く、しかもタブを閉じてもサーバは動き続けます。
方法が 3 つになりました。どれを使うか前もって決める必要はありません。
ブラウザから
Settings → Quit MulmoTerminal(sessions グループの末尾)。npx で起動したときは視線が ブラウザにあるので、たいていこれが一番近い導線です。
Ctrl+C と同じ終了処理が走ります。セッションは強制終了ではなく、きちんと閉じられます。
どのターミナルからでも
npx mulmoterminal@latest stop
グローバルインストールしているなら mulmoterminal stop。起動したターミナルでなくても構いません —— サーバは自分のプロセス id を ~/.mulmoterminal/instances/ に登録しており、stop はそれを読み、 そのプロセスが本当に MulmoTerminal か確認してから signal を送ります。
何も聞かれずに止めたいときは:
mulmoterminal stop --force
残りは mulmoterminal stop --help に載っています。
プロセスを探して
プロセスが自分の名前を名乗るようになりました。今までは、どの経路で起動しても node としか 出ていませんでした:
$ ps aux | grep mulmoterminal
… mulmoterminal :34567
最後の手段として pkill -f mulmoterminal が効きます。複数動いていることがあるので、名前にポートが 入っています。
更新バッジ
npx mulmoterminal@latest で起動している場合、新版があることを知らせるヘッダーのバッジは そもそも出る瞬間がありませんでした。チェックが起動時の 1 回だけで、その瞬間の「動いている版」は registry の latest そのものなので、唯一走る比較は「あなたは最新です」しか返しようがなかったためです。
設定は要りません。3 時間ごとに再チェックするようになったので、何日も動かしっぱなしのサーバでも リリースに気づきます。完全に切りたい場合は従来どおり:
MULMOTERMINAL_NO_UPDATE_CHECK=1 npx mulmoterminal@latest
PORT が効くようになりました —— 人によっては挙動の変化です
PORT はこれまで無視されていました。 PORT=34601 npx mulmoterminal は 34567 で起動し、 しかもポート衝突時のメッセージは「その効かない変数を設定しろ」と言っていました。両方直っています。
PORT=34601 npx mulmoterminal@latest # 34601 で起動するようになった
npx mulmoterminal@latest --port 34601 # --port は今も PORT より優先
別の用途でシェルプロファイルに PORT を export している方は、ここを読んでください。 MulmoTerminal がそのポートを取りに行くようになります。そうなったときは launcher が言います:
[mulmoterminal] Port 3000 comes from the PORT environment variable — that is the port MulmoTerminal is asking for.
Terminals inside cells inherit that PORT too, as in any shell you exported it from.
その回だけ変えたいなら --port、恒久的にはシェルの PORT を外してください。
自分で設定していない PORT がセル内に入ることは無くなりました。 launcher が自分のポートを 全セルの全ターミナルに配っていたので、セル内で起動した dev サーバが PORT=34567 を読んで MulmoTerminal 自身のポートを掴みにいっていました。今は、あなたのシェルが持っていた場合だけ入ります。
tmux persistence を使ったままアップグレードした方へ。 アップグレードを生き延びた tmux サーバは 古い値をグローバル環境に持ち続け、新しいペインに配ります。1 行で消せます:
tmux -L mulmoterminal set-environment -gu PORT以降に作られるペインはきれいになります。既存のペインは閉じるまで保持します。マシンの再起動でも 同じ結果になります。
昨日まで通っていたポートで、起動を断られることがあります
このリリースで一番驚きやすい変化なので、理由まで書いておきます。
以前は、1 つ目が掴んでいるポートで 2 つ目を起動すると ✓ MulmoTerminal is ready と出て ——それはすでに動いている方のサーバを指していました—— そのあとで失敗していました。それを 捕まえるはずの検査が別のアドレスを見ていたので、既定構成では一度も発火していませんでした。
今は、起動前に「この launch が必要とする全アドレス」を確認します:
[mulmoterminal] Port 34567 is already in use.
If that is MulmoTerminal, it is already running at http://localhost:34567
To start a second one anyway: --port <number>
MULMOTERMINAL_HOST を設定している場合、もう 1 つ確認します。 どのアドレスに bind しても、 MulmoTerminal 自身のセッションは 127.0.0.1 経由でサーバに繋ぎ返します —— GUI MCP がその住所を リテラルで書いているので、ブラウザが何を使うかに関係なく hooks と GUI ツールはそこへ行きます。 127.0.0.1:<ポート> を他のプロセスが握っていると、自分のセルから話しかけられないサーバを 起動する代わりに、launch を止めます。
そのポートを空けるか、--port で別の番号を選んでください。
MULMOTERMINAL_HOST を使っている方へ
「サーバが自分のセッションから届くか」に関する修正が 2 つ入っています。
- 個別アドレスを指定してもサーバが自分から切り離されなくなりました。 LAN アドレスを指定すると hooks が毎ツール失敗し、GUI MCP が「still connecting」のままになっていました。指定したアドレスが loopback を serve しない場合、サーバは loopback でも listen するようになりました。
- launcher が表示する URL は、実際に確認したアドレスです。
localhostとは言わなくなりました —— あれは::1と127.0.0.1の両方に解決するので、いま起動したのとは別のプロセスへブラウザを 送ってしまえるからです。既定構成では、これまでhttp://localhost:34567と出ていたところがhttp://127.0.0.1:34567になります。同じサーバを、正確に名指ししているだけです。
非 loopback アドレスに bind したときのセキュリティ警告は変わっていません。このサーバは自前の認証を 持たないので、目を通す価値があります。
その他
いずれも設定は不要です。
- LLM が MulmoScript を書き換えると、開いたままのキャンバスが更新されるようになりました。 今までは開き直しが必要でした。全 beat 種別が編集でき、スクリプト全体を送り直さずに 1 beat だけ 差し替えられます。
- 文書プレビューで TeX 数式が描画されるようになりました。
$…$と$$…$$が MathJax SVG に なります。同じ文書の Marp デッキ側は元からそうだったので、両面がようやく一致します。US$5や$5-$10は数式になりません。 - shared app のテンプレートがそれぞれ本物のスタイルシートを持つようになりました。 生成される ページが灰色の箱ではなく、テンプレートごとに固有の色相で整った状態で届きます。
- プロジェクトボードで、登録が「担当宣言」と取り違えられなくなりました。 登録前に 「これをやります」を押すと、担当したつもりのまま離れてしまう状態でした。登録が済んだら元の行へ 連れ戻し、何が起きなかったかをはっきり言うようになっています。
todo-boardは削除されました ——project-boardが同じことをすべてできます。- Campaign Mode の土台が入りました(まだどこからも呼ばれていません)。タスクの状態機械、 永続記録、パス排他のための claim registry です。アプリの挙動は変わりません。
ここに書いたことの最新版は本編のガイドです。このページは 2026-08-28 時点の スナップショットで、アプリが進んでも更新されません。