4.4.0 — セルごとにペインを覚え、Canvas がファイルを自分で開く

2026-08-04 リリース時点の 4.4.0 のスナップショットです。 アプリが進むにつれて古くなりますが、 それは想定どおりです。常に最新に保たれるリファレンスは、各節からリンクしている生きたガイドを 参照してください。

npx mulmoterminal@latest

このリリースはほとんど設定が要りません。 ペインも Canvas ボタンもコネクタも速度も、上げれば そのまま効きます。手を動かす必要があるのは 2 つだけです。work comment は オプトイン(既定でオフ)で、ヘッダーのアイコンは場所が変わったので、 普段から使っていた方はそこだけ読んでください。


右ペインをセルごとに覚えるようになった

これまで右ペインはグリッド全体で 1 つの状態でした。あるターミナルで Canvas を開くと、次に拡大 したセルでも開いていて、そこで閉じると最初のセルに戻ったときにも閉じている、という挙動です。

これからはセルごとに答えます。

設定は不要です。 上げてから拡大を渡り歩くと、各ターミナルがそのセルで開いていたペインを 出します(files / canvas / tools / 何も無し)。

  • 一度もペインを求めていないセルは、何も開かない状態で現れます。 閉じたことも 1 つの答えなので、 閉じたセルは閉じたままです。
  • タイル表示のセルでもペインのボタンを押せます(拡大する前に)。Canvas は拡大していないと実際 には開けないので、押したことが記録され、そのセルを拡大した時点で開きます。
  • リロード後は「セッション単位」で復元します(位置ではありません)。直近 40 件まで、古いものから 落とします。
  • ペインの幅と全幅表示は従来どおり共通です。セルごとになったのは「どのペインか」だけです。

入ったことの確かめ方。 1 つのセルを拡大して Canvas を開き、畳んでから別のセルを拡大します。 4.4.0 より前はそこでも Canvas が開いていました。今度は開きません。

参照: 生きたガイドの基本編


エージェントに頼まずにファイルを Canvas で開く

Canvas はエージェントのツール結果を描く場所なので、すでにディスクにあるドキュメントを見るのにも 毎回エージェントに「見せて」と頼む必要がありました。

Files ペインのツールバーに Canvas ボタンが付きました。

  1. セルを拡大して Files ペインを開く
  2. 開けるファイルを選ぶ(.md のドキュメント、.html のページ、MulmoScript のストーリー)
  3. Canvas を押す

ボタンは開けるファイルを選んだときだけ出るので、当てずっぽうに押す必要はありません。開くのは 本物の Canvas カードです。保存され、リロードしても戻り、あとで同じファイルをエージェントが提示 したらそのカードと畳まれます。

MulmoScript のストーリーだけ条件が 1 つあります。 ストーリーはワークスペースの artifacts/stories/ に置かれている必要があります。プロジェクトのディレクトリにも同名の artifacts/stories/ がありうるので明記しますが、そちらは対象ではありません。ストーリーを描く ツールがワークスペース基準でしかファイルを指せず、その外のストーリーを指す方法を持たないためです。 ドキュメントと HTML にこの制限はなく、たどり着ける場所ならどこでも開けます。

入ったことの確かめ方。 適当なセルで Files ペインを開き、.md ファイルをクリックします。 ツールバーに Canvas ボタンが現れ、押すとドキュメントが描画されます。PDF 書き出しと Edit Markdown Source も、エージェントが描いたカードと同じように動きます。

参照: 生きたガイドの基本編機能


セルヘッダーのパスがメニューになり、アイコンが 6 つそこへ入った

習慣が変わるのはここだけなので、30 秒だけ読んでください。

パスが row 1 から row 2 に移り、ドロップダウンになりました( が付いています)。クリックすると:

セルヘッダーのパス「~/ss/llm/mulmoterminal」と、開いたメニュー: ファイルマネージャで開く / アプリ内でファイルを見る / ここで新しいターミナル、区切り線の下に Repository / Issues / Pull requests

とくに強調したいのは GitHub のメニューです。無くなったのではなく、ここに移動しました。 以前は GitHub アイコンが専用のメニューを開き、その中身がまさにこの 3 つでした。区切り線の下にそのまま 残っています — Repository / Issues / Pull requests。行き先も、出る条件(そのディレクトリの remote が GitHub に解決したときだけ)も従来と同じです。あのアイコンを探して「機能ごと無くなった」と 思った方は、ここを見てください。

残る 3 つは、これまで常設アイコンだったものです。ファイルマネージャで開く(従来のパスクリックと まったく同じ動作なので先頭)、アプリ内でファイルを見るここで新しいターミナル

というわけで、既定のヘッダーから 4 つのボタン(reveal / files / terminal / gh)と GitHub アイコンを外しました。どれも「このディレクトリに対して何かする」で、それはパス自身が表していることです。 とくに revealパスのクリックと完全に同一動作でした。

buttons を自分で設定している方には影響がありません — もともと既定セットを使っていないためです。 設定としては何も変わっていません。自分で定義すれば従来どおりボタンとして動きます(パスメニューは 固定なので、その場合は両方に出ます)。

buttons を書くと既定セット全体を置き換える(マージではない)点に注意してください。pick-filepr を残したい場合は、それらも並べます:

{
  "buttons": [
    { "id": "reveal",   "icon": "folder",      "label": "フォルダを開く",     "run": "open", "open": { "reveal": "${dir}" } },
    { "id": "files",    "icon": "folder_open", "label": "ファイルを見る",     "run": "open", "open": { "files": "${dir}" } },
    { "id": "terminal", "icon": "terminal",    "label": "ここで新規ターミナル", "run": "open", "open": { "terminal": "${dir}" } },
    { "id": "gh",       "icon": "public",      "label": "GitHub で開く",      "run": "open", "open": { "url": "https://github.com/${repo}" }, "when": "repo != " },
    { "id": "pick-file","icon": "attach_file", "label": "ファイルパスを挿入",  "run": "open", "open": { "pickFile": true } },
    { "id": "pr",       "icon": "merge",       "label": "このブランチの PR",   "run": "open", "when": "isGitRepo", "open": { "pr": true } }
  ]
}

2 つは意図して残しました。pick-file はプロンプトへの入力操作であって場所への移動ではないため、 pr は PR が無いときは自動で隠れるうえ、あるときはワンクリックの価値が大きいためです。

参照: 生きたガイドの設定基本編


ワークスペースと単一ビューで claude.ai のコネクタが使えるようになった

claude.ai のアカウントで Gmail・カレンダー・Drive・Slack・Notion などを認可していても、あるいは ~/.claude.json に自分の MCP サーバを書いていても、ディレクトリに .mcp.json を置いていても、 ワークスペースのセルと単一ビューからは見えていませんでした。いちばん必要になるはずの 2 種類の セッションだけが、です。他のディレクトリのセルからは全部見えていました。

設定は不要です。 上げれば使えます。

入ったことの確かめ方。 ワークスペースのセルでセッションを始め、コネクタが要ることを頼みます (カレンダーを読む、メールを検索する等)。4.4.0 より前はそのツール自体が存在しませんでした。なお claude mcp listこの確認には使えません(今も使えません)。「Connected」と出るのは CLI が自分で ヘルスチェックした結果であって、動いているセッションから何が見えるかの報告ではないためです。

代償も書いておきます。 MCP サーバをいくつも設定している場合、ワークスペースのセルと単一ビューは 起動が遅くなります(読み込むようになったので)。実測では最初のウィンドウまで、無しで約 8.0 秒、 未認証のサーバ 1 つで 9〜15 秒。同じワークスペースを扱う MulmoClaude が既に払っているのと同じ トレードオフです。

参照: 生きたガイドの設定


issue に着手を伝える — 書けなかったときは理由が出る

これはオプトインで、既定はオフです。 ~/.mulmoterminal/config.json で有効にします:

{ "issueWorkComments": true }

有効にすると、issue から作業を始めたときにコメントを 1 つだけ投稿し、作業が進むたびにその同じ コメントを編集します。以前は「着手」と「マージ」で別々のコメントを投稿し、その間は無言でした。

Merged in #1240. Work done in `1234-fix-login`.

- started — 2026-08-04 14:20 UTC
- PR #1240 — 2026-08-04 15:05 UTC
- merged in #1240 — 2026-08-04 16:40 UTC

posted by MulmoTerminal

マイルストーンは 3 つだけ(着手 / PR 作成 / マージ)。CI の結果は意図的に入れていません — PR の ほうに出ているうえ、揺れるためです。編集では通知が飛びません(これも意図的です)。

書けなかったときは、理由が出るようになりました。 これまでは、書き込み権限の無い gh でログイン していると何も起きないまま永久に沈黙していて、設定をオフにしているのと区別が付きませんでした。 今はセルのヘッダーに issue not updated — … という消せる通知が出て、原因(gh が無い / 未認証 / 権限が無い)を名指しします。作業そのものは従来どおり影響を受けません — コメントは飛ばされ、 次のマイルストーンで再試行します。

入ったことの確かめ方。 設定をオンにして issue から作業を始め、その issue の PR を作ります。 2 つ目のコメントが現れるのではなく、最初のコメントに PR #… の行が増えます。

参照: 生きたガイドの GitHub 連携設定


タイル表示のグリッドでも、描かれたものが自分から出てくる

エージェントが presentDocumentpresentChart を呼んだとき、その描画はそれ自体が答えです。 これまでタイル表示のグリッドでは、その答えはチップの数字にしか現れませんでした。Canvas ペインは 拡大されたセルの脇にしか存在しないためです。

これからは、描いたセルが自分で拡大して Canvas を開きます。操作は不要です。

  • 全画面のオーバーレイが出ている間は起きません。 別のものを読んでいる最中であって、戻ってきた ときに勝手に組み替えられたグリッドを見せられるほうが困るためです。
  • 作業中のセルを邪魔しません。 別のセルを拡大して作業している間に背後のセルが描いた場合は、 従来どおりチップだけです。

ターミナルが 1 つだけのグリッドも拡大できるようになりました(以前は拒否されていました)。この 拒否は、1 ターミナルのグリッドで Canvas / Tools / Files の各ペインを完全に封じてもいました (これらのペインは拡大された行にしか存在しないため)。チップを押しても何も起きず、描画には行き場が 無く、しかもどちらにもエラーが出ない、という状態でした。

参照: 生きたガイドの基本編


全体的に速くなった。そしてディスクに新しいディレクトリができる

transcript をリクエストのたびに全部読む箇所が 5 つありました。大きなプロジェクトではそれが数秒の イベントループ停止になり、その間アプリ内の全ターミナルが固まります。これらが増分フォールドを 再開する形になり、さらにその結果をディスクに残すので、再起動しても 2 つ目のアプリを開いても 払い直しません。

対象 before after
セッション一覧(2.1 GB のプロジェクト) 8,700 ms 0〜1 ms
セッション要約・1 ターン追記後(508 MB) 2,154 ms 3 ms
/api/cost(1.1 GB のプロジェクト) 2,449 ms 1 ms
timeline オーバーレイ(508 MB) 2,247 ms 0 ms
decision scan・1 ターン追記後(484 MB) 2,164 ms 1.3 ms

設定は不要です。 知っておくとよいことが 1 つだけあります:

ディスクに増えるもの: ~/.mulmoterminal/transcript-index/ に畳み込みの結果が入ります。 transcript 1 本あたり数 KB の JSON で、10 MB を超える transcript のぶんだけです。手元では 大きなプロジェクト 2 つで 24 ファイル / 96 KB でした。消しても問題ありません(必要になれば 作り直します)。~/.claude/projects には何も書きません。あそこは Claude Code の領分です。

入ったことの確かめ方。 セッション一覧に数秒かかっていたプロジェクトを開きます。初回はまだ実際の 仕事をしますが、2 回目は — そして再起動後の初回も — ほぼ一瞬です。

参照: 生きたガイドの機能


そのほかの修正

  • 空セルのランチャーでディレクトリを変えたとき、前のディレクトリの resume 履歴・worktree・script chips が残ってクリックできてしまう問題を修正。実在するセッションなので、押すとそのとおりの セッションが開いていました(表示中のディレクトリとは無関係のものが)。今はすぐに空になり、 loading の 1 行が理由を説明します。
  • バックグラウンドタスクが終わったとき、セルのタスク行がハーネスの <task-notification> XML に 置き換わり、AI タイトルまでそこから生成される問題を修正。
  • ワークスペースで始めたセッションのバッジが、そのフォルダの設定名ではなく WORKSPACE(ランチャー のチップと同じ役割名)になりました。
  • 壊れた索引ファイルでセッションが一覧から消えたまま戻らなくなる問題を修正。
  • Windows の daily CI が green に戻りました。

詳細はすべて変更履歴にあります。


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