← トラブル対応 リモート運用のベストプラクティス →

05 スマホからPCへの引き継ぎ — 同じセッションをPCで続きから

外出先のスマホで進めていた作業を、帰宅後にPCの大きな画面でそのまま再開する手順。


なぜ「引き継ぎ」が簡単なのか

Claude Code はPC(WSL2)上の claude という名前の tmux セッションで動いています。 スマホ(Termux)は SSH でそのセッションに「アタッチ(接続して覗く)」しているだけです。

つまり、セッションの実体は常にPC側にあります。 スマホを閉じてもセッションは消えません。 PC側のWSLターミナルから同じセッションにアタッチするだけで、スマホの作業をそのままPCに引き継げます。

💡 tmux の最大の利点: 接続先を変えてもセッション(プロセス)が生き続けること。スマホ⇄PC間の「引き継ぎ」は特別な操作不要で、単にアタッチし直すだけです。


基本手順(スマホ → PC)

Step 1: スマホ側 — セッションを残して抜ける

スマホのTermuxで以下のいずれかを行います。

方法 コマンド 効果
デタッチ(推奨) Ctrl+BD tmuxから抜けるがセッションは維持
SSH切断だけ exit SSH接続を切る(セッションは維持)

どちらでも Claude Code のセッションはPC上で動き続けます。

Step 2: PC側 — WSLターミナルを開く

Windows側でWSL2 Ubuntuのターミナルを開きます(Windows Terminal / VS Code 等)。

Step 3: PC側 — 同じセッションにアタッチ

tmux attach -t claude

これで スマホで作業していた画面がそのままPCに表示されます。 入力履歴・スクロールバッファ・実行中のプロセスもすべて引き継がれます。

⚠️ 注意: セッション名 claude は 01章 Step 7 で作成した名前です。別の名前で作った場合は tmux ls で確認してください。


クイック版(コピペ用)

# スマホ側: 抜ける(セッションは残す)
#   Ctrl+B を押して離し、D

# PC側: WSLターミナルを開いて
tmux attach -t claude

同じセッションを「同時」に見る(ミラーリング)

tmux は 複数の端末から同時に同じセッションにアタッチ できます。 スマホをデタッチせずにPCからアタッチすると、両方の画面に同じ内容が表示されます。

# スマホはそのまま(デタッチしない)
# PC側で
tmux attach -t claude    # ← -t だけ(既存セッションへ参加)

用途: スマホを「モニター」として置きつつ、PCで操作したい時に便利。

💡 完全にPCへ切り替えたい時は Step 1 のようにスマホをデタッチしましょう。同じ画面を2台で操作すると入力が衝突します。


セッションが見つからない時

no sessions / can't find session: claude

tmux ls

で存在するセッション一覧を確認。


逆方向(PC → スマホ)の引き継ぎも同じ

PCでの作業を外出先に持ち出す時も、手順は鏡写しです:

  1. PC側: Ctrl+BD(デタッチ)
  2. スマホ側: Termux で ssh yn4416@100.115.156.98
  3. tmux attach -t claude

接続先が変わるだけで、セッションはずっとPC上で生きています。


tmux を使わずに claude を起動していた場合は?

ここまでの手順は すべて「tmux の中で claude を起動していた」ことが前提です。 tmux を挟まずに WSL ターミナルで直接 claude を動かしていた場合、引き継ぎの挙動が変わります。

tmux あり / なし の特徴比較

特徴 tmux あり(本ガイド推奨) tmux なし(直接起動)
プロセスの生死 接続を切っても 生き続ける 接続を切ると SIGHUP で道連れ終了
スマホへの持ち出し tmux attachそのまま再開 不可(プロセスが死ぬため)
実行中タスクの扱い そのまま継続 失われる(書き出し中等は消失)
復元できるのは プロセスの「実状態」まるごと 「会話の文脈」のみ
事前準備 tmux new -s claude が必要 なし(そのまま claude

なぜ tmux なしだと死ぬのか

tmux を挟まないと、claude プロセスはターミナル接続に紐付いて動きます。 PCをスリープ/シャットダウンしたりターミナルを閉じると、親であるシェルが終了し、子の claude プロセスも SIGHUP シグナルで道連れになります。tmux はこの接続とプロセスを分離して保持する役割を担っています。

⚠️ つまり tmux なしでは、PCで動かしている claude にスマホから届く方法がありません。SSH で入っても別のシェルが起動するだけで、元プロセスには触れません。

救済策 — 会話はPCに残っている

プロセスは死にますが、Claude Code の会話履歴は PC 側(~/.claude/projects/)に自動保存されています。スマホから「会話の続き」として再開できます:

# スマホのTermuxで
ssh yn4416@100.115.156.98
claude -c              # 直近の会話を続きから再開(--continue の短縮形)
# または
claude --resume        # 過去セッション一覧から選んで再開

💡 復元できるのは「会話の文脈」までです。実行中だった長時間タスク(ファイル書き出しの最中等)は道連れで失われるため、重要な作業の前に tmux に入るのが安全です。

今後の予防策

claude を起動する時は必ず tmux の中で

tmux new -s claude    # ← これを先に(tmux セッション作成)
claude                # ← その中で Claude Code を起動

この1行を挟むだけでプロセスが接続切断から守られ、スマホ⇄PC の引き継ぎが可能になります。

⚠️ 後から tmux に入れるのは難しい: 既に直接起動したプロセスを後から tmux に移行するツール(reptyr 等)もありますが、Claude Code のようなインタラクティブ TUI では画面が乱れやすく実用的ではありません。起動時に tmux を挟むのが確実です。


関連