「スマホからClaude Codeを操作できる!」と話題のRemote Control機能、あなたはもう試しましたか?外出先からでも自分のPCのコーディングセッションを監視・操作できるこの機能は、開発者の働き方を根本から変える可能性を秘めています。しかし、その便利さの裏には見過ごせないリスクが潜んでいます。
2026年3月には、Claude Codeに本番データベース全消去という衝撃的な事故も発生しました。適切な権限設定なしにAIエージェントに全権を委ねることが、いかに危険かを示す事件です。
この記事では、Claude CodeのRemote Control機能の正しい管理者設定から、権限設定の落とし穴、そしてセキュリティを担保しながらスマホ運用を実現する具体的な方法まで、最新情報をふくめて徹底解説します。
- Claude Code Remote Controlの管理者設定方法と、Team/Enterpriseプランで必要な有効化手順の全解説
- permissions.denyの既知バグと、代替策としてのhooksによる確実なセキュリティ設計
- 本番環境破壊事故の教訓から学ぶ、AIエージェントに与えるべき権限の正しい考え方
Claude Code Remote Controlとは?管理者が知るべき基本のしくみ

AIのイメージ
リモートコントロール機能の概要と動作原理
Claude Code Remote Controlは2026年2月25日にリサーチプレビューとして公開された機能で、ローカルマシンで動作しているClaude Codeのセッションを、スマホやブラウザから遠隔操作できるしくみです。
重要なのは、これはクラウドへの移行ではないという点です。コードやファイルシステム、MCP(Model Context Protocol)サーバーなどはすべてローカルマシンにとどまります。スマホやブラウザはあくまでローカルセッションへの「のぞき窓」として機能します。通信はAnthropicのAPIサーバーを中継するアウトバウンドHTTPS接続のみで行われ、ローカルマシンにインバウンドのポートが開くことはありません。
具体的に何ができるかというと、デスクで開始した長時間のリファクタリングや依存関係の更新タスクをそのまま走らせながら、外出先のスマホで進捗確認や指示の追加が行えます。ターミナルのUIはタッチ操作に最適化されており、ファイル変更の承認や次の指示を送ることが実用的なレベルで可能です。
管理者設定が必要なプランとその手順
Remote Controlを使うには、まず利用プランと設定の確認が必要です。
個人向けのPro/Maxプランであれば、原則としてすぐに利用開始できます。ただしTeamプランとEnterpriseプランでは、管理者が明示的に機能を有効化しない限り、Remote Controlはデフォルトでオフになっています。
管理者がRemote Controlを有効にするには、claude.ai/admin-settings/claude-codeにアクセスし、「Remote Control」のトグルをオンに切り替えます。これはサーバーサイドの組織設定であり、managed-settings.jsonのキーとは別物です。
なお、「管理者トグルがグレーアウトしている」場合は、組織のデータ保持やコンプライアンス設定がRemote Controlと非互換な状態にあります。この場合はAnthropicサポートへの問い合わせが必要です。
使用するにはClaude Codeのバージョン2.1.51以降が必要です。バージョン確認はclaude –versionコマンドで行います。また、claude.aiのOAuth認証が必須で、APIキー認証では動作しません。もしAPIキーを環境変数(ANTHROPIC_API_KEY)に設定している場合は、一時的に解除してから/loginコマンドでclaude.aiアカウントでサインインし直す必要があります。
セッションの開始方法と自動有効化の設定
Remote Controlセッションの開始には大きく2つのパターンがあります。
新しいセッションとして立ち上げる場合は、プロジェクトディレクトリでclaude remote-controlコマンドを実行します。ターミナルにセッションURLとQRコードが表示され、スペースキーでQRコードを表示できます。スマホのカメラでスキャアすればすぐにアクセスできるので非常にスムーズです。
すでに進行中のセッションをリモート対応に切り替えたい場合は、会話内で/remote-control(省略形は/rc)と入力するだけです。会話履歴がそのまま引き継がれるため、作業の途中で外出する必要が生じたときにも対応できます。
毎回コマンドを入力するのが面倒な場合は、Claude Code内で/configを実行し、「Enable Remote Control for all sessions」をtrueに設定することで、以降すべてのセッションで自動的にRemote Controlが有効になります。なお、1つのClaude Codeセッションに接続できるリモートクライアントは複数でも問題ありませんが、1つのRemote Control設定で複数の独立したセッションをまとめて管理することはできません。各セッションは個別に設定が必要です。
本番データベース全消去事故が教えてくれたこと!権限設定の本質
2026年3月に起きた衝撃の事故とその真因
2026年3月、DataTalks.ClubのAlexey Grigorev氏がX(旧Twitter)に投稿した内容が開発者コミュニティに衝撃を与えました。Claude CodeがTerraformコマンドで本番データベースを含むインフラ全体(VPC、RDS、ECSクラスター、ロードバランサー)を消去し、2.5年分のコース提出データが一瞬にして失われたのです。
事故の経緯を整理すると、AWSへの移行作業中にTerraformのstateファイルをローカルにしか置いておらず、不完全な状態でClaude Codeに作業を任せたことが発端でした。stateファイルが欠落した状態で重複リソースが作成され、後からstateファイルをアップロードすると、エージェントは「あるべき状態に戻す」ためにterraform destroyを自動実行してしまったのです。
皮肉なことに、Claude Code自体はこの作業構成に対して「インフラを分けるべき」と警告を発していました。しかしGrigorev氏はその提案を無視して作業を進めました。エージェントは指示通りに動いただけであり、AIが暴走したのではなく、不適切な権限設定のまま運用した人間側の設計ミスが根本原因です。
この事故後、RDSに削除保護が設定されていればterraform destroyは失敗していたこと、最小権限の原則(Claude Codeに削除系のAWS権限を与えない)を徹底していれば防げたことが明らかになっています。
permissions.denyに頼れない現実と代替策
Claude Codeの設定ファイル(settings.json)にはpermissions.denyという機能があり、特定のコマンドや操作をブロックできるように見えます。しかし現時点では、この機能には複数の深刻なバグが報告されており、実質的に動作しないケースが多数確認されています。
公式のGitHub Issue(#6699)のコメントには「現時点でdenyの機能が修正されるまで、機密ファイルを保護する唯一の信頼できる方法はPreToolUse hookを使うことだ」と端的にまとめられています。
では何を使えばよいのか?答えはhooks(フック)です。Anthropicの公式ドキュメントには、「hooksはLLMの判断を経由せず、シェルスクリプトレベルで確定的に実行される」と明記されています。プロンプトによる指示はあくまで「お願い」ですが、hooksはコードレベルで強制されるため、はるかに信頼性が高いのです。
PreToolUseフックをstdinからJSON入力を受け取る形で実装し、exit 2でブロックすることで、terraform destroy、rm -rf、本番環境へのデプロイなどの危険操作を確実に遮断できます。組織全体に設定を強制したい場合はmanaged-settings.jsonを使います。このファイルはユーザーやプロジェクトのsettings.jsonで上書きできないことが公式ドキュメントに明記されており、個人設定よりも強い拘束力を持ちます。
Check Pointが発見した脆弱性から学ぶセキュリティの考え方
2025年から2026年にかけて、セキュリティ企業Check Point ResearchがClaude Codeの重大な脆弱性(CVE-2025-59536、CVE-2026-21852)を発見し報告しました。いずれも既にパッチ適用済みですが、その内容は示唆に富みます。
.claude/settings.jsonはリポジトリに含まれるファイルです。つまり、悪意のある攻撃者がhookを埋め込んだリポジトリをクローンするだけで、開発者のマシンで任意コードを実行させられる可能性があったのです。AIの賢さや設定の正確さとは無関係に、攻撃面がファイルシステムやネットワークに広がっているという構造的問題が明らかになりました。
信頼できないリポジトリをクローンする際には特に注意が必要で、.claude/settings.jsonの内容を必ず確認してから作業を開始する習慣が重要です。また、–dangerously-skip-permissionsフラグはCI/CDパイプラインなど制御された環境のみで使用し、ローカル開発セッションでは絶対に使わないことが強く推奨されます。
Remote Controlを安全に運用するための実践的な設定ガイド
Docker+tmux+Gitの組み合わせが最強の理由
スマホからRemote Controlを活用するにあたって、多くの実践者が行き着く構成がDockerとtmuxとGitの組み合わせです。それぞれの役割を理解しておきましょう。
Dockerを使う最大のメリットは、Claude Codeがホスト環境に直接アクセスできないよう分離できる点です。ただし、-v $(pwd):/workspaceでマウントしたディレクトリ配下のファイルはコンテナ内から変更されるため、完全な分離ではありません。「ホスト直実行よりリスクを下げやすい」という意味での有効策です。
tmuxの役割は通信切断対策です。Remote Controlのセッションは仕様上10分程度で切れることがあり、スマホ回線や公衆Wi-Fiでは接続が不安定になりがちです。tmux上でClaude Codeを動かしておけば、接続が切れてもセッション自体は残り続けます。Tailscaleで接続経路を確保し、Termiusなどのモバイルターミナルアプリと組み合わせることで、tmuxセッションへの再接続が容易になります。
Gitについては、作業前のコミットがほぼ必須です。Claude Codeが意図しない変更を加えても、直前のコミットがあれば即座に戻せます。git stashや作業ブランチの切り分けを徹底することで、事故発生時のロールバックが格段にスムーズになります。
CLAUDE.mdによる行動規範の明示と効果
hooksによる技術的ブロックに加えて、CLAUDE.mdにエージェントの行動規範を明記することも重要な設定の一つです。LLMは与えられた指示を読んで判断するため、「本番環境への操作は行わない」「terraform destroyは絶対に実行しない」「削除操作の前には必ず確認を取る」といったルールを明示することで、そもそもエージェントが危険な操作を試みる頻度を下げられます。
hooksが「物理的なブロック機構」であるとすれば、CLAUDE.mdは「行動指針を植え付けるもの」です。どちらか一方では不十分で、両方を組み合わせることで二重の安全網が生まれます。
インフラ側の削除保護も必ず設定する
Claude Code側の設定がどれほど正確でも、インフラ側に削除保護がなければ最終的な防衛線が存在しません。今回のDataTalks.Clubの事故でも、RDSに削除保護を設定していればterraform destroyは失敗していました。
AWSであればRDSの削除保護(deletion_protection = true)、S3バケットのバージョニング有効化とObject Lock、Terraformのstate管理をローカルではなくS3バックエンドに移行することが基本対策です。また、Claude Codeが使用するIAMクレデンシャルには、最初から削除系の権限(DeleteDBInstance, DestroyVPCなど)を付与しないことが根本的な解決策になります。AIエージェントには必要最小限の権限だけを与え、人間が手動で確認すべき操作(destructiveな変更)は承認フローを必ず挟む設計にすることが、すべての設定の前提となる考え方です。
Claude Codeのリモート管理者設定に関する疑問解決
TeamプランでRemote Controlを有効にしたのにエラーが出るのはなぜ?
最も多い原因は認証方法のミスマッチです。Remote ControlはAPIキー認証ではなく、claude.aiのOAuth認証を必要とします。環境変数にANTHROPIC_API_KEYが設定されている場合は一時的に解除し、claude内で/loginコマンドを実行してclaude.aiアカウントでサインインし直してください。
それでもエラーが出る場合、「管理者トグルがグレーアウトしている」ケースでは、組織のコンプライアンス設定がRemote Controlと非互換な状態です。この場合はAnthropicサポートへの問い合わせが必要で、管理画面からは変更できません。また、Claude Codeのバージョンが2.1.51未満の場合も動作しません。claude –versionで確認し、必要であればアップデートしてください。
Remote Controlのセッションが10分で切れてしまう問題への対処法は?
これはリサーチプレビュー段階での仕様上の制限です。対処法としては、tmuxを使ってセッションを維持することが最も効果的です。tmux上でClaude Codeを起動しておけば、Remote Controlのセッションが切れてもローカルのClaude Codeプロセス自体は継続して動作します。
再接続したい場合はTailscale+Termiusなどで対象マシンにSSH接続し、tmux attachでセッションに戻ってから/rcコマンドで再びRemote Controlセッションを開始します。スマホからの運用を前提とするなら、最初からこの構成で臨むことを強く勧めます。
Remote Controlを使うとソースコードがAnthropicのサーバーに送られるの?
ソースコードそのものは送られません。ファイルの中身・環境変数・MCP設定などはすべてローカルマシンにとどまり、AnthropicのAPIサーバーを通過するのはチャットメッセージとツールの実行結果のみです。Remote Controlはクラウドへのコードのアップロードではなくセッションへのリモートアクセスです。この点はClaude Code on the web(Anthropicのクラウドインフラ上でClaude Codeを動かす別機能)とは根本的に異なります。
とはいえ、セッションURLは一種のクレデンシャルとして扱う必要があります。URLを知っている人間はそのClaude Codeセッションを操作できてしまうため、QRコードや URLを第三者と共有しないよう注意してください。また、使用後はスリープや電源オフでセッションを終了させることも有効な対策です。
まとめ
Claude CodeのRemote Control機能は、開発者がデスクから離れながらも長時間の自律的なコーディングタスクを監視・操作できる、2026年を代表する実用的な機能です。しかし、その便利さを安全に享受するためには、管理者設定・権限設定・インフラ側の防御という三層の対策が不可欠です。
Team/Enterpriseの管理者はclaude.ai/admin-settings/claude-codeで機能を有効化し、managed-settings.jsonで組織ポリシーを強制する。個人開発者はpermissions.denyのバグを認識した上で、PreToolUseフックを主防御として設計し、CLAUDE.mdで行動規範を明示する。そしてインフラ側にはRDSの削除保護やIAM最小権限を設定し、Claude Codeには破壊的操作の権限を与えないことが、すべての設定の根本にある原則です。
AIエージェントに任せる範囲と、人間が確認すべき範囲を明確に線引きしてこそ、Remote Control機能の真の価値が発揮されます。今日からでもhooksの設定とGitによる作業前コミットを習慣にして、安全で快適なスマホ開発ライフを始めてみてください。


コメント