承認ダイアログが多すぎて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の公式設定では、許可されたコマンドの接頭辞を登録できますが、接頭辞が広すぎると引数によって作用範囲が拡大します。コマンド自動承認の説明でも、特定のテストやビルドに絞った許可と、削除、権限変更、公開処理などの拒否が推奨されています。

次の順番で代表的な命令を試します。

  1. ビルド:出力先がリポジトリ内に固定されているか確認します。
  2. 単体テスト:外部ネットワークや本番データへ接続しないことを確認します。
  3. 依存関係の導入:実行時にインストールスクリプトやライフサイクル処理が走らないか確認します。
  4. 清掃処理:対象が一時ファイルだけで、親ディレクトリへ遡らないことを確認します。
  5. 失敗時の復旧:途中で停止しても、作業ツリーと生成物を戻せるか確認します。

許可候補は、作用範囲が明確で、何度実行しても状態が予測しやすく、失敗後に再実行または復旧できる命令です。一方、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の自動承認範囲を広げるのが現実的です。