tmux で AI エージェントを動かす
AI エージェントに任せる作業は、数十分から数時間かかることがあります。その間にターミナルを閉じたり、SSH の接続が切れたりすると、エージェントも一緒に終わってしまいます。tmux のセッションの中で動かせば、ターミナルを閉じてもエージェントは動き続け、あとから同じ画面に戻れます。
このページでは、tmux で Claude Code などの AI エージェントを動かす基本と、外から様子を見たり指示を送ったりするときの注意、tako で tmux を使う方法をまとめます。
なぜ tmux なのか
Section titled “なぜ tmux なのか”tmux は、ターミナルの画面(セッション)をターミナルのアプリとは別のプロセスで持っておくツールです。ターミナルのウィンドウは「画面をのぞく窓」になり、窓を閉じてもセッションの中のプロセスは止まりません。
- ターミナルのウィンドウを閉じても、エージェントの作業が続く
- SSH 先のサーバーで動かしているエージェントが、回線が切れても止まらない
- セッションに名前が付くので、「api 担当」「docs 担当」のように複数のエージェントを呼び分けられる
tmux は macOS なら brew install tmux で入ります。
基本: セッションを作って AI を起動する
Section titled “基本: セッションを作って AI を起動する”エージェント 1 体につきセッションを 1 つ作り、作業ディレクトリで起動します。
tmux new -s api -c ~/work/api # 「api」という名前のセッションを作って入るclaude # セッションの中で起動する作業を任せたら、Ctrl+b を押してから d で抜けます(デタッチ)。エージェントは裏で動き続けます。
tmux ls # 動いているセッションの一覧tmux attach -t api # 画面に戻るtmux kill-session -t api # 作業が終わったら片付けるtmux new -d -s api -c ~/work/api claude のように、コマンドを直接渡して裏で起動することもできます。ただしこの形だと、エージェントが終了した時点でセッションも閉じ、最後の画面は残りません。終わったあとの画面も読みたいなら、上のようにシェルの中から起動します。
同じリポジトリで複数のエージェントを動かすなら、git worktree で作業ディレクトリを分けておくと、同じファイルを取り合いません(Claude Code を複数同時に動かす)。
外から様子を読む
Section titled “外から様子を読む”いちいち attach しなくても、今の画面をテキストで取り出せます。止まっていないか、確認を求めていないかを見るのに便利です。
tmux capture-pane -p -t api # 今見えている画面tmux capture-pane -p -t api -S -200 # 200 行前までさかのぼる外から指示を送る
Section titled “外から指示を送る”send-keys で、セッションに文字を打ち込めます。
tmux send-keys -t api 'テストを実行して、落ちたものを直してください'tmux send-keys -t api EnterAI エージェントの入力欄は、素早く届いた文字の並びを「貼り付け」として受け取ることがあり、そのとき文字は入力欄に入ったまま Enter が送信として効かないことがあります。文字と Enter は別々に送り、capture-pane で入力欄が空になったか(送信されたか)を確かめてから次へ進むのが確実です。tako も、master から worker へ指示を送るときは「貼り付け → Enter → 入力欄が空になったかの確認 → 残っていれば Enter を再送」という手順を踏んでいます。
エージェントが実行の許可や方針の確認を求めて止まっているときは、画面に選択肢が出ています。capture-pane で内容を読み、何に答えるのかを確かめてから送ってください。
tako で tmux を使う
Section titled “tako で tmux を使う”tako は、tmux が入っていればすべてのペインを自動で tmux セッションの上で動かします。tmux のコマンドを打たなくても、tako を閉じても実行中のプロセスは生き続け、次に起動したときにタブ・ペイン・画面の内容がそのまま戻ります。仕組みは tmux バックエンドを参照してください。
自分で作った tmux セッションを取り込む
Section titled “自分で作った tmux セッションを取り込む”上の手順で作ったセッションも、tako のペインとして開けます。
tako tmux list # tmux のセッション一覧(tako のペインとの対応付き)tako tmux open api --right # 「api」セッションを、今のタブの右側のペインに取り込むAI からは MCP ツールで操作する
Section titled “AI からは MCP ツールで操作する”tako の中で起動した AI エージェントは、tmux のコマンドを組み立てなくても、内蔵の MCP ツールで隣のペインを扱えます。画面を読むのは tako_read_pane、入力を送るのは tako_send_input(全画面の TUI へは送達を確かめながら送ります)、tmux セッションの一覧と取り込みは tako_tmux_list / tako_tmux_open です。一覧は MCP ツール一覧にあります。
残ったセッションを片付ける
Section titled “残ったセッションを片付ける”tako が作ったセッションのうち、どのペインにもつながらずに残ったもの(orphan)は、fleet ビュー(tako panel --show --view fleet)で見つけられ、次のコマンドでまとめて片付けられます。使用中のセッションと、自分で作ったセッションには触れません。自分で作ったセッションは tmux kill-session -t <名前> で閉じてください。
tako tmux cleanupよくある質問
Section titled “よくある質問”tmux が無いと tako は使えない?
Section titled “tmux が無いと tako は使えない?”使えます。tmux が無い環境では、tako はペインを tmux を通さずに直接起動します。その場合、tako を閉じるとプロセスも終わり、再起動後に戻るのはタブの構成と作業ディレクトリまでです。スマホからのリモートアクセスと、tako master の worker の管理には tmux が必要です。
Windows でも使える?
Section titled “Windows でも使える?”Windows の tako は、tmux の代わりに psmux(winget install marlocarlo.psmux)で同じ永続化を行います。ただし、既存のセッションの取り込み(tako tmux open)のように attach を前提にする操作は、Windows ではまだ使えません。対応の詳細は Windows 対応状況を参照してください。
SSH 先のサーバーで AI エージェントを動かすときも tmux を使うべき?
Section titled “SSH 先のサーバーで AI エージェントを動かすときも tmux を使うべき?”使うのがおすすめです。SSH の接続が切れると、その接続の中で起動したプロセスは通常一緒に終わります。サーバー側で tmux のセッションを作ってからエージェントを起動しておけば、接続し直して tmux attach で続きを見られます。
- Claude Code を複数同時に動かす — 並列にしたときの落とし穴と 3 つのやり方
- tmux バックエンド — tako が tmux をどう使っているか
- 内蔵 MCP サーバー — AI がペインを読む・操作する仕組み