MulmoTerminal のサイドペインから選択肢に答える(`questionPaneEnabled`)— 既定で無効な理由

MulmoTerminal のサイドペインから選択肢に答える(`questionPaneEnabled`)— 既定で無効な理由

課題:選択肢のたびにマウスからキーボードへ

ターミナルで動く Claude Code が選択肢を出して止まった。

この2つのどちらで進めますか?
❯ 1. 既存の関数を直す
  2. 新しい関数を作って差し替える

矢印キーで選んで Enter。1 体だけなら何でもない。

9 体並列で動かしていると、これが一日に数十回起きる。マスを拡大するたびに、マウスからキーボードへ持ち替える。拡大したマスの横にボタンのパネルが出て、クリックで答えられたら、と思う。

パネルの機能自体は MulmoTerminal にある。questionPaneEnabled という設定で、Claude の AskUserQuestion ダイアログの選択肢が拡大セルの横にボタンとして出る。

ただし既定では無効。その理由が、この道具の考え方をよく表している。

なぜ既定で無効なのか

このパネルは「表示するだけ」のものではない。ボタンを押すと、そのダイアログに対して矢印キーと Enter を代わりにターミナルへ打鍵する。

キーボードを操作するパネルが、頼まない相手の前に既定で現れるべきではない。opt-in にしている理由はこれだ。

スマホでは逆に、常に有効

同じ機能がスマホでは常に有効なのは、打鍵の先に誰も座っていないからだ。

使っている端末 パネルの既定 理由
パソコン(拡大セルの横) OFF(opt-in) 自分のキーボードと競合しうる
スマホ(リモートビュー) ON(常時) 画面の前に競合する相手がいない

パソコンで有効にすると、スマホと同じ振る舞いをパソコンにも持ち込むことになる。

MulmoTerminal の解決:1 行で有効化

{ "questionPaneEnabled": true }

~/.mulmoterminal/config.json に書くか、Settings → Terminal keys のチェックボックスで切り替える。

反映は軽い。他の設定と違って、サーバはこの値を質問が来るたびにディスクから読む。だから手で書き換えても再起動もタブの再読み込みも要らない。次に AI が質問した時点から効く。

詳細・gotcha

ターミナルのダイアログは消えない、置き換えない

有効にしても、ターミナル側に出ている選択肢は消えないし置き換わらない。パネルは同じ質問に答えるもう一つの経路で、先に使ったほうが勝つ。キーボード派の人はパネルの存在に気づかないまま使える。

置き換えてしまうと「パネルを閉じたら答える手段が消えた」が起きる。そうしていないのはそのため。

再読み込みしても質問は失われない

ここは実用上いちばん効く挙動。

パネルの規則が「質問が来たら開く」ではなく、**「拡大しているセルは、そのセッションが止まっている質問を出す」**になっている。

この言い換えで何が変わるか:

イベントが来たら開く作りだと、そのイベントを受け取っていないブラウザは何も知らない。再読み込みで消える。タブを間違えて閉じたときに AI が止まっている質問を見失うのは怖い。状態として保持しているので、いつ見に行っても正しいものが出る。

閉じ方が 2 通り、記憶されるのは片方だけ

どうやって消えたか 記憶される?
質問自体が終わった(ターミナルで答えた・パネルで答えた・Esc で取り消した) いいえ
ペイン右上の ✕(right_panel_close)で閉じた はい(「ターミナルで答える」の意思表示として)

✕ で閉じると「そのダイアログについては記憶する」ので、セルに戻っても開き直さない。✕ を押したのに戻るたびに開き直すと「消したのに出てくる」になるので、そこを避けている。

どちらの場合も、次の質問は普通に開く。記憶されるのはそのダイアログ 1 つについてだけ。

無効のとき、質問は隠れているのではなく届いていない

OFF にすると、質問文自体がブラウザに送られない。パネルは「隠れている」のではなく「出すものが無い」状態になる。無効のまま使っている人には、ブラウザに質問文が流れることはない。

例外:「閉じた」の通知は OFF でも送られる

意図的な例外が 1 つある。質問の途中でスイッチを切ると、既にボタンを出しているパネルが「ダイアログはもう終わった」と知る手段を失う。放置するとボタンを押した瞬間に、下の次のプロンプトへ矢印キーと Enter が入ってしまう。

これを避けるため、「閉じた」の通知だけは OFF でも送っている。提示されなかった質問についての「閉じた」は何もせず、質問文も含まないので、OFF のままの人にはコストが無い。

Claude のセッションだけ

選択肢は Claude Code のツールフックから届くので、Codex のマスや素のシェルのマスでは開かない。「このコマンドを実行していいですか」のような Claude Code 自身の確認ダイアログは AskUserQuestion と種類が違うので、これも対象外。

使ってみる

MulmoTerminal の立ち上げ方は MulmoTerminal 完全ガイド から。既に動いていれば、設定画面でそのまま試せる。

動作確認の最小シナリオ:

  1. Settings → Terminal keys を開き、questionPaneEnabled のチェックを ON
  2. グリッドで Claude Code のセッションを 1 つ起動し、拡大する
  3. AI に選択肢を出させる指示を入れる(たとえば「2 つの実装方法を提案してどちらで進めるか聞いて」)
  4. 選択肢が出た時点で、拡大セルの横にボタンのパネルが開けば成功

やめるときは、チェックを外すか "questionPaneEnabled": false に戻す。すぐ効く。ターミナル側では今までどおり答えられる。

まとめ

関連: MulmoTerminal 公式ガイドの質問ペイン / MulmoTerminal のキーボードショートカット(keymap) / Cursor の代替としての MulmoTerminal

この記事をシェア

関連記事

記事一覧に戻る