Claude CodeのCloud sessions拒否 — --restrictedと組織ポリシーの切り分け
Claude Codeで出るCloud sessionsの拒否2種を、--restrictedと組織ポリシーに切り分けます。/teleportが通らない理由とOwnerの設定場所も扱います。
claude --cloud や /teleport を実行したときに出る「Cloud sessions」で始まるエラーは、2種類あります。Cloud sessions cannot be created from a --restricted session: they would not enforce it. と、Cloud sessions are disabled by your organization's policy. Contact your organization admin to enable them. です。
前者は自分のセッションの起動方法が原因で、後者は組織の設定が原因です。どちらもサーバーに断られたように見えますが、拒否している場所と直し方は別物です。個々のエラーの一覧はClaude Code webのトラブルシューティング、制限モード自体はClaude Codeの制限モード(--restricted)の使い方にあり、ここでは2つの文言の切り分けだけを扱います。
2つの文言は何が違うのか
文言の前半が同じなので混同しやすいのですが、原因を決めるのは後半です。表の「直す人」の列が、そのまま対処の入口になります。
| 項目 | --restricted 側 | 組織ポリシー側 |
|---|---|---|
| 判定する場所 | --restricted 側クライアント(サーバーへ問い合わせる前) | 組織ポリシー側組織のポリシー |
| 出るタイミング | --restricted 側制限モードのセッションでクラウドセッションを作るとき | 組織ポリシー側クラウドセッションの作成、または /teleport /remote-env /web-setup の実行時 |
| 直す人 | --restricted 側セッションを起動した本人 | 組織ポリシー側組織のOwner |
| 直し方 | --restricted 側--restricted なしで起動し直す | 組織ポリシー側Claude Codeの管理画面で有効化 |
--restrictedのセッションから作れない理由
--restricted は、評価ハーネスが共有マシンで claude を動かす場面を想定した起動フラグです。コマンドを実行する組み込みツールと WebFetch を外し、ユーザー設定やプロジェクト設定を読まずに起動します。フラグ自体の挙動はClaude Codeの制限モード(--restricted)の使い方にまとめています。
クラウドセッションは、手元のプロセスの外で動きます。作成された新しいセッションには制限モードを強制する手段がありません。そのためClaude Codeは、制限モードの保証が崩れる操作そのものを断ります。拒否はクライアント側で完結し、サーバーへは何も送られないので、クラウドセッションは作成されません。
Cloud sessions cannot be created from a --restricted session: they would not enforce it.直し方は2通り
- 制限モードのセッションの中で、タスクをローカルで済ませる
- 起動方法を自分で決められるなら、
--restrictedを付けない新しいclaudeを起動し、そこからクラウドセッションを作る
制限モードで起動したセッションの中から、フラグだけを後で外すことはできません。やり直しは新しいセッションで行います。
環境変数経由でも同じ扱いになる
--restricted を付けた覚えがないのにこの文言が出るなら、環境変数を確認します。CLAUDE_CODE_RESTRICTED=1 は --restricted と同じ効果を持つためです。
echo "$CLAUDE_CODE_RESTRICTED"1 が出るなら、シェルかラッパースクリプトが設定しています。この変数は設定ファイルの env ブロックに書いても無視される仕様なので、原因はシェルの環境変数か起動スクリプトに限られます。
--restricted フラグはv2.1.248で追加されました。それより前のバージョンでは、フラグ自体が未知のオプションとして拒否されるため、この文言には到達しません。
組織ポリシー側:どのコマンドで出るのか
もう1つの文言は、組織の allow_remote_sessions ポリシーがオフのときに出ます。表示されるのは、ターミナルからクラウドセッションを作るときと、クラウドセッションを必要とするコマンドを送信したときです。
claude --cloud "..."でクラウドセッションを作る/teleport(クラウドセッションを手元のターミナルへ引き込む)/remote-env(CLIから始めるクラウドセッションの既定環境を選ぶ)/web-setup(ローカルのghの認証情報でGitHubを接続する)
claude -p "..." --cloud <session-id> で既存のクラウドセッションにメッセージを送る場合も、同じポリシーが必要です。送信時のエラーは次のように分かれます。
| 文言(抜粋) | 意味 |
|---|---|
Cloud sessions are disabled by your organization's policy. | 意味allow_remote_sessions がオフ |
Couldn't verify your organization's policy for cloud sessions. | 意味ポリシーを取得できなかった |
Cloud sessions aren't available with <provider>. | 意味Bedrockなど第三者プロバイダー設定のため、Anthropicアカウントが必要 |
v2.1.268より前はUnknown commandだった
v2.1.268より前のバージョンでは、/teleport や /remote-env、/web-setup を実行しても、この文言ではなく Unknown command が返っていました。ポリシーが原因なのに「コマンドが存在しない」と見えるため、古いバージョンでは原因にたどり着きにくい症状でした。同じ症状を /web-setup の側から見た切り分けはClaude Code webのトラブルシューティングにあります。claude --version でv2.1.268以降か確かめると、Unknown command がポリシー由来かどうかを見分けやすくなります。
ローカル設定では上書きできない
これはサーバー側の組織ポリシーです。ローカルの設定ファイル、環境変数、CLIフラグのどれを使っても上書きできません。settings.json を編集しても、利用者側で回避する方法はありません。
直す人はOwner
ポリシーを変えられるのは、組織のOwnerです。Claude Codeの管理設定ページ(claude.ai/admin-settings/claude-code)でクラウドセッションを有効にしてもらいます。管理者に依頼する文面は、次の2点を伝えれば足ります。
- 出ているメッセージの全文(
Cloud sessions are disabled by your organization's policy.) - 使いたい機能(
claude --cloud、/teleportなど)
ポリシーを取得できないときは別のメッセージになる
Claude Codeが組織のポリシーをまだ読み込めていない、または取得に失敗したときは、ポリシーがオフとは別の文言が返ります。コマンド側では次のとおりです。
Couldn't verify your organization's policy for cloud sessions. Check your network connection, then restart Claude Code and try again.--cloud <session-id> で送信する場合は、末尾が Check your network connection and try again. で、再起動の案内を含みません。どちらも「ポリシーが許可しているかが分からない」状態で、許可されているとは仮定せずに拒否する挙動です。この場合に必要なのはOwnerへの依頼ではなく、ネットワークの確認です。接続を確かめ、Claude Codeを再起動してやり直します。
v2.1.296(2026年10月9日)の更新では、拒否されたクラウドセッションのエラーが改善されました。ポリシーを読み込めなかった理由を伝え、claude.aiのログインを上書きしているAPIキーや認証トークンがあれば、それを名指しします。ANTHROPIC_API_KEY のようなキーを環境に残したまま /login でclaude.aiにサインインしている場合の切り分けに使えます。クラウドセッション全体の仕様はClaude Code Web版とは、/teleport の使い方はClaude Code teleportの使い方を参照してください。
ポリシーが原因でないのに断られるとき
組織ポリシーが有効でも、サインインの状態や接続先の設定によってクラウドセッションは作れません。claude --cloud "..." はclaude.aiのアカウントでログインした claude で使う機能で、作成されるセッションは現在のディレクトリのGitHubリモートを、現在のブランチでクローンします。ローカルにしかないコミットは、先にプッシュしておきます。
APIキーや認証トークンがログインを上書きしている
v2.1.296のエラーが名指しするのは、claude.aiのログインより優先されるキーやトークンです。ANTHROPIC_API_KEY は、設定されているとログイン済みでもサブスクリプションより優先して使われます。ANTHROPIC_AUTH_TOKEN は Authorization ヘッダーの値を差し替える変数です。シェルに残っていないかを見て、外してからサインインし直します。
env | grep -E '^ANTHROPIC_(API_KEY|AUTH_TOKEN)='
unset ANTHROPIC_API_KEY ANTHROPIC_AUTH_TOKEN
claude新しく起動した claude で /login を実行し、claude.aiのアカウントでサインインします。変数がシェルのプロファイルで毎回設定されているなら、unset だけでは次回の起動で戻るため、プロファイル側の定義を消します。
第三者プロバイダーの設定を外す
BedrockやGoogle CloudのAgent Platformを使う設定のままだと、Cloud sessions aren't available with <provider>. で断られます。クラウドセッションはAnthropicのインフラで動くためです。プロバイダーを選ぶ変数を外し、Anthropicアカウントでサインインします。
unset CLAUDE_CODE_USE_BEDROCK CLAUDE_CODE_USE_VERTEX
claude auth loginANTHROPIC_BASE_URL だけでLLMゲートウェイを使っている場合は、第三者プロバイダー扱いにはなりません。ただしサインインは必要です。
既存セッションに送るときの起動形
--cloud には2つの形があります。作成は claude --cloud "タスクの説明"、既存セッションへの送信は -p とセッションIDを組み合わせます。
claude -p "続きをお願いします" --cloud <session-id><session-id> には session_... や cse_... のIDか、claude.ai/code/<id> のURLを渡せます。IDはclaude.ai/codeのセッション一覧で確かめます。Session not found: <id> と出たら、IDかURLがアクセスできるセッションと一致していません。-p を付けずにIDだけを渡すと、Attaching to an existing cloud session is not enabled for your account. で断られます。
切り分けの順番
文言の後半を読めば決まりますが、メッセージを見ていない状態から確かめるなら次の順です。
Cloud sessions拒否の切り分け
- Qメッセージに --restricted と書かれているか?答えがいいえ答えがはい
起動方法の問題です。
--restrictedなしの新しいセッションから作ります。CLAUDE_CODE_RESTRICTEDが設定されていないかも確認します。 - Qメッセージが Cloud sessions are disabled by your organization's policy か?答えがいいえ答えがはい
組織ポリシーの問題です。Ownerにclaude.ai/admin-settings/claude-codeでの有効化を依頼します。
- Qメッセージが Couldn't verify your organization's policy か?答えがいいえ答えがはい
ポリシーの取得失敗です。ネットワークを確認し、Claude Codeを再起動します。
それでも出るとき
Unknown command が出るなら、v2.1.268より前のバージョンの可能性があります。バージョンを更新してから、もう一度確かめます。
よくあるつまずき
ポリシー側なのにローカル設定を探し続ける — allow_remote_sessions はサーバー側のポリシーで、settings.json に対応するキーはありません。ローカルの編集では変わらないので、Ownerへの依頼に切り替えます。
CIのラッパーが制限モードで起動している — 評価ハーネスが CLAUDE_CODE_RESTRICTED=1 を付けて claude を呼ぶ構成では、その中でクラウドセッションを作ろうとしても拒否されます。クラウドセッションが必要な処理は、制限モードの外のセッションに分けます。
第三者プロバイダー設定のまま --cloud を使う — Bedrockなどを使う設定では、クラウドセッションは使えません。クラウドセッションはAnthropicのインフラで動き、Anthropicアカウントを必要とします。手順は上の「第三者プロバイダーの設定を外す」のとおりです。