Claude Codeをスマホから使う前に、自動接続とファイルの権限を見直しました。ダミーファイルで試すと、禁止した操作が拒否されることを確かめられました。設定の手間は増えましたが、今は安心感があります。
きっかけは、大手企業の情報漏えいのニュースでした。自宅PCのClaude Codeを、起動するたびにスマホから使える設定にしていたのが気になったのです。
スマホからの操作には、公式機能のRemote Controlを使います。処理はPCで動き、スマホから指示や確認への返答を送れます。この記事では、私が変えた設定と、ダミーファイルで確かめる手順を紹介します。
検証は2026年10月28日に、Windows 11・Claude Code 2.1.310で行いました。画像は10月31日に2.1.312で撮り直しています。スマホからの依頼も表示されるPC側の画面を使っています。
関連記事:学習させない設定などは、Claude Codeのセキュリティ設定(学習させない設定と最初の3つ)で紹介しています。
スマホで使う前に見直した4つのこと
- 自動接続をオフにし、使うときだけ接続します。
- APIキーやログイン情報を読む操作をdenyに登録し、確認なしで通る範囲を狭めます。
- Googleの2段階認証と、claude.aiの信頼済みデバイスを設定します。
- 作業させたいフォルダで起動し、ダミーファイルで設定を確かめます。
denyは、特定のファイルやコマンドの操作を禁止する設定です。設定を間違えると読めてしまうので、本物の認証情報では試しません。ダミーで確かめられるのは、denyの書き方と起動する場所が効くかまでです。
また、画面ロックやスリープは、Remote Controlを切断する操作ではありません。私の検証では、スリープ中に送った指示も復帰後に実行されました。
点検から試験まで、私は3日で約226分かかりました(Claude Codeとの会話の記録の時刻から数えた値)。時間はかかりますが、やれることはしておくべきだと考えています。
設定はClaude Code・claude.ai・Googleで見直す
見直して驚いたのは、やることの多さです。Claude Codeだけでなく、claude.aiとGoogleでも操作が必要でした。どこを変えるのかで迷ったため、設定する場所を表にしました。
| 見直す内容 | 設定する場所 |
|---|---|
| 自動接続 | Claude Codeの/config(VS Codeは拡張機能の設定) |
| ファイルやコマンドの権限 | Claude Codeの設定ファイル |
| 信頼済みデバイス | claude.aiの「設定」→「アカウント」 |
| 2段階認証 | ログインに使うGoogleアカウント |
自動接続をオフにする
Claude Codeのターミナルで/configを開き、「Enable Remote Control for all sessions」をオフにしました。設定ファイルではremoteControlAtStartupにあたります。VS Codeでは拡張機能の設定で切り替えます(Remote Control公式)。
変更後、新しく起動しても自動でつながらないことを確かめました。今は、外出するときだけ/remote-controlを入力して接続しています。

認証情報を読む操作をdenyに登録する
Claude Codeには、どのプロジェクトでも使う「ユーザー設定」と、作業するフォルダごとの「プロジェクト設定」があります。認証情報のdenyは、どこで起動しても読み込まれるユーザー設定に書きました。
Windowsでは、C:\Users\<ユーザー名>\.claude\settings.jsonです。プロジェクト設定は、作業フォルダ内の.claudeに置きます(設定ファイルの公式説明)。
次は、よくある保存先を使った設定例です。自分のPCの保存先に合わせてください。既存のdenyがある場合は、その一覧に追記します。
{
"permissions": {
"deny": [
"Read(~/.claude/.credentials.json)",
"Read(~/AppData/Roaming/GitHub CLI/**)",
"Read(**/.env)",
"PowerShell(*.credentials.json*)",
"PowerShell(*gh auth*)",
"PowerShell(*git credential*)"
]
}
}
Readはファイルを読む機能です。PowerShellはWindowsでコマンドを実行する機能です。~はC:\Users\<ユーザー名>を表します。Bashも使う環境では、コマンドの禁止をBash(…)にも登録します。
Read(**/.env)の対象は、起動したフォルダとその下にある.envです。親フォルダや別のプロジェクトまでは対象になりません(権限設定の公式説明)。
GitHub CLIは、通常、OSが管理する場所に認証情報を保管します。そのため、設定フォルダだけでなく、認証情報を表示できるコマンドも禁止しました(GitHub CLI公式)。
ただし、コマンド内の文字列で禁止すると、関係のない作業が止まることもあります。私の環境でも、認証情報のフォルダ名を含む別のコマンドが拒否されました。逆に、フルパスで呼ぶなど書き方を変えた同じコマンドは止まりません(権限設定の公式説明)。
確認を省く範囲を狭める
ターミナルとVS CodeのClaude Codeは、初期設定でautoモードです。autoモードは、操作を許可するかを、作業するClaudeとは別のモデルが判断するモードです。作業フォルダ内の読み取りや編集は、確認なしで通ります。スマホから頼んだ操作でも同じです(モードの公式説明)。
私は、確認なしで許可するallowから、対象が広すぎる指定を削除しました。確認を飛ばすbypassモードも禁止しました。処理の手順を書いたスクリプトや設定ファイルの編集には、必ず確認を出すaskを追加しています。
bypassを禁止する項目は、permissions.disableBypassPermissionsModeです。値を"disable"にします(権限設定の公式説明)。
その分、確認は増えました。定期処理の起動ファイルを直してもらったときは6回でした。よく使う作業手順をまとめたスキルの設定では、12回出ました。
スマホに確認が届いたら、自分が頼んでいない操作と、作業フォルダの外に触る操作は拒否すると良いです。確認の画面は答えるまで開いたままなので、急いで許可を押す必要はありません(Remote Control公式)。
関連記事:allow・ask・denyの違いや優先順位は、Claude Codeの許可設定|確認を減らす前に聞く対象を選び直すにまとめています。
ログインと使える端末を確認する
claude.aiには、Googleアカウントでログインしています。そのため、Googleでは2段階認証がオンかを確かめ、スマホが使えないときに備えてバックアップコードを紙に控えました。claude.aiでは、PCにパスキーも追加しています。パスキーは、指紋・顔・PINなどで本人を確かめるログイン方法です。
スマホのアプリにはパスキーを追加する項目が見当たらず、Googleでのサインインを続けています。
さらに、claude.aiの「設定」→「アカウント」で「信頼済みデバイスを要求する」をオンにしました。登録した端末からだけRemote Controlを使えるようにする設定です。スマホに出た案内に沿ってサインインすると、デバイスの一覧にスマホとPCのClaude Codeが並びました。
この機能はベータ版で、初期設定ではオフです(Remote Control公式)。スマホの通知も、ロック画面に内容を出さない設定にしました。

起動するフォルダを間違え、設定が効かなかった
設定後、作業フォルダの外にダミーファイルを置き、スマホから読ませてみました。最初は失敗し、禁止したはずのファイルが確認なしで読めてしまいました。
denyが効かなかった原因は、起動した場所です。C:\cc_safety_test\workにプロジェクト設定を置いたのに、Claude Codeをホームフォルダで起動していました。そのため、workの設定が読み込まれていませんでした。
公式の説明では、作業フォルダの外を初めて読むときは確認が出ます(モードの公式説明)。私の画面で出なかった理由は、確かめていません。作業フォルダの中は確認なしで読めるので、ホームで起動するとホームの中のファイルも確認なしで読めるはずです。この点は試していません。
設定ファイルの場所だけでなく、Claude Codeをどこで起動したかも確認が必要です。
workに移動して起動し直すと、次の操作はすべて確認画面を出さずに拒否されました。
| スマホから頼んだ操作 | 結果 |
|---|---|
| Readで外のダミーを読む | 拒否された |
| Writeで外のフォルダにファイルを作る | 拒否され、ファイルも作られなかった |
| PowerShellのGet-Contentで外のダミーを読む | 拒否された |
Get-Contentは、ファイルの中身を表示するコマンドです。この検証では、ファイルの場所とコマンドの両方をdenyに登録しました。ReadのdenyだけでGet-Contentも止まるかは、確かめていません。

denyだけで、PC全体を保護できるわけではない
denyを設定しても、実行したPythonなどのプログラムが自分で開くファイルまでは制限できません(権限設定の公式説明)。
また、Windowsに直接入れたClaude Codeでは、OS側でコマンドのアクセス範囲を制限するサンドボックスが使えません(サンドボックスの公式説明)。
私は、外出時は見られて困るファイルのないフォルダで作業することにしました。ただし、作業フォルダを絞るだけで、別の場所へのアクセスを完全に防げるわけではありません。
画面ロックやスリープでは、接続を切ったことにならない
使い終わったときの操作も試しました。
| PCで行った操作 | スマホから指示した結果 |
|---|---|
| Win+Lで画面をロック | 作業フォルダ内のダミーを読めた |
| Windowsをスリープ | 約3分のスリープ中はつながらず、復帰後に指示が実行された |
/remote-controlで接続を止める | スマホから指示を送れず、PCにも届かなかった |
スリープは、一時的に動かなくなるだけでした。接続を終えるには、PC側でRemote Controlを停止します。私の環境では、ターミナルで/remote-controlをもう一度入力すると切断されました。公式の案内では、このコマンドで開く状態画面から切断できます(Remote Control公式)。
今は、外出時に手動で接続し、帰宅したら停止しています。最後に、スマホから指示を送れないことまで確かめています。
ダミーファイルでdenyを確かめる手順
ここでは、私が試した設定を使います。本物のAPIキーやログイン情報は使わず、消しても困らないファイルだけで試してください。
画面を撮りながら、起動してから接続を止めるまで(2と3)を通したときは、約15分でした(2026-10-31・スクショの時刻から数えた値)。1の準備の時間は入っていません。
1. 試験用のフォルダと設定を用意する
エクスプローラーでC:\cc_safety_testを作り、その中にworkとoutsideを作ります。outsideには、適当な1行を書いたoutside_dummy.txtを保存します。
次に、workの中に.claudeフォルダを作ります。以下の内容をsettings.local.jsonとして保存してください。
{
"permissions": {
"deny": [
"Read(//c/cc_safety_test/outside/**)",
"Edit(//c/cc_safety_test/outside/**)",
"PowerShell(*outside_dummy*)"
]
}
}
ReadとEditの行は、outside内の読み書きを禁止します。最後の行は、outside_dummyを含むPowerShellのコマンドを禁止します。//c/はCドライブを表す書き方です。
メモ帳で保存するときは、ファイルの種類を「すべてのファイル」にします。名前の末尾に.txtが付かないようにしてください。
2. workで起動し、スマホからつなぐ
ターミナルでcd C:\cc_safety_test\workを実行し、続けてclaudeで起動します。/remote-control safety-testのように名前を付けて入力し、スマホのClaudeアプリから接続してください。
/remote-controlの後ろに付けた名前は、セッションの題名になります。名前を付けないと、最初の依頼を送るまで、端末名を含む題名が付きます。名前と最初の依頼に、本名や端末名を入れないでください。
最初に、スマホから次の文を送ります。
作業ディレクトリのパスだけを答えてください。ファイルの読み書きやコマンドの実行はしないでください。
C:\cc_safety_test\workと返れば、想定した作業フォルダです。違う場合は接続を止め、起動する場所を見直してください。

関連記事:フォルダを移動して起動する方法は、Claude CodeのWindowsでの始め方(フォルダを移動して起動する)で紹介しています。
3. 読み取りが拒否されるかを確かめ、接続を止める
スマホから、次の文を送ります。
次の2つを1回ずつ試し、返ってきた表示をそのまま教えてください。拒否されたら、別の方法で読み直さないでください。
1. Read ツールで C:\cc_safety_test\outside\outside_dummy.txt を読む
2. PowerShell で Get-Content C:\cc_safety_test\outside\outside_dummy.txt を実行する
どちらも、確認画面が出ずに拒否されることを確かめます。私の画面では、拒否を示す「denied」を含む表示が返りました。
読めてしまったり、許可を求められたりした場合は、設定が想定どおりに効いていません。起動したフォルダと、work\.claude\settings.local.jsonの保存先や内容を見直してください。
最後にPCでRemote Controlを停止し、スマホから送信できないことを確かめます。試験が終わったら、C:\cc_safety_testを削除して片付けます。
よくある質問
ルーターの設定を変える必要はありますか?
必要ありません。Remote ControlはPCから外向きのHTTPS通信を使い、受信用のポートを開きません(Remote Control公式)。私の環境でも、スマホのWi-Fiを切ったモバイル回線から操作できました。
Proプランで使えますか?
使えます。対応プランはPro・Max・Ultra・Team・Enterpriseです。APIキーでのログインには対応していません。TeamとEnterpriseは管理者による有効化が必要です(Remote Control公式)。
会話やファイルはクラウドに保存されますか?
ファイルの読み書きはPCで行われます。一方、接続中の会話やツールの実行記録はAnthropicのサーバーに保存されます(Remote Control公式)。ローカルで動く機能でも、Claudeが読んだファイルの中身を含め、会話に出た内容はPCの中にとどまりません。
スマホをなくしたら、何をすればよいですか?
私は紛失時に備え、次の順番を決めています。
- 別の端末からclaude.aiの信頼済みデバイス一覧を開き、スマホを削除します。
- PCでRemote Controlを停止します。
- ログイン用アカウントのパスワードと、ログイン中の端末を見直します。
デバイスの削除は、PCの前にいなくてもできます。削除した端末の認証情報はすぐに無効になります。ただし、その端末もサインインし直せば登録し直せます(Remote Control公式)。そのため、3の見直しも行います。
関連記事:APIキーも使っている方は、APIキー流出の高額請求に備えて点検(上限・残高・放置したキー)も参考にしてください。
まとめ
Claude Codeをスマホで使う前に、自動接続、認証情報へのアクセス、確認なしで通る範囲、ログイン設定を見直しました。設定を置くだけで終わらせず、作業フォルダで起動してダミーで試すところまで行っています。
まずは/config(VS Codeは拡張機能の設定)で自動接続を確かめてください。使い終わったらRemote Controlを停止し、スマホから送れないことも確認します。面倒でも、つながっている時間を自分で決められると安心感があります。

コメント