tmuxの使い方:Claude Codeをリモートで動かし、作業ごとにセッションを分ける

tmuxの使い方を、Claude Codeをリモートホストで動かす構成から解説します。公式の設定、Git worktreeと名前付きセッションの分け方、SSH切断後の再接続手順を紹介。ノートPCを閉じても作業を続けるための条件や、エージェントチームを加える判断基準、ペイン分割とファイル分離の違いも整理します。

公開日

tmuxの使い方:Claude Codeをリモートで動かし、作業ごとにセッションを分ける

常時稼働するリモートマシン上のtmuxでClaude Codeを実行すれば、ノートPCを閉じても、SSHで再接続して実行中の作業に戻れます。押さえたいtmuxの使い方は、独立したタスクごとにGit worktreeと名前付きセッションを用意することです。これで機能開発とバグ修正のファイルを分けられます。まずはこの構成から始め、タスク間で相談や調整が必要になったらエージェントチームを加えます。

大切なのは、実際に処理を担うマシンがどこにあるかです。tmuxは接続が切れてもターミナルセッションを維持します。ただし、スリープ中のノートPCに処理を続けさせたり、電源が切れたサーバーを動かしたり、クラッシュしたClaudeのプロセスを再起動したりはできません。Anthropicも、SSH切断後も維持したいリモートのClaudeセッションには、tmuxまたはscreenの利用を明示的に勧めています。AnthropicのRemote Controlドキュメント。

tmuxの使い方:まずは公式の設定から

設定はClaude Codeを動かすマシンに置きます。リモートで作業するなら、設定先はリモートホストの~/.tmux.confです。必要に応じてそのホストのパッケージマネージャーでtmuxをインストールし、先へ進む前に、同じホストでtmux -Vとclaude --versionを確認してください。

次の内容を~/.tmux.confに追加します。最初の3行はAnthropicのドキュメントにある設定です。コメントアウトしたマウス操作の設定は任意で、Anthropicが必須としているものではありません。

Tmux
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'

# Optional preference: enable mouse interaction in tmux.
# set -g mouse on

パススルーを有効にすると、通知や進捗の更新がtmuxの外側のターミナルに届きます。拡張キーを有効にすると、tmuxがShift+EnterとEnterを区別できます。すでに動いているtmuxサーバーには、tmux source-file ~/.tmux.confで設定を反映します。新しく起動するサーバーは、起動時にこのファイルを読み込みます。Anthropicのターミナル設定ガイド。

tmuxサーバーがまだなければ、下の手順で最初のセッションを作ってから設定の再読み込みを実行してください。最初の構成にサードパーティー製プラグインを加える必要はありません。このワークフローはプラグインなしで使えます。

worktreeごとに名前付きセッションを用意する

Git worktreeは、リポジトリの履歴を共有しながら、専用のファイルとブランチを持つ別のチェックアウトです。一方、tmuxのセッションは、複数のターミナルウィンドウを名前でまとめたものです。ウィンドウを分割した領域をペインと呼びます。worktreeが作業台なら、tmuxは出入りできる作業部屋と考えると分かりやすいでしょう。Anthropicのworktreeガイド。

セッション名を見れば、どのチェックアウトに入るのか分かるように、名前をそろえます。以下はこの記事で提案する構成であり、Claude Codeのデフォルト設定ではありません。

タスクホスト上のworktreetmuxセッションウィンドウ
機能の実装~/src/project-feature-acc-feature-aclaude、必要に応じてchecks
バグの調査~/src/project-bugfixcc-bugfixclaude、必要に応じてchecks

次の初回セットアップ例は、~/src/projectに既存のリポジトリがあり、少なくとも1つのコミットがあることを前提としています。また、指定するブランチ名、ディレクトリ名、セッション名は未使用である必要があります。dev@devboxとプロジェクトのパスは、自分の環境に置き換えてください。ノートPCの通常のシェルから、tmuxの外で実行を始めます。worktreeのコマンドはAnthropicの手動操作の手順に沿っています。名前付きセッションとの組み合わせは、この記事で紹介する使い方です。

Bash
ssh dev@devbox
cd ~/src/project

git worktree add ../project-feature-a -b feature-a
git worktree add ../project-bugfix -b bugfix

tmux new-session -d -s cc-feature-a -n claude -c "$HOME/src/project-feature-a"
tmux new-session -d -s cc-bugfix -n claude -c "$HOME/src/project-bugfix"

tmux attach-session -t cc-feature-a
# Now inside the feature worktree's tmux shell:
claude

SSHで接続したあとのコマンドは、リモートホスト上で実行します。デタッチされた状態で作成した2つのセッションには、最初はシェルだけが起動しています。どちらかにアタッチしてclaudeを実行すると、通常の初期設定のプロンプトも含め、画面で確認できる形でコーディングセッションが始まります。もう一方のタスクも動かしたくなったら、デタッチしてcc-bugfixにアタッチし、そこでclaudeを実行します。

依存関係のインストールや必要なローカル設定など、プロジェクトのセットアップはworktreeごとに行う必要があります。Claudeにファイルの編集を依頼する前に、ディレクトリとブランチを確認してください。Anthropicのworktree手動管理ガイド。

機能開発用のチェックアウトにテスト用のシェルも用意したい場合は、ホスト上のシェルからtmux new-window -t cc-feature-a -n checks -c "$HOME/src/project-feature-a"を実行します。検証は、対象のタスクと同じ作業場所で行うようにします。メインのチェックアウトを、両方のエージェントが使う共通の作業用ディレクトリにするのは避けてください。

Codexも使っている場合は、Codex CLIのworktreeガイドで、そのツールのワークフローを別途解説しています。

ノートPCがSSH経由でリモートホストにつながり、そのホスト内に独立した2つのtmuxセッションがある構成図。
セッションが動くのはリモートホストです。SSHでそこへ接続します。この構成では、セッションごとに別のworktreeを使います。

デタッチしてPCを閉じ、SSHで作業に戻る

tmuxのデフォルトのプレフィックスキーを使っている場合は、Ctrl+Bを押し、両方のキーを離してからDを押します。クライアントがデタッチされ、リモートのシェルに戻ります。そのあとはSSHを切断できます。Claudeはセッション内で動かしたままにしておきます。

作業に戻るときは、ssh dev@devbox、tmux list-sessions、tmux attach-session -t cc-feature-aの順に実行します。前回と同じリモートホスト、同じユーザーアカウントを使ってください。ノートPCからssh -t dev@devbox 'tmux attach-session -t cc-feature-a'を実行すれば、1つのコマンドで同じ操作ができます。

やりたいこと操作
作業を動かしたまま離れるCtrl+BのあとにD
名前付きセッションを一覧表示するtmux list-sessions
バグ修正の作業に戻るtmux attach-session -t cc-bugfix
tmuxの中から別のセッションに切り替えるCtrl+BのあとにS
現在のセッション内でウィンドウを選ぶCtrl+BのあとにW

これらのキー操作は、デフォルトのプレフィックスを前提としています。変更済みなら、自分で設定したプレフィックスを使ってください。tmuxの中では別のtmuxクライアントを入れ子で起動せず、セッションを切り替えます。

再アタッチは、既存のターミナルプロセスにつなぎ直す操作です。プロセスが終了していた場合、会話の復元は別の操作になります。claude --continueは現在のディレクトリで最新の会話を再開し、claude --resumeは会話の選択画面を開きます。どちらも、元のプロセスを動かし続けることの代わりにはなりません。Anthropicのセッション再開ガイド。

スマートフォンやブラウザーからアクセスしたい場合は、Claude Code Remote Controlを参照してください。この場合も処理はホスト上で実行されるため、ホストの電源を入れたままにする必要があります。AnthropicのRemote Controlガイド。

タスク間の連携が必要ならエージェントチームを使う

エージェントチームは実験的な機能で、デフォルトでは無効です。tmuxのシェルでCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude --teammate-mode tmuxを実行すると、対話形式の新しいリードセッションを起動できます。環境変数はその起動時にチーム機能を有効にし、フラグはペイン分割を選択します。Anthropicのエージェントチーム設定ガイド。

現在のデフォルトはin-processです。autoはtmux内ではペイン分割を使い、必要に応じて別の表示方式に切り替えます。tmuxはターミナルを検出したうえでペイン分割モードを選びます。この設定を保存するには、~/.claude/settings.jsonのteammateModeを使います。ペイン分割では、チームメイトごとに別のターミナルが表示されます。Anthropicは、このモードではVS Codeの統合ターミナル、Windows Terminal、Ghosttyをサポート対象外としています。Anthropicの表示モードと制約の説明。

私なら、最初の試行ではリードに次のような範囲を絞った依頼をします。

チェックアウト処理のタイムアウトを調査するエージェントチームを作成してください。チームメイトの名前はRequestsとStorageにしてください。Requestsはリトライの挙動を追跡し、Storageはトランザクションの境界を調べてください。互いに調査の根拠を照合するよう指示してください。ファイルは編集せず、修正案とテスト計画を返してください。

手動で起動したcc-feature-aとcc-bugfixのセッションは、どちらもtmux内にあるというだけではチームメイトになりません。チームを使うかどうかは、誰が作業を割り振り、調査結果をまとめるかという別の判断です。1つのセッション内で、範囲を絞った仕事を委任したい場合は、Claude Codeのサブエージェントが適しています。

手動で管理する独立した2つの作業環境と、リードとチームメイトがつながるエージェントチームを並べた図。
手動で管理するセッション間の調整は利用者が担います。エージェントチームにはリードが入り、チームメイト同士もやり取りできます。

ペインを分けても、チェックアウトが分かれるわけではありません。独立した編集作業では、担当ファイルを分けるか、別々のworktreeを使ってください。また、チームはより多くのトークンを使います。tmuxを使っても、その消費量は減りません。再アタッチなら動作中のターミナルに戻れますが、/resumeではin-processのチームメイトは復元されません。Anthropicのチーム運用ガイド。

この構成が役立つ5つの場面

私なら、次の順に用途を優先します。いずれも想定できるワークフローであり、生産性向上を実測した結果ではありません。

開発現場の状況構成の使い方期待できる効果
ノートPCからリモートの開発ホストで作業しているコーディング作業をリモートの名前付きセッションに置き、離れる前にデタッチする移動や切断のあとにターミナルの作業環境を組み直す手間を減らせます
機能開発の途中でバグ報告が届いたバグ専用のブランチ、worktree、セッションを用意する作業途中の機能開発用チェックアウトに影響を与えずに調査できます
2系統のリリースを保守している系統ごとに、名前で区別できるセッションとチェックアウトを用意する編集を承認する前に、どのバージョンを変更しているか把握しやすくなります
複数の実装方針を比較している候補ごとに別のworktreeを用意し、できあがった差分をレビューする両方の試行を選択時まで残せるため、どれを統合するか明確に判断できます
原因がはっきりしない障害を複数の観点で調べたい範囲を限定したエージェントチームでの調査を試し、リードに根拠を突き合わせてもらう独立した調査に価値がある場合、有用な診断にたどり着くまでの時間を短縮できる可能性があります

自動化を増やす前に、作業中断のコストを測ってください。たとえば、状況を思い出して作業を立て直すのに毎回4分かかる中断が週に5回あれば、週20分を費やす計算です。これは仮の数値による例であり、ベンチマーク結果ではありません。実際の復帰時間、セットアップ時間、レビュー時間を記録し、その合計が改善するなら、このワークフローを使う意味があります。同時に動かすエージェントを増やせば、それだけ割に合うとは限りません。

この構成をもとに作れる小さなツールを2つ

より有望なのは、開発チーム向けのworktree・セッション起動ツールです。 プラットフォームチームなら、開発者間でタスク名、チェックアウトのパス、アタッチ用コマンドを統一できることに対価を払う可能性があります。最小限の実用的な形は、worktreeを新規作成または検索し、対応する名前付きtmuxセッションを開き、Claudeの起動前にブランチとパスを表示するものです。チェックアウトを削除する前には、確認を求める設計にします。

2026年10月12日に取得したDataForSEOの米国向け推定値では、「tmux claude code」の月間検索数は480件です。セットアップへの関心を示す限定的な指標であり、購入者数ではありません。注意したいのは、短い社内スクリプトだけで用が足りる可能性があることです。有料製品にするなら、繰り返し発生する作業を減らせる、チーム固有のセットアップやサポートが必要です。

もう1つは、用途をさらに絞ったリモートセッションの管理台帳です。 小規模なエンジニアリングチームで、利用が認められたホストのエイリアス、セッション名、チェックアウトのパスを1か所にまとめ、SSHでアタッチするコマンドをコピーできるようにします。まずはセッションを見つけて接続する機能から始め、ライフサイクルを管理する操作は、利用者が必要としている場合にだけ追加します。

同じDataForSEOの調査では、米国の月間検索数は**「claude code remote」が1,600件、「claude code remote ssh」が70件**と推定されています。広いほうの検索語には、別のリモートインターフェースを探している人も含まれます。その数字だけで、SSH向け製品の需要を裏づけることはできません。課題はアクセス管理です。管理台帳は、各開発者がすでに持っているホストへのアクセス権限に従う必要があります。ダッシュボードを作る前に、リモートワークを基本とするチームに話を聞いてください。

実際の運用で迷いやすいこと

ノートPCを閉じてもClaudeは動き続けますか?

Claudeとtmuxが、スリープせずネットワークに接続されたリモートホスト上で動いていれば、動き続けます。スリープするノートPC上で動かしている場合は、PCとともに作業も止まります。また、ターミナルが維持されていても、処理が進むとは限りません。Claudeが入力待ちになっている場合もあります。

tmux内でShift+Enterを押しても送信されるのはなぜですか?

実際にtmuxを動かしているホスト上で、設定を編集して再読み込みしたか確認してください。/terminal-setupが必要な場合は、tmuxの外側のターミナルで実行します。改行の代替キーとして、公式ドキュメントではCtrl+Jが案内されています。Anthropicのターミナル設定ガイド。

再アタッチするとセッションが存在しないと言われます。どうすればよいですか?

ホストとユーザーを確認し、tmux list-sessionsで正確なセッション名を調べてください。セッションが終了していたり、ホストが再起動していたりする場合は、アタッチを繰り返すのではなく復旧が必要です。元のセッションが別の場所でまだ動いていないか分かるまでは、似た名前の代替セッションを作らないでください。

tmuxのペインを2つに分ければ、エージェントが同じファイルを編集するのを防げますか?

いいえ。この記事の構成では、worktreeのパスを分けることで作業を分離しています。編集を始める前に、それぞれのシェルのディレクトリとブランチを確認してください。できあがった変更のレビューと統合も必要です。

次の月曜日に試すなら、リモートで行うタスクを1つ選び、worktreeと名前付きセッションを作ってください。無人で動かす前に、デタッチして再アタッチできることを確認します。もう1つの独立したタスクを加えるのは、この流れに慣れてからで十分です。

チームの開発環境にこのワークフローを組み込みたい場合は、本番運用に対応したAIシステムの開発をご相談ください。

公開日
カテゴリー
Build
ローカルLLM比較:OllamaとvLLMの選び方と移行の判断基準

ローカルLLM比較:OllamaとvLLMの選び方と移行の判断基準

ローカルLLM比較で迷う方へ。OllamaとvLLMの選び方を解説します。セットアップ、GPUメモリ、同時リクエスト、量子化形式、OpenAI互換API、移行手順を比較。セルフホストのソフトウェア料金はどちらも$0。運用費用の試算と負荷テストの判断軸から、Ollamaを使い続ける条件とvLLMへ移る条件を整理します。2026年10月12日Build
バイブコーディングに選ぶなら?LovableとCursorの料金・保守・移行を比較【2026年】

バイブコーディングに選ぶなら?LovableとCursorの料金・保守・移行を比較【2026年】

バイブコーディングでMVPを作るなら、LovableとCursorのどちらを選ぶべきでしょうか。月額料金、ホスティング、コードの所有権、保守の責任を比較し、GitHub経由で作り直さずに引き継ぐ手順を解説します。非エンジニアの創業者やPMが、デモ完成後の運用まで見据えて判断するためのガイドです。2026年10月11日Build
ローカルLLM比較:OllamaとLM Studioの選び方

ローカルLLM比較:OllamaとLM Studioの選び方

ローカルLLMを使うならOllamaとLM Studioのどちらが適しているのでしょうか。開発者向けAPIとデスクトップでの使い勝手から、ヘッドレス運用、Mac・GPU対応、商用利用のライセンス、無料のローカル実行と任意のクラウド料金まで比較。会話状態の保持や認証、推論の実行先も踏まえ、用途に合う選び方を解説します。2026年10月11日Build
Cursor Rulesの設定・書き方|TypeScriptで使える3つのルール例

Cursor Rulesの設定・書き方|TypeScriptで使える3つのルール例

Cursor Rulesの設定場所と書き方をTypeScript向けの3つの例で解説。Project Rules・User Rules・Team Rulesの使い分けから、適用条件、実際の変更での検証までを整理。繰り返す修正を減らすために、スタイル・テスト・セキュリティの指示をどう絞り、チームで見直すかがわかります。2026年10月11日Build
Codex CLIの使い方:導入からチーム共通設定まで

Codex CLIの使い方:導入からチーム共通設定まで

Codex CLIのインストールからChatGPT・APIキーでの認証、最初のテスト追加と差分レビューまでを解説。モデル選択、サンドボックスと承認、AGENTS.md、config.toml、MCP、worktreeの設定を整理し、小規模チームで共通ルールを整えて導入するための手順と確認ポイントを紹介します。2026年10月11日Build
Claude Code 使い方ガイド:手戻りとコストを減らす実践習慣

Claude Code 使い方ガイド:手戻りとコストを減らす実践習慣

Claude Codeの使い方を、検証・計画・CLAUDE.md・コンテキスト管理から実践的に解説。採用された変更あたりのコストを測り、権限設定、フック、サブエージェント、worktreeを必要な順に導入する方法を紹介します。小規模チームが手戻りを減らし、利用枠を有効に使うための具体例とコマンドをまとめました。2026年10月11日Build
Codex MCP 設定をチームで共有するには?プラグインの作成と導入

Codex MCP 設定をチームで共有するには?プラグインの作成と導入

Codexのプラグインで、作業手順とMCP接続設定をチームに配布。3ファイルのパッケージ作成から、リポジトリのマーケットプレイスへの登録、CLI・デスクトップアプリでの導入まで解説します。個別のサービス認証、管理者の公開制御、対応するマニフェスト形式も整理し、APIレビューの具体例で共有の流れを確認できます。2026年10月11日Build
Claude Code ルール設定ガイド:CLAUDE.mdと自動メモリの使い分け

Claude Code ルール設定ガイド:CLAUDE.mdと自動メモリの使い分け

Claude CodeのルールをCLAUDE.mdにまとめ、チームで同じ説明を繰り返す手間を減らしましょう。小規模チーム向けのひな形を使い、指示ファイルの置き場所、パス別ルール、AGENTS.mdとの使い分け、自動メモリの保存範囲と月次整理まで解説します。チームで共有する指示と、個人の学習メモを無理なく管理できます。2026年10月11日Build
ニュースレター

毎週日曜、一通の手紙。動くシステムの話。感想戦ではなく。

週刊。スパムなし。いつでも解除できます。