課題:3 週間使うと、再開できる会話が 40 行並ぶ
金曜の夕方、AI に長めの作業を頼んだまま帰ります。月曜の朝、ノートパソコンを開くとその会話がそこにいます。アプリを再起動しても、OS を再起動しても生き残っている。
MulmoTerminal は裏で tmux を使ってターミナルセッションを生かし続けるので、再起動を跨いで会話を再開できます。
便利です。ただし、3 週間後には再開可能なセッション一覧に 40 行並びます。今日の続きを探すために、40 行を上から読むことになります。
既存のやり方とそのコスト
1 行ずつ手で止める
Settings → Sessions that survived a restart のセッション一覧には、各行に stop ボタンがあります。1 行ずつ押せば止まります。
ただし 40 行を 1 行ずつ判断するのは面倒で、「もう使わないと言い切れるか?」の判断を毎回しないといけない。やる気が続きません。
自動片付けを有効にする勇気がない
一覧の横には「何日放置したら片付けるか」という設定があります。既定は 7 日。
ここで手が止まります。7 日前の会話にはまだ用があるかもしれない。消してしまったら、あのとき AI が書いた設計の説明は二度と読めないのか。
自動で何かが消える設定を、中身を知らずに有効にするのは、いちばん不安な種類の操作です。結果、片付けないままセッション数が増え続けます。
MulmoTerminal の解決:消えるのはプロセスとスクロール、会話は残る
先に結論を書きます。
| 消える | 残る | |
|---|---|---|
| 動いていた tmux プロセス | ○ | — |
| ターミナル画面のスクロールバック | ○ | — |
| 会話の transcript(頼んだこと / AI の返答) | — | ○ |
会話そのものは消えません。 エージェントが書き残した transcript は別のファイル(Claude や Codex の管理下)に保存されていて、tmux セッションの寿命とは独立です。片付けたあとでも、同じ行から会話を再開できます。
生き残っているものの正体は「画面とプロセスの入れ物」であって、「会話」ではない。片付けの対象になるのは入れ物のほう。
これが分かれば、自動片付けを有効にする判断材料ができます。
{
"sessionIdleReapDays": 14,
"sessionReapIntervalHours": 24
}
詳細
sessionIdleReapDays:何日放置したら片付けるか
既定 7 日、
0で無効、0〜365
誰も attach しておらず、出力もないターミナルを、何日経ったら片付けるかの日数です。会話は失われません — transcript があれば tmux セッション無しで再開できます。失うのは プロセスとスクロールバック だけです。
対象になる条件が 2 つある
何でも消えるわけではありません。
- 誰も attach していない(いまブラウザで開いているセッションは対象外)
- 出力がない(たったいま何か出力したものは対象外)
Settings → Sessions that survived a restart の対象一覧のすぐ横にこの日数設定があるようになっています。数字だけで決めず、「これが消える」を見ながら決められる作りです。
「設定したのに減らない」の原因
もう 1 つ知っておく価値のある点があります。
掃除が走るのは、既定では起動時だけです。MulmoTerminal を起動したまま 2 週間使う人だと、その 2 週間のあいだ一度も掃除されません。「sessionIdleReapDays を 7 にしたのに減らない」の答えがここです。
稼働中にも掃除するには、sessionReapIntervalHours を書きます。
sessionReapIntervalHours:稼働中に何時間ごとに回し直すか
既定
0(= OFF、起動時のみ)、0〜168
稼働中にスイープを何時間ごとに回し直すかです。再起動しないサーバは、これが 0 のままだと二度と見に行きません。毎日再起動する人は既定 0 で足りますが、起動したままの人はこれを入れないと掃除が走りません。
| あなたの使い方 | 必要な設定 |
|---|---|
| 毎日 MulmoTerminal を再起動する | sessionIdleReapDays だけでいい |
| 起動したまま 2 週間使う | sessionReapIntervalHours も要る |
稼働中のスイープには手心が加わる
稼働中に回すときは、このサーバが pty を掴んでいるセッションは経過日数に関係なく対象外です。
当たり前に見えて、必要な配慮です。稼働中は「今日ずっと開いているが 7 日前に始めた会話」が存在しうるので、日数だけで消すといま使っているものが消えます。
起動時のスイープにはこの区別は要りません。起動した直後は誰も使っていないので。
設定変更の反映タイミング
| 変更先 | いつ効くか |
|---|---|
起動時のスイープ(sessionIdleReapDays の次回反映) |
次の起動から |
稼働中スイープの間隔(sessionReapIntervalHours) |
設定画面で保存すればすぐ稼働中サーバに仕掛け直す |
| 手でファイルを書き換えた | 設定ファイルを読み直すか、再起動 |
稼働中スイープの間隔は「数えるのは前回のスイープから」。何度保存しても次の実行は遅れません。
「いま仕掛かっている値」が設定画面に出る
タイマーの設定は「効いているかどうか」を外から確かめる手段がありません。設定ファイルに書いた値と、サーバがいま実際に仕掛けている値が食い違うことがある(再起動していないとき)。
Settings の該当節に、保存した値といま動いている値の両方が出ます。食い違っていれば、まだ反映されていないと分かります。
完全に無効化もできる
自動で消えるのがどうしても不安なら、sessionIdleReapDays を 0 にして無効化できます。そのうえで、一覧の stop ボタンで 1 つずつ手で止められます。
このときも、止まるのは tmux プロセスとスクロールバックだけで、会話は残ります。「自動に任せる」「日数を長くする」「無効にして手でやる」のどれを選んでも、失うものの中身は同じです。
使ってみる
MulmoTerminal を立ち上げたら、Settings → Sessions that survived a restart を開きます。
- いま生き残っているセッション一覧を見る
- 対象一覧の横の
sessionIdleReapDaysを、自分の使い方に合わせて設定(既定 7 日より長くしたいなら 14 や 30) - 起動したまま使うなら
sessionReapIntervalHoursも設定(24 なら 1 日 1 回稼働中スイープ) - 保存すれば、稼働中スイープはすぐ、起動時スイープは次回起動から効く
ファイルに手で書く場合は ~/.mulmoterminal/config.json に次を足します。
{
"sessionIdleReapDays": 14,
"sessionReapIntervalHours": 24
}
手で書いた場合は「設定ファイルを読み直す」か再起動が必要です。保存後、Settings の該当節に「サーバが実際に仕掛けている値」が出るので、反映されているかはそこで確認できます。
書き方の詳細は MulmoTerminal 公式ガイドの設定ページ に全キーが載っています。
まとめ
- tmux で再起動を跨ぐセッションは便利だが、3 週間で数十本溜まり再開一覧が読みづらくなる
sessionIdleReapDaysで自動片付けできる。消えるのは tmux プロセスとスクロールバックだけで、会話の transcript は残り、同じ行から再開できる- 起動したまま使う人は
sessionReapIntervalHoursも必要(既定0は起動時のみ) - 稼働中スイープは今使っているセッションを対象外にする配慮があるので、作業中に消される事故は起きない
- Settings の該当節に「保存した値」と「いま動いている値」の両方が出るので、効いているかどうかを目視確認できる
関連: MulmoTerminal 公式ガイドの設定ページ / tmux で Claude Code を並列に走らせる限界 / MulmoTerminal の git worktree 隔離
