4.8.5 — Windows のシェル、tmux 3.7、Google サインイン
4.8.5(2026-08-15 リリース)時点のスナップショットです。 アプリが進めば内容は古くなります。 それは想定どおりで、常に最新なのは各節からリンクしている本編のガイドです。
npx mulmoterminal@latest
設定はほぼ要りません。 ただし tmux の件を踏んでいる場合、更新しただけでは直りません。 その節に、打つべきコマンドを 1 つ書いています。
この版では共有アプリのプレビューと、会議室テンプレートの枠の補充のやり方も変わりました。 その 2 つはまだここに書いていません — 画面で見えるものなのでスクリーンショット込みで別ページに します(#1733)。
Windows で、Shell セルが起動した瞬間に落ちていた
これまで。 Windows で Agent Picker の Shell を選ぶと即座に失敗し、セルが disconnected になって [session ended — exit 1] が出ていました。コンソールにはこれだけです。
C:\Program : 用語 'C:\Program' は、コマンドレット、関数、スクリプト ファイル、
または操作可能なプログラムの名前として認識されません。
同じウィンドウの Claude / Codex セルは正常に動くので、パスの問題ではなく Shell という選択肢の 問題に見えていました。
なぜ起きていたか。 $SHELL は実行ファイルのパスで、Git for Windows が入っていると C:\Program Files\Git\usr\bin\bash.exe になります。この値が PowerShell にコマンド文字列 として渡っていました。PowerShell はコマンド文字列を解析するので、最初の空白で切れて C:\Program というプログラムを探しに行っていた、という話です。
引用符を付けても足りません。ここは似たものを作るときに知っておく価値があります。PowerShell では引用符付きのパスはただの文字列式で、パスが表示されるだけで何も起動しません。シェルの無い 端末が開き、どこにもエラーが出ない。今回はパーサーを満たすのではなく、取り除くほうを選びました。 MulmoTerminal が選んだシェルは、あいだにシェルを挟まずプログラムとして端末に渡します。
ランチャーチップは別で、意図して変えていません。あちらはあなたが書いたコマンドラインで、 パイプや展開してほしい $VAR が入るので、今までどおりシェルを通ります。
直ったことの確かめ方。 セルを開いて Shell を選び、再生を押す。プロンプトが出れば直っています。 $SHELL を設定していない場合は ComSpec(多くは cmd.exe)が使われます。以前のフォールバックは Windows には存在しないパスを指していました。
関連: エージェント。
tmux 3.7 で、worktree を消したあと全ての新規セッションが落ちる
この節だけは、こちらから打っていただくコマンドがあります。
これまで。 tmux 3.7 では、git worktree を削除すると tmux サーバーがそのディレクトリを 握ったまま残ることがあります。そうなるとそのマシンで新しく作るセッションが全て起動直後に落ち、 既に開いているセッションだけは動き続けます。MulmoTerminal を再起動しても直りません。ログに残るのは これだけで、どちらの行も原因を指しません。
[pty] claude exited code=0 signal=0 after 48ms
Unhandled pty write error [Error: EIO: i/o error, write]
code=0 は正常終了に見えますが、エージェントの終了コードではありません。tmux クライアントの ものです。pane のプログラムがどうなろうと、そこは 0 になります。
なぜ起きていたか。 tmux 3.7 は、新しいセッションを作るたびにサーバーの作業ディレクトリを クライアント側に移し、元に戻しません。握ったまま残ったディレクトリが削除されると、tmux は新しい pane に「どこで始めるか」を伝える処理ごと飛ばすので、pane は消えたパスで起動します。起動時に OS へ「今どこにいるか」を尋ねるプログラム(claude のバイナリがそうです)は、そこで即座に落ちます。
tmux 3.6 以前にはこの挙動はありません。 最近から起きるようになった場合、brew upgrade で 3.7 に上がったのが原因である可能性が高いです。
今回から。 MulmoTerminal は tmux クライアントを、自分では絶対に消さないディレクトリから 起動します。サーバーが消えるディレクトリを握ることがなくなります。セルは今までどおり、指定した 場所で開きます。
いま起きている方は、更新しただけでは直りません。 壊れているのは MulmoTerminal より長生きする tmux サーバー側なので、更新は再発を止めるだけです。既に詰まっているサーバーは、一度落としてください。
tmux -L mulmoterminal kill-server
そのサーバー上で動いている全セッションが閉じます。 失っても構わないタイミングで実行して、 そのあと MulmoTerminal を起動し直してください。
詰まっているかどうかは、サーバーが握っているディレクトリを見れば分かります。
lsof -a -p "$(tmux -L mulmoterminal display -p '#{pid}')" -d cwd -Fn
もう存在しないパスが出てきたら、それが原因です。
上流にも報告済みです(tmux/tmux#5473)。
RemoteHost の Google サインインが、通ったのに忘れられていた
これまで。 RemoteHost の Connect を押して Google のサインインを完了しても、パネルが Offline のままになることがありました。通信を見るとサインイン自体は成功していて、それでも何も 保存されていない、という状態です。
なぜ起きていたか。 MulmoTerminal 側のコードではなく、同梱していた Firebase SDK の回帰でした。 そのバージョンは「ページが背面にある」を「ページが閉じようとしている」と同じ扱いにします。そして サインインのポップアップは、元のページを背面に回します — 資格情報を書き込むのはまさにその タイミングです。書き込みが失敗して資格情報が捨てられ、成功していたサインインが失敗として返っていました。
今回から。 その変更が入る前のバージョンに固定しました。上流の修正は存在しますがまだ公開されて いないため、現時点では固定するしかありません。
直ったことの確かめ方。 Connect を押して Google のサインインを完了する。パネルが Online になり、リロードしてもそのままなら直っています。RemoteHost の設定手順は スマホから使う にあります。
Chrome でだけまだ失敗する場合は、ポップアップがそもそも開かないという別の報告 (#1661)があります。そちらは今回の 対象外です。chrome://settings/content/popups の許可リストに http://localhost:34567 を追加すると 通る可能性があるので、試した結果を issue に書いていただけると助かります。
off にした Skill がメニューに出たままだった
これまで。 skillOverrides で Skill を "off" にしても何も隠れず、Skill メニューにも GET /api/skills にも出ていました。
今回から。 off は両方で off になります。
直ったことの確かめ方。 1 つ off にして Skill メニューを開き直す。消えていれば直っています。 skillOverrides が何で、どこに書くかは 設定 にあります。
直ったものの一覧
| 直したもの | issue |
|---|---|
| Windows で Shell セルが起動直後に落ちる | #1717 |
| Windows でシェルをあいだにシェルを挟まず起動する | #1720 |
| tmux 3.7 で worktree 削除後に全新規セッションが落ちる | #1725 |
| RemoteHost の Google サインインが資格情報を失う | #1731 |
| off にした Skill がメニューに出たまま | #1698 |
共有アプリのプレビューと枠の補充の変更も入っていますが、どちらもまだ書けていません (#1733)。
前の版で直ったものは 4.8.4 の手引き にあります。