クライアントから受け取ったZIPをそのままVS Codeで開き、気づいたら npm install 付きの tasks が走っていた——そんなヒヤリは、フリーランスの現場でも起き得ます。VS Code Workspace Trust 設定は、未知のリポジトリで拡張やタスクが勝手に動く前に、一度「信頼するか」を聞いてくれる仕組みです。本記事では、Win11で案件フォルダと個人フォルダを分け、信頼済み/制限モードを運用で揃える手順に絞ります。拡張の選び方そのものはフリーランス向けVS Code拡張機能の選び方に任せ、ここではセキュリティ設定だけを扱います。
この記事でわかること
- Workspace Trustが止める動き(タスク・デバッグ・拡張)の範囲
- 案件フォルダを「制限付きで開く」具体的な手順
- 信頼済みにする前の3分チェックリスト
- 個人実験用とクライアント用をWin11上で分けるフォルダ設計
先に結論

- 向いている人: 複数クライアントのリポジトリを1台のWin11 PCで回すWeb制作者。npm/PHP/Dockerの tasks がプロジェクトに含まれる案件を触る人。
- 向かない人: VS Codeをメモ帳代わりに1ファイルだけ開く人(Trustの恩恵が小さい)。会社支給PCでIT部門がポリシー固定している人(自分で変えられない場合あり)。
- 私のおすすめ: クライアント案件は初回は必ず制限モード→ READMEと
package.jsonの scripts を人の目で確認→問題なければ「信頼する」。個人の試作はD:\dev\sandboxなど別ドライブに固定し、そこだけ常時信頼、という二段構えです。

私は「信頼」を押す前に、tasks.json に curl や powershell が無いかだけ必ず見ています。ここを飛ばすと後悔しやすいです。
この記事には、Google AdSense による広告およびアフィリエイトリンクが含まれる場合があります。紹介経由で購入や申し込みがあると、私に紹介料が入ることがあります。
Workspace Trustが守る境界

VS Code(および Cursor など同一系のエディタ)がフォルダを開いたとき、Restricted Mode(制限モード) では次のような自動実行が抑えられます。
| 制限される例 | 制限モードでの挙動 |
|---|---|
.vscode/tasks.json のタスク実行 |
明示的な許可まで実行されない |
| デバッガの自動アタッチ | 起動前に確認が入る |
| 一部拡張のワークスペース機能 | 拡張によっては無効または警告 |
| 信頼されていないコードのターミナル連携 | スクリプト実行前に止まりやすい |
公式ドキュメントでは、Trustは「悪意のあるコードからの防御層の一つ」と位置づけられています。万能ではありません。.env やSSH鍵をリポジトリに含めない基本は変わりません。Trustは、うっかり実行を減らすためのブレーキです。

Win11でTrust設定画面を開く

- Win11でVS Codeを起動し、
Ctrl + ,で設定を開く - 検索ボックスに workspace trust と入力
- Security › Workspace: Trust 以下の項目を確認する
私が触るのは次の3つです。
- Security › Workspace: Trust: Enabled … 原則オン(オフにすると毎回の確認が消え、事故リスクが上がる)
- Security › Workspace: Trust: Startup Prompt …
alwaysまたはonce(好み。私はonceで「毎回うるさい」を避けつつ、新規フォルダでは必ず出る状態) - Security › Workspace: Trust: Untrusted Files … 信頼外ワークスペースから開いた単体ファイルの扱い。案件では open より newWindow 側が安全なことが多い
設定JSONで固定する場合は、ワークスペースではなくユーザー設定に書くか、案件用プロファイルに分けます。クライアントリポジトリに .vscode/settings.json で Trust をいじると、先方の環境を壊すので、ユーザー側またはプロファイル側に置くのが礼儀です。

設定をJSONでエクスポートしておくと、Win11を入れ替えたときの再現が早いです。月1のバックアップ日に一緒にやっています。
案件フォルダを制限モードで開く手順

- エクスプローラーでクライアントから受け取ったフォルダを、まだ中身を実行していない状態で確認する(ZIPの場合はウイルススキャン後に展開)
- VS Codeで ファイル → フォルダーを開く からそのフォルダを選ぶ
- 画面上部または右下に 「制限モード」 の表示が出たら、いったんそのまま作業を開始する(信頼ボタンはまだ押さない)
- 左のエクスプローラーで次を順に開く:
READMEまたはreadme.mdpackage.jsonのscriptsセクション(Node案件).vscode/tasks.jsonとlaunch.json(あれば).github/workflows(CIが自動実行する内容の確認用。ローカルでは動かなくても記述は読む)- 問題なければ、バナーの 「ワークスペースを信頼する」 を押す。迷う要素が1つでもあれば、信頼しない まま静的ファイルだけ閲覧する
制限モードのままでも、MarkdownやHTMLの閲覧、差分の確認はできます。「とりあえず npm start」は禁句です。Trustの確認前にターミナルを開いてコマンドを打つのも、習慣を変えた方がよいです。

信頼する前の3分チェックリスト

次のどれか1つでも当てはまるときは、信頼しない か、クライアントに質問してからにしてください。
- 見知らぬバイナリや
.exeが同梱されている(Web案件で不要なもの) - tasks/scripts にネットワーク取得(
curl、Invoke-WebRequest、wget)が含まれる - postinstall 系で長いパイプや難読化された一行スクリプトがある
.envや鍵ファイルがリポジトリに含まれている(Trust以前の問題。共有方法をやり直す)- Publisher不明の拡張をリポジトリが推奨していて、内容を確認していない
チェック後に信頼しても、本番サーバーへの直接SSH編集は別問題です。ローカルまたはステージングだけをTrustの対象にし、デプロイはFTP/CIなど別フローに分けるのが安全です。Cursor でAI補完を使う案件でも、生成されたターミナルコマンドは自分の目で読んでから実行します。AIとTrustは別レイヤーです。
個人フォルダと案件フォルダをWin11で分ける

フォルダ設計を固定すると、Trust判断が楽になります。
| 用途 | パス例(Win11) | Trustの扱い |
|---|---|---|
| クライアント案件 | D:\work\clients\案件名\repo |
初回制限→確認後に信頼 |
| 個人試作 | D:\dev\sandbox |
自分で作ったものだけ置く。信頼してよい |
| 受け取り置き場 | D:\work\inbox\zip |
VS Codeで開かない。展開先を clients へ移してから開く |
| 学習用クローン | D:\dev\oss |
有名OSSでも初回は制限。issuesで安全性を確認 |
エクスプローラーの「クイックアクセス」に clients だけを.pin し、inbox を.pin しない——小さな習慣で、うっかり開く回数が減ります。バックアップソフトがZIPを自動展開する場合は、展開先を inbox に限定し、スキャン完了までVS Codeの「最近開いた項目」からそのパスを消すとよいです(最近使った項目は右クリックで削除できます)。

拡張機能とTrustの関係

拡張機能の選び方で書いた通り、拡張は必要最小限がよいです。Trustと組み合わせるときのポイントは次のとおりです。
- ワークスペース推奨拡張(
.vscode/extensions.json)が提示されても、制限モードではインストールや有効化に追加確認が入ることがある - リモートSSH/Dev Containers は、接続先もTrustの対象になる。クライアントVPN内のサーバーを開くときは、ローカルより慎重に
- Prettierの format on save は信頼後に有効化する。制限モード中に大量の自動整形が走ると、意図しない差分がクライアントに見える
企業案件で「使える拡張がホワイトリスト」と言われた場合、Trust以前にVS Codeの Extensions: Allowed 系ポリシー(組織設定)が効いていることもあります。動かないときは、自分の設定JSONより先方のITポリシーを確認してください。
制限モードのままできる作業

信頼ボタンを押さなくても、次の作業は通常どおり進められます。
- HTML/CSS/PHPの閲覧とコメント整理
- Gitの履歴表示(pushは別。認証情報の扱いに注意)
- Figma から写した値を見ながらの手入力コーディング(タスクを走らせない)
- クライアントへの「この scripts は何をしますか?」という質問リスト作成
「動かないから進まない」と感じたら、先方に tasks.json の目的 を確認するチャンスです。フリーランスのコミュニケーションコストとして割り切った方が、後からの炎上は防げます。
よくある質問

Q. Cursorでも同じWorkspace Trust設定を使えますか?
A. CursorはVS Code系のため、Workspace Trustの考え方と設定項目はほぼ同じです。エディタをCursorに寄せている場合も、本記事の手順をそのまま適用して問題ありません。AI機能の利用規約やコード送信の設定は、Trustとは別項目なので、Cursorのセットアップ記事もあわせて確認してください。
Q. 一度「信頼する」を押した案件を、あとから制限に戻せますか?
A. コマンドパレット(Ctrl+Shift+P)で Workspace: Manage Workspace Trust を開き、信頼を取り消す 操作ができます。依存関係を入れ替えたあとや、第三者のマージ後は、一度取り消して制限モードから読み直す習慣が有効です。
Q. WSL2内のLinuxフォルダを開く場合もTrustは効きますか?
A. Remote – WSL で開くLinux側パスも、ワークスペースとしてTrustの対象になります。Win11ホストとWSLで案件フォルダを二重に持たないよう、どちらを正本にするか を決めてから信頼してください。Dockerボリューム内を直接VS Codeで開く場合も、中身は「受け取ったコード」と同様に扱うのが安全です。
Q. クライアントが「信頼してすぐ npm install して」と言った場合は?
A. 口頭より scripts の中身を共有してもらう 方が早いです。TrustはあなたのPCを守る設定なので、制限モードで README と lockfile を確認してから実行する流れを説明しても、プロとして問題ありません。どうしても急ぐ場合は、別の仮想マシンやサンドボックスPC で先に install する方法もあります。
まとめ

VS Code Workspace Trust 設定は、Win11でクライアント案件を開く前のブレーキです。案件フォルダは初回制限→tasksとscriptsを読む→問題なければ信頼、個人試作はフォルダパスを固定して混ぜない、が基本線です。
今日やること: エクスプローラーで clients と sandbox の2階層を作り、進行中案件を1つ制限モードで開き直し、tasks.json の有無をチェックリストで確認する——ここまでで十分です。
関連: VS Code拡張機能の選び方 / Cursorセットアップとワークフロー / Figma制作ワークフローハブ
AI補完やコーディングをCursor側に寄せる場合は、Cursor の公式サイトでプランとデータ送信設定を確認してから、Trustと併用してください。

