Claude Codeをスマホやクラウド側で動かして、その続きをローカルの黒い画面でも触りたい人向け
朝にclaude --remoteでクラウド側に作業を投げて外出し、夜にローカルPCで続きを再開したいときや、自宅と外出先のノートPCを行き来して同じClaude Codeセッションを引き継ぎながら作業したいときに、claude --teleportを叩くとWeb側で動いていたセッション一覧(session picker)が出るのでそこから選んで再開する
朝にスマホからクラウド側のClaude Codeに作業を投げて、外出してる間に進めてもらう。帰ってきたパソコンで続きを触りたい。この「Web側で動いてた会話の続きを、目の前の黒い画面で再開する」を1コマンドでやるのが --teleport です。
Web側のClaude Codeで進んだ会話と、その時に作業していた作業中ブランチを、ローカルのClaude Codeに丸ごと連れてきて再開できます。ブランチの切り替えも会話履歴の復元も自動。私たちは続きから喋るだけでいい。
噛み砕くと
共用のホワイトボードに書き込まれた途中の議事録を、自分のノートに転記して続きを書き始める作業に近いです。Web側で動いているClaude Codeの会話と、その時に編集していたブランチを、自分のパソコンに持ち帰って再開する一手。
違うのはノート転記と違って手作業がいらないところ。「続き、ローカルで再開させて」と言うだけで、向こうがファイルもチャット履歴も全部こっちに揃えてくれます。
大事な前提:Web側で動いていたセッションがないと意味がない
このコマンドは「Web側のClaude Codeが既に動いていて、そこで何か作業が進んでいる」状態が大前提です。具体的には事前に claude --remote "やってほしいこと" でクラウド側にタスクを投げてあるとか、claude.aiのWeb画面上でセッションを動かしたことがある、という状況。
そういうWeb側セッションがゼロのときに --teleport を叩いても、再開する相手がいないので何も起きません。
「外出中に進めてもらった作業を、帰宅後に再開する」を実際にやってみる
ステップ1: 朝、Web側にタスクを投げる
出かける前にスマホかパソコンで、Web側のClaude Codeに作業を頼んでおきます。例えばWebアプリで動くユーザー登録機能を作っている途中で、「ログイン機能も足しといて」と頼みたいとき。
その前に1つやることがあります。ローカルだけに保存している変更がある場合は、先に git push でGitHubに送っておきます。ここでいう「ローカルだけに保存している変更」とは、自分のパソコン上で「ここまで保存」と区切ったものの、まだGitHubには送っていない変更のことです。Web側のVM(クラウド上の仮想マシン)はGitHubから直接コードをコピーして作業するため、まだ手元だけにある変更はWeb側には届きません。push を忘れると、最新の状態が反映されていないコードベースで作業が始まってしまう。
$ git push
$ claude --remote "Add OAuth login flow to the existing Express app"
これでクラウド側でClaude Codeが動き始めて、勝手に作業を進めてくれます。私たちは外出してOK。
ステップ2: 外出中、進捗を眺める(任意)
スマホのclaude.aiから状況だけ確認できます。「OAuthのライブラリ入れた」「ルート追加した」みたいなメッセージが流れてくる。
ここではまだ何も再開していません。あくまでWeb側で動いてるのを横から見てる状態。
ステップ3: 帰宅してパソコンを開く
家のパソコンで、いつもの作業フォルダにターミナルで入ります。朝にWeb側に頼んだのと同じプロジェクトのフォルダに居ることが大事。
$ cd ~/projects/my-express-app
ここで作業中の変更が保存されてない状態だと、後で止められるので先に片付けます。
ステップ4: claude --teleport を叩く
素のままコマンドだけ打つと、Web側で動いていたセッションの一覧(session picker)が出てきます。
$ claude --teleport
朝に頼んだ「Add OAuth login flow...」が一覧にあるはず。矢印キーで選んでEnter。
ステップ5: ブランチと会話履歴が自動で復元される
選んだ瞬間、Claude Codeが3つを同時にやって、Web側のセッションをローカルで再開します。
- 同じプロジェクトのフォルダにいるか確認
- Web側で作業していたブランチをサーバーから取ってきて、ローカルでもそのブランチに切り替える
- 朝からの会話履歴を全部ローカルに復元
切り替え後は、何事もなかったかのように「OAuthのコールバックURL、デフォルトのままでいい?」みたいな続きの会話が始められます。
ここで初心者がやりがちな勘違い
「claude -r(resume)でも同じことができそう」と思って試すと、Web側で動いていたセッションは picker に出てきません。-r はあくまで「このパソコンで前に動かしてたClaude Codeの続きを再開する」だけ。クラウド側のセッションは管轄外です。
つまり --teleport は何をしてくれるのか
- やってくれる: Web側で動いていたセッションを再開するための一覧表示、選んだセッションのブランチをローカルに取ってきて切り替え、会話履歴の丸ごと復元
- やってくれない: 作業中の保存されてない変更の自動退避(聞かれるけど自動退避ではない)、別プロジェクトのフォルダに居る状態での強行突破。同じプロジェクトの場所に居ないと止まります。あとは、コピー元のプロジェクト(fork)からの再開
- 意味が薄い場面: Web側のセッションを1度も立てたことがないとき、claude.aiの月額契約を持っていないとき
使いどころ3シナリオ(具体題材で再現)
シナリオ1: 通勤中に頼んでおいて、会社で続きを再開する
朝の電車内でスマホから --remote で「データベースのユーザーテーブルにメール認証カラム足して」と投げる。会社に着いたらノートPCで claude --teleport。session picker から朝のセッションを選んで再開、レビューと残作業を会社のパソコン上で続行。出社後すぐに動けます。
シナリオ2: 自宅PC → 外出先のノートPC → 自宅PCで作業を移しながら進める
自宅で進めていたWebアプリのリファクタ作業。外出する直前に --remote でクラウド側に作業を引き継いで出かける。カフェのノートPCで claude --teleport を叩いて続きを再開。帰宅後にまた自宅PCで claude --teleport。3台のマシンを行き来しても、作業状態とブランチが揃って付いてきます。
シナリオ3: 長時間の自動作業を外出中に走らせて、夜に成果を確認する
「OSSのテストカバレッジを80%まで上げて」みたいな、何時間もかかる作業を朝に --remote で投げて出社。夜帰宅して claude --teleport で再開。出来上がった変更内容を git diff で眺めながら、気になる箇所だけ会話で詰める。長時間作業をパソコンつけっぱで縛られずに進められます。
初心者が踏みやすい落とし穴
-r(resume)と完全別物。-rはこのパソコンで前に動かしていたClaude Codeの履歴を呼んで再開するだけ。Web側で動いていたセッションは picker に一切出てこない。逆に--teleportはローカル履歴を見ない- Web側セッションを動かしたアカウントと、ローカルでサインインしているアカウントが違うと再開できない。
--teleportはWeb側でセッションを動かした claude.ai アカウントと同じアカウントで、ローカルがサインインしている必要があります。会社用と個人用でアカウントを使い分けている場合は要注意。/loginを叩くと現在のアカウントを確認・切り替えできます - fork からは再開できない。GitHubで本家プロジェクトをコピーした派生版(fork)の場所からは
--teleportできません。Web側セッションを動かしていた本家プロジェクトを自分のパソコンに持ってきた状態で叩く必要がある - claude.aiの月額契約ありきの機能。APIキー認証、Amazon Bedrock経由、Google Vertex AI経由、Microsoft Foundry経由でClaude Codeを使っている人は使えません。
/loginを叩いて claude.ai アカウントに切り替えることで使えるようになります。ただし claude.ai のサブスクリプション契約があることが前提です - 作業中の保存されてない変更があると止まる。ローカルで何か触りかけのファイルがあると、その状態のまま勝手にブランチを切り替えると変更が壊れる恐れがあるので、Claude Codeが「退避していい?」と聞いてきます。Yesを選べば一時退避された上でブランチ切替が走る
- 違うプロジェクトのフォルダに居ると怒られる。Web側セッションが「Express app」プロジェクトで動いていたなら、自分のターミナルも同じプロジェクトのフォルダにcdしてから叩く。違う場所だと「同じプロジェクトの場所で叩いて」とエラーになる
- Web側で動いていたブランチが、まだサーバーに上がってないと取り込めない。Web側のセッションが作ったブランチは、自動でサーバーに送られている前提。手元のターミナルはそのブランチをサーバーから取ってきて切り替える流れなので、まだ送られてないブランチは取れない
- 会社の管理者にクラウドセッションを禁止されていると使えない。claude.aiの月額契約があっても、会社契約で組織の管理者がクラウドセッション機能をオフにしている場合、
--teleport自体が出てきません。この場合は自分では解決できません。claude.ai の管理画面で組織管理者がクラウドセッションを有効化する必要があります
書き方
claude --teleport
claude --teleport <session-id>
やってみるとこうなる
入力
claude --teleport
出力例
? Select a cloud session to teleport into:
❯ Add OAuth login flow to the existing Express app (2h ago)
Migrate the user table to use UUIDs (5h ago)
Refactor billing module (yesterday)
✔ Verified repository: my-express-app
✔ Fetched branch claude/oauth-login-flow from remote
✔ Checked out claude/oauth-login-flow
✔ Loaded 47 messages from cloud session
Ready. Resuming from where the cloud session left off.
このページに出てきた言葉
- Web側のClaude Code
- claude.aiのWebサイトやスマホから動かせる、クラウドで走るClaude Code。自分のパソコンを開いてなくても作業を進めてくれる
- session picker
- Web側で動いていたセッションの一覧を矢印キーで選べる対話画面。<code>claude --teleport</code> を素のまま叩くと開く
- ブランチ
- 作業中の変更を他の作業と分けて入れておく作業レーン。「ログイン機能を作る用」のように用途ごとに分けて使う
- fork
- GitHubで他人のプロジェクトを自分のアカウント側にコピーした派生版。本家ではないので、Web側セッションを再開する場所としては使えない
- claude.aiの月額契約
- Anthropicが提供しているclaude.aiの有料プラン。<code>--teleport</code> はこの契約での認証が必須で、会社のAPIキー認証や他社クラウド経由では使えない
- --remote
- スマホやWeb画面からクラウド側のClaude Codeを動かす起動の追加指定。<code>--teleport</code> はこれの逆向き(クラウドから手元へ)の再開役
- -r / --resume
- 同じパソコンで前に動かしていたClaude Codeの会話を呼び戻して再開する起動の追加指定。クラウド側のセッションは対象外なので <code>--teleport</code> とは別物