既存の Claude、Codex、OpenCode のセッションにスマホからアクセスする方法

プロバイダーネイティブのセッションを見つけてスマホから開き、プロバイダー側のまま使うか、長く続けるためにインポートするかを決める方法です。

対象バージョン
CLI
0.2.17
プレビュー ref
a2c45c8

セッションは、別の場所で始まることがあります。

  • ターミナルで始めた Codex の実行
  • さっと始めた Claude Code のセッション
  • 独自のサーバーやストアにある OpenCode のセッション

あとでスマホを開いたとき、セッションを作り直したり、コンテキストを説明し直したりはしたくありません。

目標は、その既存のプロバイダーセッションを見つけ、スマホから開いて、まっさらなチャットにコンテキストをコピーせずに続けることです。

難しいのは、多くのツールが「一覧から既存のセッションを選び、どこまで持ち運べるようにするか決める」というすっきりしたワークフローを用意していない点です。

要点

  1. どんな継続性が欲しいか決めます:
    • プロバイダー側(既存のプロバイダーセッションをそのまま開く)
    • インポート/同期(履歴とこれからの作業を、アプリが管理する1つのセッションにまとめる)
  2. プロバイダーのセッションがあるマシンで Happier をセットアップします(スマホも接続します)。
  3. ダイレクトセッション(Direct sessions)→ プロバイダー セッションを参照(Browse provider sessions) で既存のセッションを開きます。
  4. 長く続けたいなら、中身を確認したあとで 引き継いでインポート(Take over + import)に切り替えます。

課題

「スマホから続けたい」と言うとき、まったく違う2つのことを意味している可能性があります。

  1. まったく同じプロバイダーセッションで続ける(プロバイダー側での継続)
  2. そのセッションを、持ち運べてアプリが管理する場所に移す(インポート/同期での継続)

どちらも正当です。

問題は、多くのツールがこの2つをあいまいにしているので、違いに後から気づくことです。

  • 「ノートPCがオフラインになったら、なぜこのセッションは更新されなくなったの?」
  • 「マシンを切り替えたら、なぜ別のセッションのように感じるの?」

2つの所有モデルに名前を付ければ、残りのワークフローはずっとわかりやすくなります。

よくある方法とトレードオフ

  • スマホでまっさらなセッションを始める: 使えますが、既存のスレッドを失います。
  • 新しいセッションにコンテキストをコピー&ペーストする: 使えますが、必ず何かが抜けます(最新に保つのも大変です)。
  • すべてを元のマシンに置いてリモート接続する(SSH/tmux/リモートデスクトップ): 使えますが、スマホでは重いです。
  • Happier(ダイレクトセッションと引き継いでインポート): 「まず既存のセッションを開き、それからインポートするか決める」すっきりしたワークフローがあります。

Happier を初めて使う場合(概要と入手方法)

Happier を初めて見る方へ。Happier は、Claude Code、Codex、OpenCode などの AI コーディングエージェント向けのオープンソースのコンパニオンアプリ(モバイル/Web/デスクトップ)です。

ここでのワークフローは、セッションとリポジトリは自分で管理するマシンに置き、スマホから Happier で開いて、監視して、続ける、というものです。

セットアップ:

動くワークフロー(手順)

注意: 機能一覧(英語)によると、ダイレクトセッション(プロバイダーネイティブのセッションの参照と表示)は実験的な機能です。インポートするまで、所有するマシンに到達できる状態を保つ必要があります。0.2.16 以降、インポートの進捗を追い、停止(Stop)でき、すでにインポートされた履歴は引き続き使えます。

1) まず既存のセッションを開く(何かをインポートすると決める前に)

ここが、多くのツールが本当には対応していない手順です。

Happier での流れ:

  1. セッション一覧を開きます。
  2. ダイレクト(Direct)タブに切り替えます。
  3. プロバイダー セッションを参照(Browse provider sessions)を選びます。
  4. 次を選びます:
    • マシン
    • プロバイダー(Codex / Claude / OpenCode)
    • ソース

Happier は、その組み合わせで見つけられる既存のプロバイダーセッションの一覧を表示します。

1つを選んで、すぐに ダイレクト(Direct)セッションとして開けます(つまり、プロバイダー側で、マシンに紐づいたセッションです)。

2) まずダイレクトで開く(後で同期するつもりでも)

この方法でプロバイダーセッションを開くと、Happier は ダイレクト(Direct)セッションとして開きます。

これが便利なのは、次のことができるからです。

  • トランスクリプトを確認する
  • 新しいトランスクリプトの項目を追う
  • ライブのセッションを監視する

まだインポート/同期を決めずにできます。

3) 決める: ダイレクトのままか、引き継いでインポートか

セッションを開いたあと、続け方は2通りです。

方法 A: ダイレクトのままにする

ダイレクト(Direct)のままにするのは:

  • プロバイダーセッションを手間なく開きたい
  • プロバイダーが正となる情報源で問題ない
  • 使いたいときに所有するマシンがオンラインになっている

トレードオフは重要です。

  • セッションがダイレクトのままでマシンがオフラインになると、Happier はプロバイダーのトランスクリプトを追ったり更新したりできません

方法 B: 引き継いでインポート

引き継いでインポート(Take over + import)を使うのは:

  • これから先は Happier にトランスクリプトを持たせたい
  • 元のマシンがオフラインでも、デバイスをまたいで続けたい
  • セッションを通常の Happier の同期セッションのように扱いたい

概念的には、引き継いでインポートは次のことをします。

  1. プロバイダーのトランスクリプトを読み込む
  2. その履歴を Happier のセッションにインポートする
  3. セッションを ダイレクト(Direct)から 同期(Synced)に変える

4) Resume ID のほうが向いている場面を知る

プロバイダーセッションの参照は、一覧を見て選びたいときに向いています。

でも、すでに ID を持っている(または新しいセッションのフローから ID で再開したい)こともあります。

そこで使うのが Resume ID です。

  • Happier で新しいセッションを始める
  • プロバイダーの再開可能なセッション ID を入力する
  • (使える場合)Resume ID の横にある 参照(Browse)ピッカーで入力する

注目すべき点: Resume ID の参照ピッカーは、新しいセッションの画面で選んだマシン/プロバイダー/認証のコンテキストに限定されます(そのため、実際には再開できない別の「ホーム」のセッションを選んでしまうことがありません)。

なぜ動くのか(そして何で壊れるのか)

Happier が、すべてに共通する1つのセッションモデルがあるふりをしないから動きます。

橋渡しを用意しているのです。

  • プロバイダーセッションをそのまま開く(ダイレクト)
  • Happier ネイティブの継続性が欲しいときだけ同期/インポートする

壊れるのは、ダイレクトセッションの明らかなケースです。

  • マシンがオフライン → ダイレクトセッションを追うことも操作することもできない

よくある間違い

  • すぐにすべてを同期する → まずダイレクトで開き、長く使うとわかっているセッションだけを同期しましょう。
  • ダイレクトがマシンに紐づくことを忘れる → 「そのマシンがスリープしていても使える」状態が必要なら、同期しましょう。
  • Resume ID と参照を混同する → 参照は一覧から選ぶもの、Resume ID は「この特定のセッション ID を新しい Happier セッションで再開する」ためのものです。

よくある質問

「引き継いでインポート」でプロバイダーのセッションは消えますか?

いいえ。Happier でのインポートと継続のための操作です。

複数の Codex ホームのセッションを参照できますか?

Codex には複数のホーム(ネイティブと、接続済みサービスに基づくもの)がありえます。Resume ID のピッカーは、意図的に現在の認証/ホームの選択に限定されています。

関連ガイド

mobilesessionsdirect-sessionsclaudecodexopencode
最終更新: 2026-10-26