Claude Code teleportの使い方 — クラウドのセッションをローカルへ引き継ぐ
Claude Codeのteleportで、クラウドセッションをローカルに引き継ぐ手順です。--teleportと/teleport、--cloud、Remote Controlの役割分担、4つの前提条件とエラーの原因を扱います。
claude teleportは、クラウドのセッションをローカルのターミナルへ引き継ぐ機能です。claude --teleportか、セッション内の/teleport(短縮形/tp)で実行します。ブランチと会話履歴が手元に入り、続きをそのまま進められます。逆向き(ローカルからクラウド)は--cloud、ローカルを外から操作するのは/remote-controlで、役割が別です。入口は5つ、事前に満たす条件は4つあり、どれか1つでも欠けるとエラーか確認プロンプトで止まります。
ローカルとクラウドの行き来は、方向ごとに操作が違う
「ローカルとクラウドを行き来したい」ときは、どの方向かで使うコマンドが決まります。teleportが担うのはクラウドからローカルの1方向だけです。
| やりたいこと | 操作 |
|---|---|
| クラウドのセッションをローカルに引き継ぐ | 操作claude --teleport / /teleport |
| 説明文から新しいクラウドセッションを作る | 操作claude --cloud "タスクの説明" |
| 既存のクラウドセッションにメッセージを送る | 操作claude -p "メッセージ" --cloud <session-id> |
| 手元のセッションをスマホやブラウザーから操作する | 操作/remote-control(/rc) |
| ローカルセッションをクラウドへ送る | 操作デスクトップアプリのOpen inメニュー |
CLIから進行中のセッションをクラウドへ送る操作はありません。--cloudは新しいセッションを作る命令で、既存のターミナルセッションは移りません。旧称の--remoteは非推奨エイリアスとして今も動きます。
テレポートはセッションをどう引き込むか
テレポートとは、claude.ai上のクラウドセッションをローカル端末のターミナルに引き込むClaude Codeの機能です。対象はWeb版やモバイルアプリで動いているセッションで、実行すると次の順に処理が進みます。
テレポートの実行中に起きること
- 1
チェックアウトを確認する
Claude Codeが、いま自分が正しいリポジトリのチェックアウト内にいるかを確かめます。
- 2
ブランチを取得する
クラウドセッションのブランチをリモートから取得し、チェックアウトします。
- 3
会話履歴を読み込む
そのセッションの会話履歴を、ターミナルに丸ごと読み込みます。
claude.aiとClaude Codeがそれぞれ何を担うかはClaude.aiとClaude Codeの違いで比較しています。バックグラウンド編集を直接許可する設定はworktree.bgIsolationにまとめています。
クラウドセッションはPro、Max、Teamプランで使え、EnterpriseではプレミアムシートかChat + Claude Codeシートが対象です。典型的な使い方は、通勤中にモバイルアプリでタスクを投げておき、帰宅後にテレポートで手元のターミナルへ持ち帰って続きを詰める、という組み合わせです。クラウド側は環境構築済みの状態でタスクを進めており、ローカルに戻ったあとはエディタや手元のツールをフル活用できます。
引き込み後のターミナルセッションは、独立したコピーになります。ローカルで続けた作業はそのマシンだけのもので、claude.aiやモバイルアプリ側のクラウドセッションには反映されません。複数のセッションを並行して手元で管理したい場合は、Worktreeガイドでブランチごとの作業ツリー分離を確認できます。
クラウド側の操作から知りたい場合は、Claude Code Web版の使い方ガイドが早道です。
--teleportと--resumeはどちらを使うか
名前が似ていますが、参照するデータが違います。迷ったら「セッションがどこで動いていたか」で決まります。
--teleport と --resume の対象
--teleport
claude.ai側のクラウドセッションと、そのブランチを取り込みます。Web版やモバイルで進めた作業を、手元に引き継ぐときに使います。
--resume
このマシンのローカル履歴だけを検索し、会話を再開します。クラウドセッションは一覧に出ません。同じ端末で作業を続けるときに使います。
実行前に満たす4つの条件
テレポートは実行前に4つの条件を確認します。1つでも欠けると、エラーになるか解決を促すプロンプトが出ます。
| 条件 | 内容 |
|---|---|
| 作業ディレクトリに未コミットの変更がない | 内容変更が残っているとテレポートが変更の退避(stash)を提案する |
| 同一リポジトリのチェックアウト | 内容フォークではなく、セッションと同じリポジトリである必要がある |
| ブランチがリモートにpush済み | 内容クラウド側のブランチが未pushだとfetchできない |
| 同じclaude.aiアカウントでの認証 | 内容セッションを作った本人のアカウントでのサインインが必要 |
未コミットの変更は、v2.1.243より前はセッションIDを直接指定する形(claude --teleport <session>)だと、stashを提案せずに終了していました。ピッカー経由では以前から提案されていたので、v2.1.243以降は両方の経路で同じ挙動になります。
リポジトリが違う場合、v2.1.219以降のエラーは、セッション側のリポジトリと手元のチェックアウトの両方を名指しします。それ以前は、手元のチェックアウトのリポジトリ名が出ませんでした。
「同一リポジトリ」の判定は、git@work:owner/repo.gitのようなSSHホストエイリアスでも通る作りになっています。リモートをホスト名に解釈できないときは、確認プロンプトを出します。そのうえでowner名とリポジトリ名がセッション側と一致すれば、チェックアウトを受け付けます。
テレポートする5つの入口
同じ引き込み処理に対して、入口は5つあります。どこからでも結果は同じで、選ぶのは自分がいま居る場所だけです。
入口ごとの使いどころ
claude --teleport
ターミナルを新しく開いて始めるときの入口です。セッションピッカーが開きます。
/teleport(/tp)
すでにClaude Codeセッション内にいて、再起動せずに引き込みたいときに使います。同じピッカーが開きます。
/tasks から t キー
バックグラウンドの複数セッションを一覧してから選びたいときの経路です。
Webのセッションメニュー
claude.ai/codeでOpen in > Terminalを選ぶと、貼り付け用のコマンドがコピーされます。
クラウドセッション内で /teleport
そのセッションに対応する
claude --teleport <session-id>のコマンドを、Claude Codeが返します。セッション側の環境がv2.1.223以降である必要があります。
ターミナルを開いていない状態から始めるなら--teleportが最短です。
claude --teleportセッションIDが分かっている場合は引数に渡すと、ピッカーを経由せず直接そのセッションへ入れます。IDはclaude.ai/codeのセッション一覧で確認できます。
claude --teleport session_01DiUkqY2kzbUbDmW1w96rfiv2.1.285のclaude --helpでは、この引数は省略可能なものとして出ます。手元で確認した出力は次のとおりです。
claude --help | grep -A1 -e '--teleport' --teleport [session] Resume a teleport session, optionally
specify session ID同じヘルプでは、--cloudは説明文かセッションIDかclaude.ai/codeのURLを受け取ると表示されます。新しいクラウドセッションを作るコマンド(-p付きなら既存セッションへメッセージを送るコマンド)で、テレポートとは別物です。名前を取り違えやすい点に注意が要ります。
ピッカーやセッション一覧で複数の作業を見分けやすくしたい場合は、あらかじめセッションに名前を付けておくと--teleport実行時も迷いません。名前を付ける5つの経路と、付けなかった場合に自動で付く2種類のラベルの違いはClaude Codeでセッションに名前をつけて管理するにまとめています。
teleportとRemote Controlはどう違うか
teleportはセッションの中身を手元へコピーし、Remote Controlは手元のセッションを遠隔から操作します。Remote Controlはclaude.aiやモバイルアプリから、自分のマシンで動くセッションに指示を出す仕組みで、実行場所は変わりません。teleportは実行場所がクラウドからローカルに移ります。
テレポート後にスマホから操作するには
テレポートしたセッションはローカルの独立したコピーなので、そのままではスマホやブラウザーから見えません。テレポート後も外出先から指示を出したい場合は、ローカルセッション内で/remote-control(短縮形/rc)を起動します。表示されるURLを開くかQRコードをスキャンすれば、そのローカルセッションをclaude.aiやモバイルアプリから操作できます。「クラウドで始めて手元に持ち帰り、そこから先はRemote Controlでスマホから仕上げる」という流れが組めます。
この組み合わせには、過去の不具合があります。v2.1.261より前は、Remote Control接続中に/teleportで引き込むと、元のセッションの末尾に引き込んだ内容が付いた状態で、スマホやWebに表示されていました。古いバージョンでこの表示に当たったら、更新が先です。
なお、接続中の端末には、引き込んだ会話の過去の履歴が届きません。こちらは不具合ではなく仕様で、更新しても変わりません。
Remote Controlの認証や制限まで含めた詳細はClaude Code Web版の使い方ガイドにまとめています。
変更履歴で見るテレポートの改善点
テレポートは、v2.0.24でWeb→CLIの引き継ぎとして追加された機能です。公式changelogを追うと、機能追加のあとは運用まわりの修正が続いてきた経緯が見えます。
テレポート関連の主な変更
- v2.0.24(2025年10月20日)Web→CLIのテレポートを追加
- v2.0.41(2025年11月14日)Webからのテレポートでupstreamブランチを自動設定
- v2.0.47(2025年11月19日)--teleportのエラーメッセージとバリデーションを改善
- v2.1.0(2026年1月7日)/teleportと/remote-envのスラッシュコマンドを追加
- v2.1.2(2026年1月9日)/tasks使用時にリモートセッションURLとテレポートが壊れる不具合を修正
- v2.1.70(2026年3月6日)VS Code拡張でテレポート済みセッションのマーカーが出ない不具合を修正
- v2.1.108(2026年4月14日)ターミナルのエスケープコードが文字化けする不具合と、前提条件エラーが無言で終了する不具合を修正
- v2.1.219(2026年7月24日)リポジトリ不一致のとき、手元のチェックアウトが指す先も表示
- v2.1.223(2026年8月6日)クラウドセッション側に、ローカルへ引き継ぐコマンドを示すヒントを追加
- v2.1.243(2026年8月25日)セッションID指定の--teleportが、未コミット変更でstashを提案せず終了する不具合を修正
- v2.1.261(2026年9月4日)Remote Control接続中に/teleportで引き込んだセッションが、元のセッションの末尾に付いて表示される不具合を修正
- v2.1.268(2026年9月10日)組織ポリシーで無効のとき、/teleportが「Unknown command」ではなく理由を説明するよう修正
- v2.1.283(2026年9月25日)VS Code拡張で、Claudeの作業中に送ったメッセージがテレポート後に欠ける不具合を修正
- v2.1.285(2026年9月29日)/teleportのfetchでSSHパスフレーズや新規ホストの確認がターミナルを占有しないよう変更
- v2.1.290(2026年10月5日)stashを選ぶと、同名のフォルダに置き換わったファイルの中身が消える不具合を修正(stashは拒否され理由が出る)
- v2.1.296(2026年10月9日)セッションの履歴を読めないとき、--teleportが空の会話を開く不具合を修正
初期は機能追加そのものでしたが、v2.1.108以降は失敗したときの見え方を直す修正が続いています。v2.1.223のクラウド側ヒントは、テレポートの存在をWeb側のUIから気づかせる導線の追加です。
v2.1.285の変更は、SSHの鍵にパスフレーズが付いている環境に関わります。/teleportのfetch中にパスフレーズの入力を求められる代わりに、その場で失敗する挙動になりました。テレポートが取得で止まるときは、SSHの認証状態を先に見ておく選択肢があります。
テレポートでよくあるエラーと対処
テレポートが動かないときは、エラー文言で、認証・プロバイダー・組織ポリシーのどれが原因かを見分けられます。
Cloud sessions aren't available with <provider>が出る: テレポートはclaude.aiサブスクリプション認証が前提です。Amazon BedrockやGoogle CloudのAgent Platformなどのサードパーティプロバイダーを設定している場合、クラウドセッションはAnthropicのインフラ上で動くため使えません。メッセージにはプロバイダー名が入り、CLAUDE_CODE_USE_BEDROCKなどの設定を外してAnthropicアカウントでサインインし直しますUnable to get organization UUIDが出る: APIキー認証のまま、またはアカウント情報が古いままテレポートを呼んでいる状態です。/loginでclaude.aiアカウントに改めてサインインしてから再実行します- ピッカーに
Error loading Claude Code sessionsと出る: セッションIDなしのclaude --teleportで、APIキー認証かアカウント情報の古さが原因のときは、上のメッセージではなくこの表示になります。対処は同じで/loginです Remote Control session expiredやAccess deniedが出る: テレポートはクラウドセッションと同じRemote Control基盤を経由するため、認証エラーがRemote Control由来の文言で出ます。接続トークンは短命でアカウントに紐づいています。/loginで認証情報を更新し、セッションを作ったのと同じアカウントかを確認しますCloud sessions are disabled by your organization's policyやRemote Control may not be available for this organizationが出る: 組織のallow_remote_sessionsポリシーが無効です。Ownerがclaude.ai/admin-settings/claude-codeのClaude Code管理設定で有効にします
v2.1.268より前は、組織ポリシーでクラウドセッションが無効なとき、/teleportや/remote-envが「Unknown command」と返す仕様でした。コマンド自体が無いように見えるので、古いバージョンでこの表示が出たら、まず組織ポリシーを疑う手があります。
v2.1.108より前は、作業ディレクトリに変更が残っている・セッションが見つからないといった前提条件エラーがメッセージを出さずに終了しており、原因が追いにくい状態でした。同バージョン以降は、失敗の理由が画面に出ます。履歴を読めないときのFailed to fetch session from Sessions APIは、再実行と報告の手順で扱っています。
テレポートしたブランチはそのままpushできるか
Web版からのテレポートに限り、v2.0.41以降はブランチのupstream設定が自動で行われます。取り込んだブランチにはあらかじめリモート追跡ブランチが結び付けられているため、作業を終えたあとはgit pushだけでリモートに反映できます。-uオプションでリモートを指定し直す必要はありません。
CLIやモバイルアプリ発のセッションが、この自動設定の対象になるかは、公式changelogに明記がありません。push前にgit branch -vvで追跡先を確認しておくと安心です。
まとめ
手元で続けるなら引き込むだけ、外出先からも触りたいなら引き込んだ先でRemote Controlを起動する、という使い分けになります。
セッションを引き込むのではなく、最初からリモートサーバー上でclaudeを直接使いたい場合は、Claude Code SSH接続ガイドの認証手順が別途必要です。/teleport以外のコマンド一覧も押さえておくと、クラウドとローカルを行き来する運用がさらにスムーズになります。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。