# ローカル サンドボックスの使用

ローカル サンドボックスを有効にして、 Copilot CLI (コパイロット CLI) がオペレーティング システム サンドボックス内でユーザーの代わりに呼び出すコマンドとツールを実行できるようにします。

> \[!NOTE]
> GitHub Copilotのローカル サンドボックスはパブリック プレビューにあり、変更される可能性があります。

> \[!IMPORTANT]
> Windowsでのローカル サンドボックスには、Windows Insider ビルドが必要です。

## ローカル サンドボックスについて

サンドボックスは現在、試験段階の機能です。 これを使用するには、Copilot CLI (コパイロット CLI) コマンド ライン オプションで`‑‑experimental`を開始するか、セッション中に`/experimental on`を入力します。

ローカル サンドボックスを有効にすると、 Copilot CLI (コパイロット CLI) は、オペレーティング システムサンドボックス内でユーザーに代わって呼び出されるほとんどのコマンドとツールを実行します。 ローカル サンドボックスを有効にすると、無効にするか、特定のセッションで無効になるまで、すべての Copilot CLI (コパイロット CLI) セッションで使用されます。

既定では、サンドボックス化されたコマンドとツールは、現在の作業ディレクトリと一時フォルダー内に書き込むことができます。 ユーザー プロファイル (ホーム) ディレクトリと、システムとツールの場所は読み取り専用です。 その他のディスクの場所はブロックされます。 Git リポジトリでは、現在の作業ディレクトリより上のアクセスはオペレーティング システムによって異なります。 送信インターネット アクセスと同様に、ローカルおよびプライベート ネットワークへのアクセスが許可されます。

既定では、認証された Git と GitHub CLI (`gh`) の操作はサンドボックス内で引き続き機能します。これは、 Copilot CLI (コパイロット CLI) によって GitHub 資格情報がサンドボックス コマンドで使用できるようになるためです。 これにより、 `git push` や `gh pr create` などのアクションを成功させることができます。 サンドボックスの設定でこれをオフにすることができます。

Copilot CLI (コパイロット CLI)のサンドボックスの概念の概要については、[クラウドサンドボックスとローカルサンドボックスについて GitHub Copilot](/ja/enterprise-cloud@latest/copilot/concepts/about-cloud-and-local-sandboxes) を参照してください。

## ローカル サンドボックスの有効化

ローカル サンドボックスを有効にするには、対話型の Copilot CLI (コパイロット CLI) セッションで次のコマンドを入力します。

```shell copy
/sandbox enable
```

サンドボックスは、現在のセッションですぐに使用を開始します。

ローカル サンドボックスを有効にした後も、現在および将来の対話型セッションとプログラム セッションで引き続き使用されます。

> \[!NOTE]
> `/sandbox enable`を入力したときに他のセッションを開いている場合、それらのセッションではサンドボックスはすぐには使用されません。 既に開いているセッションでサンドボックスを使用するには、そのセッションで次のいずれかの操作を行います。
>
> * たとえば、 `copilot --continue`を実行して、セッションを閉じて再起動します。
> * 「`/sandbox enable`」と入力します。

## ローカル サンドボックスの無効化

ローカル サンドボックスの使用を停止するには、対話型の Copilot CLI (コパイロット CLI) セッションで次のコマンドを入力します。

```shell copy
/sandbox disable
```

サンドボックスは、現在のセッション、または新規および再起動されたセッションでは使用されなくなりました。

ローカル サンドボックスを使用するかどうかの選択は、CLI の個人用設定ファイルに `sandbox.enabled` 設定として保存されます (既定では`~/.copilot/settings.json` )。

## 1 つのセッションにサンドボックスを使用する

`--sandbox`コマンド ライン オプションを使用すると、他のセッションでサンドボックスを有効にすることなく、1 つのセッションにサンドボックスを使用できます。 サンドボックスが既に有効になっている場合は、 `--no-sandbox` オプションを使用して、1 つのセッションで無効にすることができます。

これらのオプションを `-p` コマンド ライン オプションと組み合わせて、CLI をプログラムで使用するためのサンドボックスを制御できます。 例えば次が挙げられます。

```shell copy
copilot --sandbox -p "PROMPT"
```

## サンドボックスの外部で 1 つのコマンドを実行する

コマンドがサンドボックスで許可されているよりも広範なアクセスを必要とする場合、 Copilot はサンドボックスの外部でその 1 つのコマンドの実行を要求できます。 コマンドを説明する確認プロンプトが表示され、承認した場合にのみサンドボックスの外部で実行されます。それ以外の場合はサンドボックスのままです。 セッションの残りの部分は、どちらの方法でもサンドボックスのままです。

この動作は既定で有効になっており、サンドボックス設定でオフにすることができます。

## サンドボックスが使用されているかどうかを確認する

現在のセッションでサンドボックスが使用されているかどうかを確認するには、状態行を確認します。 サンドボックスが使用されている場合、状態行には `sandbox enabled`が含まれます。

状態行でのサンドボックス情報の表示は、既定でオンになっています。 オフになっている場合は、オンに戻すことができます。

1. 「`/statusline`」と入力します。
2. 選択内容をサンドボックスのオプションの一覧の下に移動 **します**。
3. チェック マークが表示されるように設定を切り替えるには、 <kbd>Enter キー</kbd> を押します。

## 詳細については、次を参照してください。

* [クラウドサンドボックスとローカルサンドボックスについて GitHub Copilot](/ja/enterprise-cloud@latest/copilot/concepts/about-cloud-and-local-sandboxes)
* [ローカル サンドボックス設定の構成](/ja/enterprise-cloud@latest/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings)