Claude Code のセッションをターミナルからスマホに移す方法
2 つの実際のワークフロー:(1) Happier で開始した Claude のセッションをリモートモードとローカルモードで切り替える、(2) Happier の外で開始した Claude のセッションを引き継いでインポートする。
- CLI
- 0.2.17
- プレビュー ref
- a2c45c8
目指すのはシンプルな約束です。
「ターミナルで Claude Code を開始した。最初からやり直さずに、スマホで続きを進められる?」
答えはイエスです。ただ、この一文には実は 2 つ の異なるワークフローが隠れています。
- 同じセッションのまま、ターミナルの UI と スマホの UI を切り替えたい
- ターミナルで開始した既存のセッションを、やり直さずにスマホで使いやすい UI で開きたい
Happier はそれを実現する方法のひとつで、どちらの経路を使うかはセッションをどう開始したかで決まります。
どちらも「スマホで続ける」という同じ課題を解決しますが、仕組みが違うため、このガイドでは両方を扱います。
要点
- Claude Code を動かしているマシンに Happier をセットアップし、スマホを接続します。
- セッションを Happier で開始した場合:attach とローカル ↔ リモートの切り替えを使います(同じセッション)。
- セッションを Happier の外で開始した場合:ダイレクトセッション(Direct sessions)として開き、引き継いでインポート(Take over + import)を選びます。
よくある方法とそのトレードオフ
-
スマホで新しいセッションを始める:動きますが、これまでの文脈は失われます。
-
スマホから SSH する:動きますが、小さな画面でのターミナル作業になります。
-
Happier:セッションの始まり方に応じて、2 つの実際の経路があります。 トレードオフ:ダイレクトセッションは、同期するまでそのマシンに縛られます。
Happier を初めて使う場合(概要と入手方法)
Happier は、Claude Code、Codex、OpenCode などの AI コーディングエージェント向けの オープンソースのコンパニオンアプリ(モバイル / Web / デスクトップ)です。
ここでのワークフローは、Claude Code をマシンで動かしたまま、スマホの Happier から文脈を説明し直さずに同じ作業を続けるというものです。
セットアップ:
- スマホから Happier を使う方法
- GitHub: https://github.com/happier-dev/happier
- インストール / ダウンロード: https://github.com/happier-dev/happier#how-it-works
- Discord(コミュニティとサポート): https://discord.gg/W6Pb8KuHfg
ワークフロー A:Happier でセッションを開始した場合(ローカル ↔ リモートの切り替え)
最初から Happier ネイティブのセッションなので、これが理想的なワークフローです。
どう見えるか
- Happier アプリから Claude のセッションを開始する。
- あとで同じマシンで
happier attach <session-id>を実行する。 - これで Claude Code のターミナル UI(ローカルモード)に入ります。
- その後、新しいセッションを始めることなく、スマホ(リモートモード)に戻って続けられます。
手順
- Happier アプリからセッションを開始します(同期セッション)。
- セッションを所有するマシンで:
happier attach <session-id>- ターミナルでローカルに Claude Code を使います。
- スマホで続けたくなったら、リモートモードに戻します(リモートに切り替え(Switch to remote)、同じセッション)。
補足:
tmuxがあるマシンでは、通常は tmux を使った attach になります。- Windows では tmux を前提にせず、Happier の Windows 用セッションモードを使ってください。
ワークフロー B:Happier の外で Claude Code を開始した場合(ダイレクト → 引き継いでインポート)
大切なプロバイダーネイティブの Claude セッションがすでにある場合のワークフローです。
手順
- Happier で ダイレクトセッション(Direct sessions)を開きます。
- セッションを所有するマシンで、Claude のプロバイダーセッションを閲覧します。
- 既存のセッションを ダイレクト(Direct)として開きます。
- 引き継いでインポート(Take over + import)を選びます。
何が起きるか:
- Happier がプロバイダーのトランスクリプトをインポートします。
- セッションは Happier の同期セッションになります。
- これ以降は、通常の Happier セッションとして扱えます(スマホでのワークフローも含めて)。
トラブルシューティング
症状:ダイレクトセッションが表示されない
考えられる原因:
- ダイレクトセッションが無効になっている(実験的な機能フラグ)
対処:
- サーバーでダイレクトセッションを有効にする
症状:attach はできるが、リモートに戻せない
考えられる原因:
- セッションが現在ローカル操作中で、処理中である
対処:
- 現在のターンが終わるのを待つか、保留キューや中断のパターンを使う