承認ダイアログが多すぎてRoo Codeの連続実行が止まるなら、すべての自動承認を有効にするのが最短解ではありません。
最速の解決策は、隔離した作業環境で読み取り、限定編集、検証コマンド、MCPツールの順に許可し、秘密情報、公開処理、削除、システム変更は手動承認に残すことです。
対象読者
頻繁に確認操作を求められ、Roo Codeの作業を連続させたい個人開発者向けです。
リモート開発環境やクラウド上のMacで長時間動かしたいチーム、AIエージェントの権限、秘密情報、MCPツールを監査するセキュリティ担当者にも適しています。
自動承認を全開放しない理由
Roo Codeの自動承認は、確認画面を省略して処理を進める機能です。公式ドキュメントも、ファイル破損、データ損失、システムへの影響が起こり得るため、信頼できる操作だけに使うよう警告しています。公式の自動承認ガイドでは、読み取り、編集、コマンド実行、ブラウザー、MCPサーバーなどが別の権限として扱われています。
最初に分けるべき制限は、少なくとも次の4つです。
- 対象範囲の制限:ワークスペース内だけか、外部ディレクトリまで読めるか。
- 操作内容の制限:読むだけか、ファイルを書き換えるか、外部サービスを動かすか。
- 復旧可能性の制限:Gitの差分やバックアップから戻せるか。
- 認証情報の制限:環境変数、SSH鍵、APIトークン、クラウド資格情報に触れられるか。
特に、ワークスペース外の読み書き、保護ファイルの変更、公開やデプロイ、秘密情報の取得は、通常のコード編集とは別の権限として扱います。サンドボックスやコンテナを使っても、誤った許可リスト、広すぎるネットワーク出口、漏えいしたトークンまで自動的に無害化できるわけではありません。
第1段階:読み取りと編集の境界
最初の試行は、限定したリポジトリとテスト用ブランチで行います。自動承認の対象は、対象ワークスペース内のファイル読み取りと、差分を確認できる限定的な編集だけに絞ってください。
Roo Codeの公式ツール一覧では、ファイル読み取りと編集は別グループとして整理されています。モード設定でも、読み取り、編集、コマンド、MCPを分けて利用可否を指定できます。ツール分類の公式説明とモード設定の公式資料を照合し、画面上の表示だけでなく実際の操作結果を確認してください。
通過条件
- 指定したワークスペース内だけを読める。
- シンボリックリンク経由で想定外のディレクトリへ移動しない。
.env、秘密鍵、CI設定などを自動承認の対象から外せる。- 編集後のGit差分が確認できる。
- 変更を
git restoreやブランチ破棄で復旧できる。
停止条件と証拠
ワークスペース外のファイルが読めた場合、保護対象が編集できた場合、差分を再現できない場合は、コマンド実行へ進めません。保存する証拠は、権限設定の画面、変更前後の差分、拒否された越境操作のログです。
第2段階:コマンド許可リスト
ターミナルの自動承認は、ファイル編集よりも慎重に扱います。Roo Codeの公式設定では、許可されたコマンドの接頭辞を登録できますが、接頭辞が広すぎると引数によって作用範囲が拡大します。コマンド自動承認の説明でも、特定のテストやビルドに絞った許可と、削除、権限変更、公開処理などの拒否が推奨されています。
次の順番で代表的な命令を試します。
- ビルド:出力先がリポジトリ内に固定されているか確認します。
- 単体テスト:外部ネットワークや本番データへ接続しないことを確認します。
- 依存関係の導入:実行時にインストールスクリプトやライフサイクル処理が走らないか確認します。
- 清掃処理:対象が一時ファイルだけで、親ディレクトリへ遡らないことを確認します。
- 失敗時の復旧:途中で停止しても、作業ツリーと生成物を戻せるか確認します。
許可候補は、作用範囲が明確で、何度実行しても状態が予測しやすく、失敗後に再実行または復旧できる命令です。一方、sudo、再帰削除、ディスク操作、公開、デプロイ、資格情報の表示、シェル経由の外部スクリプト実行は、コマンド名が短くても自動承認に含めないでください。
CLIを使う場合も注意が必要です。公式CLI資料では、通常の対話モードで操作が自動承認され、--require-approvalを指定すると手動確認へ切り替えられる仕様が案内されています。無人実行の検証では、まず承認必須モードで危険な操作が止まることを確認してください。CLIの承認オプションを参照できます。
第3段階:ブラウザーとMCPツール
ブラウザー操作は、コード編集とは異なる外部作用を持ちます。ログイン済みのセッション、フォーム送信、ファイルアップロード、外部サービス上の削除操作が含まれる場合、単なる情報取得として扱えません。まず未認証の検証サイト、読み取り専用の画面、送信前で停止する操作だけを対象にします。
MCPツールは、サーバー単位ではなく個々のツール単位で確認します。Roo Codeの公式資料では、MCP全体の自動承認と、各ツールのAlways allow設定の2段階が必要です。また、MCPリソースへのアクセスは通常のツール呼び出しと同じ扱いにならない場合があるため、データ読み取りも個別に検証します。MCP利用の公式手順で画面と権限の対応を確認してください。
| 操作の種類 | 初期判断 | 自動承認へ進む条件 | 手動確認を残す条件 |
|---|---|---|---|
| ファイル読み取り | 条件付きで許可 | ワークスペース内で秘密情報を除外 | 外部ディレクトリや鍵へ到達できる |
| ファイル編集 | 限定許可 | テストブランチ、差分確認、復旧手段がある | 本番設定、保護ファイル、生成物を変更する |
| ターミナル | 個別許可 | 命令と引数、出力先、終了条件が固定 | 削除、権限変更、公開、外部スクリプトを含む |
| ブラウザー | 原則手動 | 未認証かつ読み取り専用で送信がない | ログイン済み、購入、公開、削除、アップロード |
| MCPツール | 1個ずつ許可 | 入力範囲、資格情報、ログ、撤回方法を確認 | 外部書き込み、秘密情報、不可逆操作がある |
MCPの認証は、Roo Code側の許可だけで完結しません。MCP仕様では、HTTPベースの認証にOAuth 2.1を用いる設計や、トークンを対象サーバーへ結び付ける考え方が示されています。サーバー自身の権限説明、トークンの保存場所、有効期限、撤回手順も確認してください。MCP公式認証仕様では、トークン漏えい時の影響や対象サーバーの検証も説明されています。
注意:MCPサーバーが信頼できても、サーバー内の全ツールが安全とは限りません。読み取り、書き込み、外部操作、秘密情報へのアクセスを分け、個別ツールの入力値まで確認できない場合は自動承認を保留してください。
第4段階:遠隔環境での試運転
無人運用や常時稼働では、普段使いの端末をそのまま実行環境にしないでください。専用ユーザー、専用リポジトリ、限定したSSH鍵、最小限の環境変数、制限されたネットワーク出口を組み合わせ、作業終了後に資格情報を撤回できる構成にします。
遠隔のMacでXcodeやmacOS固有のツールチェーンを使う場合は、一般的なコンテナの検証結果をそのまま適用しません。ファイル権限、キーチェーン、GUIセッション、署名関連の資格情報、ログイン状態を別々に確認する必要があります。SSHMacのMacレンタルプランを検討する場合も、先に必要なツールチェーンと接続方式を整理してください。
試運転では、次の2種類のタスクを用意します。
- 可逆タスク:テストブランチに小さな変更を加え、テスト実行後に差分を戻す。
- 越権タスク:ワークスペース外の読み取り、拒否済みコマンド、未許可MCPツールを意図的に要求する。
通過条件は、可逆タスクが完了し、越権タスクが拒否され、実行者、命令、対象パス、MCP入力、終了時刻がログに残ることです。タイムアウトで止まらない、ログが欠落する、秘密情報が標準出力へ出る場合は、権限を広げずに構成を戻します。
FAQ:段階的な自動承認
Roo Codeの許可リストを定期的に見直す基準
Roo Code本体の更新、MCPサーバーの変更、リポジトリ内スクリプトの変更、新しい秘密情報の追加があった時点で、初回と同じ検収をやり直します。特にコマンドの接頭辞、MCPツールの入力仕様、認証情報の保存場所が変わった場合は、以前の許可を継続しないでください。
自動承認を縮小または撤回する判断
拒否すべき操作が一度でも通った、差分やログを再現できない、ロールバックに失敗した、資格情報が意図しないプロセスへ渡った場合は、該当権限を直ちに撤回します。原因を特定できない場合は、読み取り以外を停止し、手動承認へ戻すのが安全です。
第5段階:長期運用と再検収
最初の設定を永久に使い続けるのではなく、変更イベントを起点に権限を再評価します。次の項目を運用台帳に登録してください。
- Roo Codeの更新日と確認した公式ドキュメント。
- MCPサーバーの追加、更新、削除履歴。
- 許可したコマンドと拒否したコマンド。
- 変更差分、ロールバック結果、終了コード。
- 使用した資格情報と撤回方法。
- 越権テストの結果とログ保存先。
Roo Codeには、連続する自動承認リクエスト数を制限するMax Requests設定もあります。長時間処理では無制限にせず、タスク単位で停止できる上限を設定し、上限到達後に人が差分とログを確認する運用が適しています。利用量と上限設定の公式説明で仕様を確認できます。
安全性を5段階で採点するなら、読み取り範囲、編集範囲、コマンドの具体性、MCPの個別許可、復旧とログの5項目をそれぞれ確認します。1項目でも「不明」なら、次の権限段階へ進まず、現在の許可範囲に戻して原因を調べてください。
普段の作業環境で全開放する方法は、確認回数を減らせても、秘密情報、個人ファイル、ログイン済みサービスまで同じ境界に置く欠点があります。遠隔開発環境も、共有ユーザー、広いネットワーク出口、残存トークン、復旧手順の不足があると、見かけ上の隔離にとどまります。
そのため、短期の検証、専用のビルド作業、再現可能なテストをMac上で連続実行したい場合は、日常端末と分離した環境の方が検収しやすくなります。まずSSHMacのヘルプセンターで接続と運用条件を確認し、読み取り、拒否テスト、ログ、ロールバックが通った後だけ、Roo Codeの自動承認範囲を広げるのが現実的です。