0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[GitHub Copilot] Copilot CLI 実機ヘルプから作る完全版チートシート ✨ (v1.0.66 時点)

0
Last updated at Posted at 2026-06-28

こんにちは、CLI ヘルプを片っ端から開いて遊ぶアーキテクトのやまぱん!です 😅
補足コメントや質問、いいね、拡散、ぜひお願いします 🥺!
間違っていたら 優しく 教えてください!

本記事は個人の見解で、所属組織を代表するものではありません。検証はすべて自分の手元の Windows 11 + PowerShell 7+ で実機実行しています。

TL;DR

  • GitHub Copilot CLI v1.0.66-1 時点の copilot --helpcopilot help <topic> をぜんぶ引いて、起動フラグ・slash command・config・環境変数を 1 ページに集約しました
  • --allow-all--yolo完全に同義(中身は --allow-all-tools --allow-all-paths --allow-all-urls
  • 非対話運用は -p + --output-format json + --silent、再開系は --continue / --resume / --session-id を使い分ける
  • 設定 companyAnnouncements / statusLine / theme / tabs あたりはターミナル体験を盛れる隠し玉でおすすめです 〜!
  • BYOK は COPILOT_PROVIDER_*、可観測性は OTEL_*、GHEC データレジデンシーは COPILOT_GH_HOST で全部設定できます

Copilot CLI v1.0.66 起動オプション 6 軸俺瞰


0. 検証環境とこの記事の立ち位置

私はふだん GitHub Copilot CLI を Windows 11 のターミナル上で使っているのですが、バージョンが上がるたびに「あれ、このフラグもう変わったっけ?」「slash command 増えてる?」となります。

公式 Docs は大枠を押さえるには十分なのですが、起動フラグ・slash command・config キー・環境変数の網羅一覧 は Docs だけだと拾い切れません。なので毎回 copilot help <topic> を自分で引きにいくのですが、せっかくなら 特定バージョンの状態 を 1 ページにまとめておきたい。

ということで、この記事は私が手元で動かしている v1.0.66-1 のローカル一次情報 を、後から自分でも引きやすい順番で並べた チートシート寄りの記事 です。

検証項目
Copilot CLI バージョン 1.0.66-1
シェル PowerShell 7+
OS Windows 11
取得方法 copilot --help / copilot help <topic> をすべてファイルに保存して目視確認

関連で書いた既存記事はこちら ↓


1. まず使い分けたい 3 つのモード

--mode / --autopilot / --plan

v1.0.66 では起動モードが 3 つあります。

  • --mode interactive(デフォルト): いつもの対話モード。ツール使用・パス書き込み・URL アクセスは個別承認。
  • --mode plan / --plan: 計画モード。ツール実行はせず、提案だけ返してくる。Shift+Tab で対話中にも切り替えできます。
  • --mode autopilot / --autopilot: 自走モード。失敗してもリカバリしながら続行する設定。--max-autopilot-continues で上限を絞れます。

私は最初に --planやりたいことを宣言 → 内容を Copilot に整理してもらってから --autopilot に切り替える流れが多いですよ〜!

--allow-all--yolo の関係

これ地味に混乱するんですが、実機 help を読むと 完全に同じ意味 でした。

--allow-all (alias: --yolo)
  = --allow-all-tools --allow-all-paths --allow-all-urls

つまり「ツールも書き込み先もアクセス URL も全部許可」のお祭りモードです。自分の sandbox / 検証 VM 以外では使わないようにしましょう(自戒)。

ちなみに環境変数 COPILOT_ALLOW_ALL=true で固定化もできます。

🦆 ところで --allow-all--autopilot って同じじゃないの?

別物です! ここ私もよく混同するので表で整理しておきます。実機 help (v1.0.66-1) でもこう書かれています。

--allow-all / --yolo --autopilot
対象軸 permission(何を許可するか) mode(どう動くか)
help.txt の説明 Enable all permissions (equivalent to --allow-all-tools --allow-all-paths --allow-all-urls) Start in autopilot mode
やること 確認プロンプトを全部スキップ(ツール実行・パス書き込み・URL アクセス) エージェントが 途中で止まらず継続実行(既定で最大 5 連続、--max-autopilot-continues で変更可)
関連 --allow-all-tools / --allow-all-paths / --allow-all-urls --mode autopilot の alias、--plan の対極
env COPILOT_ALLOW_ALL (単独 env なし)

つまり、

  • --allow-all / --yolo = 「いちいち聞くな」スイッチ(権限)
  • --autopilot = 「止まらず最後まで走れ」スイッチ(モード)

なので、組み合わせ次第で挙動がだいぶ変わります。

組み合わせ 動き
interactive(既定) 1 ターンずつ承認、ツール実行も都度確認(最も安全)
interactive + --allow-all 1 ターンずつ進むが、ツール・パス・URL は無確認
--autopilot のみ 自走するが、危ない操作は 都度確認で止まる(autopilot でも permission は別)
--autopilot + --allow-all 完全自走。連続継続 × 全許可 = いわゆるフルオート
--plan ツール実行しない計画モード。--allow-all を付けても基本意味なし

私は --autopilot 単体 → 危ない操作だけ目視で承認 が無難ですが、ぶっちゃけ気に入っているのは最後の --autopilot + --yolo の組み合わせです 〜!
「席を立ってる間に勝手にゴールまで持っていってくれる」体験は中毒性高くておすすめですよ〜!

ただし、本気で sandbox / 使い捨て VM / 戻せる git ブランチ などの 壊れていい場所 でだけ使ってください。rm -rf を躊躇なく走らせるポテンシャルがあるので、本番リポでやると本当に事故ります(自戒)。


2. セッション再開 3 兄弟: --continue / --resume / --session-id

ここ覚えると毎日のセッションがラクになります。

用途 フラグ
直前 のセッションを継続する copilot --continue
過去セッションを 選んで 再開(対話式 picker) copilot -r または copilot --resume
過去セッションの ID 指定 で再開 copilot --resume=<id> or --session-id=<uuid>
新規セッションに 任意名 を付ける copilot --name="my feature"

-p 非対話実行と組み合わせると、

copilot -p "yesterday の続きから main.js のテストを書いて" --continue --output-format json --silent

みたいに「続きから処理して JSON だけ返す」シェル script に組めます。


3. 非対話運用: -p / --output-format json / --silent

スクリプトに組み込むときの定番セット。

copilot `
  -p "Fix the bug in main.js" `
  --allow-all-tools `
  --output-format json `
  --silent
  • -p, --prompt: 1 ターンだけ実行して終了
  • -i, --interactive <prompt>: プロンプトを 初期入力に流し込んで 対話継続
  • --output-format text|json: JSON にすると 構造化済み出力 が取れる
  • --silent / -s: バナー・進捗を抑制

既存記事「Copilot CLI で web_search を別の Copilot CLI に投げる」では、この -p + --silent のパターンを Web 検索 fallback として使っています。


4. 権限とアクセス制御 (--allow-tool / --deny-tool / --allow-url)

v1.0.66 の permissions は 4 つのパターン文字列 で表現します。

shell(command:*?)          シェルコマンド系
write                      ファイル書き込み
<mcp-server>(tool?)        MCP サーバとそのツール
url(domain-or-url?)        外部 URL アクセス

実用例(公式 examples より):

# git は全部 OK だけど push だけ拒否
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'

# 書き込みだけ許可
copilot --allow-tool='write'

# MyMCP サーバは使うが、ヤバい tool だけ拒否
copilot --deny-tool='MyMCP(denied_tool)' --allow-tool='MyMCP'

# URL は github.com だけ許可
copilot --allow-url=github.com
copilot --deny-url=https://malicious-site.com

Deny が Allow に勝つ

Deny rules take precedence over allow rules.

--allow-all-tools を渡しても、--deny-tool='shell(git push)' を併用すれば push だけは止められます。これ大事です。

パス系

フラグ 意味
--add-dir <path> 書き込み許可 dir を 追加(複数指定可)
--allow-all-paths 全パス書き込み許可
--disallow-temp-dir 既定で許可されている temp dir も塞ぐ

/cwd /add-dir /list-dirs は対話中の slash command でも操作できます。


5. モデル選択: --model--effort--context

v1.0.66 で help から拾えた 利用可能モデル はこれだけありました。

ベンダー モデル
Anthropic Claude claude-sonnet-4.6 / claude-sonnet-4.5 / claude-haiku-4.5 / claude-fable-5 / claude-opus-4.8 / claude-opus-4.7 / claude-opus-4.6 / claude-opus-4.6-fast / claude-opus-4.5
OpenAI GPT gpt-5.5 / gpt-5.4 / gpt-5.3-codex / gpt-5.4-mini / gpt-5-mini
Google Gemini gemini-3.1-pro-preview / gemini-3.5-flash

切り替え方:

copilot --model gpt-5.4
copilot --model claude-opus-4.7 --effort high
copilot --context long_context  # tiered pricing 対応モデル向け
  • --effort: none / low / medium / high / xhigh / max
  • --context: default または long_context
  • 対話中は /model でいつでも切替

サブエージェントごとに別モデルを当てたいときは config の subagents.agents.<agent-name>model / effortLevel / contextTier を設定できます。/subagents で対話式に編集する方がラクです。


6. 共有とリモート: --share / --share-gist / --remote / --connect

地味に便利な共有系。help から読み取れる挙動を厳密に書き分けると以下のとおりです。

フラグ 用途
--share[=path] 非対話モードで実行完了後 にセッションを Markdown 化して保存(既定: ./copilot-session-<id>.md
--share-gist 非対話完了後 に secret GitHub gist へ push
--remote 現在のセッションを GitHub web / mobile からリモート制御可能 にする
--remote-export セッションを web / mobile へ read-only でエクスポート(リモート制御は不可)
--connect[=sessionId] 別マシン等で動いている リモートセッションへ直接 connect
--acp Agent Client Protocol サーバとして起動

レビュー依頼を投げるときに --share-gist で URL を渡せるのは結構いいですよ〜!


7. MCP 周りのフラグ

MCP サーバの ON/OFF も起動時に細かく制御できます。

# GitHub MCP の全 tool を有効化
copilot --enable-all-github-mcp-tools

# 個別 toolset / tool を追加
copilot --add-github-mcp-toolset=issues
copilot --add-github-mcp-tool=create_pull_request

# 既定で入る MCP サーバ(現在 github-mcp-server)を無効化
copilot --disable-builtin-mcps

# 特定 MCP サーバだけ無効化
copilot --disable-mcp-server=playwright

# 追加 MCP 設定を inline JSON または @<file> で渡す
copilot --additional-mcp-config=@.copilot/mcp-extra.json

--available-tools / --excluded-tools で、その実行で 使う tool を限定 することもできます。Skill / Agent のスコーピングと組み合わせると、暴走防止になります。


8. Slash command 早見表 (v1.0.66)

対話中に /help で全件出ますが、ざっくりカテゴリ分けするとこんな感じです。

カテゴリ 主な slash command
Agent Env /init /agent /skills /mcp /plugin
Agents / Subagents /model /delegate /fleet /autopilot /tasks
Code /ide /diff /pr /review /security-review /lsp /terminal-setup
Permissions /allow-all /add-dir /list-dirs /cwd /reset-allowed-tools
Session /resume /rename /context /usage /session /compact /share /remote /copy /rewind
Help /help /changelog /feedback /diagnose /theme /statusline /footer /update /version /experimental /memory /clear /instructions /streamer-mode /app
Other /ask /budget /chronicle /env /exit /keep-alive /login /logout /new /plan /research /restart /search /settings /sidekicks /subagents /undo /user /voice

私のお気に入りは /rewind(直前の編集を巻き戻し)、/compact(履歴圧縮)、/chronicle(過去セッションの横断検索)あたりですよ〜!

/streamer-mode も help 上は見えますが、v1.0.66 の help-config.txt に「staff-only の /streamer-mode command でトグルする」と明記されているため、一般ユーザーは現状使えません。今後のロールアウトに期待したいところです。


9. 🎮 PickUp /コマンド編 8 選

PickUp /コマンド編 8 選

対話セッション中に打つ /... から、私が「使うとセッションの色が変わる」と思っているものを 8 つ。

1️⃣ /rewind — 「さっきのターンなし」ボタン

直前のターンを ファイル変更ごと巻き戻し ます。Copilot が織り始めた複雑なパッチを git checkout しなくても 1 コマンドで戻せるので、探索中の安心感が全然違います。

2️⃣ /compact [focus] — コンテキストの計画的ダイエット

会話履歴を要点だけ残して圧縮します。focus を付けると 「この視点だけ残して」 と指定できるのが便利。

/compact API 設計の決定事項と未解決課題だけ残して

長期セッションでコンテキスト使用量が重くなってきたら走らせると生き返ります。

3️⃣ /chronicle — 過去セッションの横断検索

「あのときどうやって見つけたんだっけ」を 過去セッションを開かずに 検索できます。個人的には Copilot CLI を使う上で 一番オフィスワーク原型っぽい 機能だと思っています。

4️⃣ /research — GitHub + Web の Deep Research

GitHub 検索と Web ソースを使った調査モード。「このライブラリ、今よく使われている代替は?」「このエラー、他にも踏んだ人いる?」を投げると、裏で勝手に重複検索 → 集約して返してくれます。

5️⃣ /budget set max-credits <n> — 走らせすぎ防止(永続化)

/budget set max-credits 10        # 1 response あたりの AI Credit 上限
/budget set max-iterations 3      # 1 response あたりの反復上限
/budget show                      # 現在の設定確認
/budget unset max-credits         # 解除

responseBudget1 response 単位 で効くので、夜中に autopilot を回す日の保険として入れておくと安心ですよ〜!起動時だけ上書きしたい場合は CLI オプション編の --max-credits を参照。

6️⃣ /diff + /review + /security-review — コードレビュー 3 点セット

git の変更を AI レビューに回す 3 段構え。

コマンド 役割
/diff 現在 dir の変更を見る(git diff の Copilot 版)
/review 変更内容を コードレビュー agent に解析させる
/security-review staged / unstaged の変更を セキュリティ観点 で解析

PR を投げる前のセルフレビュー / 投げた後の追いレビューで重宝します。

7️⃣ /delegate — セッションごと GitHub に投げて PR 自動作成

/delegate

現在のセッションを GitHub の Copilot cloud agent に送って PR まで作ってもらう ヤツ。手元で考え切れない / 寝てる間に進めたい時に。

8️⃣ /context + /usage — 残量と使用量の可視化

コマンド 役割
/context コンテキストウィンドウのトークン使用量を可視化
/usage セッションの使用量と統計

/compact を打つタイミングを判断する材料にどうぞ。


10. ⚙️ PickUp CLI オプション編 8 選

PickUp CLI オプション編 8 選

copilot を叩くときの --xxx から、私が普段「これ知ってる人と知らない人で生産性違いそう」と思うものを 8 つ。

1️⃣ --autopilot + --yolo — 完全自走(推し)

copilot --autopilot --yolo -p "main.js のテストを書いて push まで"

1 章で書いたとおり、「席を立っても勝手にゴールしてくる」 体験は中毒性高めです 〜!sandbox / 使い捨て VM / 戻せる git ブランチ限定で。

2️⃣ --effort xhigh × --context long_context — 思考量ブースト

「ちゃんと考えて欲しい」ケースのセット。

copilot --effort xhigh --context long_context --model claude-opus-4.7

設計レビュー、トラブルシュート、大きなリファクタ計画など、1 ターンでしっかり口を開いて欲しい時 によく使います。逆に軽い説明や余計な推論がいらないタスクには --effort low でコストを搾っても OK。

3️⃣ --share-gist — レビュー依頼の最適解

copilot -p "このコードをレビューして" --allow-all-tools --share-gist

非対話で走らせたセッションを secret gist に push して URL だけ返してくれます。Slack / Teams に投げればレビュアーはコピペなしで読めるので、共有履歴を負担にしたくないときに便利です。

4️⃣ --max-credits + --max-iterations — 走らせすぎ防止(起動時上書き)

copilot --max-credits 10 --max-iterations 3 --autopilot -p "..."

/budget set max-credits起動時版。永続化したくない一時的なジョブで使います。/budget とセットで覚えるとリソース管理がラク。

5️⃣ --allow-tool 'shell(git:*)' --deny-tool 'shell(git push)' — 細粒度許可・拒否

copilot --allow-tool 'shell(git:*)' --deny-tool 'shell(git push)' --autopilot

「git は全部 OK、ただし push だけは止めて」のような deny が allow に勝つ ルールが書けます。autopilot で危ない操作を遮るときに便利。

6️⃣ --add-dir 複数指定 — cwd 外も書込み許可

copilot --add-dir ~/workspace --add-dir /tmp/staging --autopilot

既定では「cwd + temp」しか書き込めないので、cwd の外 のフォルダもいじってほしいときはこれ。--allow-all-paths まで開放しなくていいので安全策として優秀。

7️⃣ --continue / --resume / --session-id — 再開 3 兄弟(再掲)

copilot --continue                           # 直前セッション継続
copilot -r                                   # picker で選択
copilot --session-id=<uuid>                  # ID 指定

2 章 で詳しく書いていますが、起動時オプションとしてもよく使う ので PickUp に再登場。

8️⃣ -p + --output-format json + --silent — スクリプト埋め込みの定番

copilot -p "Fix the bug in main.js" --allow-all-tools --output-format json --silent

CI や PowerShell スクリプトに組み込むときの黄金パターン。バナー・進捗を抑制 + 構造化 JSON 出力で、後続スクリプトでパースできます。


11. キーボードショートカット(覚えてると速い)

実機で確認できた、覚えておくと得なやつ:

  • Shift+Tab: モード切替(interactive ↔ plan)
  • Ctrl+Q: 次の入力を キューに積む(応答中でも次の指示を予約)
  • Ctrl+X → B: 編集中のテキストを 外部エディタ ($EDITOR / $VISUAL / COPILOT_EDITOR) で開く

12. ターミナル体験を盛る config 設定

ここが意外と知られていない楽しい部分です。copilot help config から特に「気分が上がるやつ」だけ抜粋します。

companyAnnouncements: 起動バナーに自分メッセージ

{
  "companyAnnouncements": [
    "今日もテスト書こうな",
    "git push 前に diff を見ろ",
    "Copilot は道具、判断は自分"
  ]
}

起動するたびに ランダム 1 件 がバナーに出ます。チーム共有 config に書いておくと布教にも使えます。

banner / showTipsOnStartup: 起動演出のオンオフ

{
  "banner": "always",
  "showTipsOnStartup": false
}
  • banner: 起動時のアニメーションバナーの頻度。 once(既定) / always / never
  • showTipsOnStartup: 起動時のランダム Tip を出すか(既定 true

毎回バナー見たい派は "banner": "always"、配信や録画でうるさい派は "banner": "never" + "showTipsOnStartup": false でスッキリします 〜!

📺 起動演出・UI 装飾 早見表

「バナー周り何があるんだっけ?」用にまとめました。すべて v1.0.66 の copilot help config 実機から拾った既定値と選択肢です。

設定キー 役割 既定値 選択肢・形式
banner 起動時のアニメーションバナーの頻度 "once" once / always / never
showTipsOnStartup 起動時のランダム Tip 表示 true true / false
companyAnnouncements 起動バナーに乗せる自作メッセージ [] 文字列配列(ランダムで 1 件表示)
theme カラーテーマ "github" github / default / dim / high-contrast / colorblind
statusLine 入力欄下のカスタム表示 未設定 { type:"command", command, padding }
tabs 上部タブバー (Session/Agents/Issues/PR/Gists) の並び・非表示 既定順 { enabled, sort:[...], hide:[...] }copilot は hide 不可)
renderMarkdown ターミナル内 Markdown レンダリング true true / false
scrollbar スクロールバー表示(false で本文を全幅に) true true / false
terminalProgress 作業中の進捗を OSC 9;4 で送出(ターミナルのプログレスバー) true true / false
updateTerminalTitle 現在のタスクをターミナルタブ名に反映 true true / false
notifications 完了 / 要応答で OS トースト false true / false
beep 要応答時にビープ false true / false
beepOnSchedule /every /after の予約実行完了でビープ true true / false

theme/settings theme <value> で変えられます(/theme は deprecated、colorMode は legacy alias)。

statusLine: 入力欄の下にカスタム表示

{
  "statusLine": {
    "type": "command",
    "command": "pwsh -NoProfile -File ~/.copilot/status.ps1",
    "padding": 2
  }
}

セッションの状態が JSON で stdin に流れてくるので、好きな形式で表示できます。Git ブランチや AI Credit 残量を出すとカッコいいです。

themetabs

  • theme: github / default / dim / high-contrast / colorblind
  • tabs: 上部のタブバー(Session / Agents / Issues / Pull requests / Gists)を sort / hide で並べ替えできる(copilot タブだけは hide 不可)

keepAlive: スリープ抑止

長時間 autopilot を回す時は keepAlive: "busy" がおすすめ。働いてるときだけ sleep を止めてくれます。

notificationsbeep

  • notifications: OS のトースト通知
  • beep: 確認待ちでビープ
  • beepOnSchedule: /every /after の予約実行完了でビープ

裏で長いタスクを回しているときに役立ちます。

Windows ユーザー向け: powershellFlags

CLI が PowerShell を呼ぶときのフラグを上書きできます。既定は ["-NoProfile", "-NoLogo"] ですが、

{
  "powershellFlags": ["-NoProfile", "-NoLogo", "-ExecutionPolicy", "Bypass"]
}

のように Bypass を入れておくと、社内環境で実行ポリシーに引っかかりにくくなります。-Command / -File / -NoExit / -EncodedCommand などは ランタイムを壊す ので入れないでね、と公式に書いてあります(守りましょう)。

🚂 番外編:copilot 起動時にずんだもんに発車合図させる

config じゃないんですが、copilot help config を読んでて「beep はあっても起動時に音を鳴らす設定は無いんだな」と気付きました。じゃあ wrapper でやってしまえ、ということで PowerShell の functioncopilot を hook して、本物の CLI を呼ぶ前に ずんだもんに発車合図させる ようにしました 🥒🚂

実機で動かしたデモがこちらです(音あり、約 5 秒)。

🎥 デモ動画: Copilot CLI 起動時にずんだもんが発車合図する様子(mp4 / 音あり・約 5 秒)

Qiita では <video> タグが描画されないため、上のリンクから別タブで再生してください(GitHub アカウントでのログインが必要な場合があります)。

Voice: VOICEVOX:ずんだもん(クレジット表記)

しくみ(全体像)

ずんだもん wrapper 動作シーケンス

1. ずんだもんで .wav を作る

VOICEVOX をインストールして起動すると、ローカルに http://127.0.0.1:50021 で REST API が立ち上がります。あとは audio_querysynthesis の 2 ステップで .wav が降ってきます。

$text = "コパイロット、ハッシャーーっ!"
$speaker = 3   # ずんだもん(ノーマル)
$enc = [uri]::EscapeDataString($text)

$q = Invoke-RestMethod -Method Post `
  -Uri "http://127.0.0.1:50021/audio_query?speaker=$speaker&text=$enc"
$q.speedScale = 1.1

$tmp = [System.IO.Path]::GetTempFileName()
$q | ConvertTo-Json -Depth 12 | Set-Content -Path $tmp -Encoding utf8

Invoke-WebRequest -Method Post `
  -Uri "http://127.0.0.1:50021/synthesis?speaker=$speaker" `
  -ContentType 'application/json' `
  -InFile $tmp `
  -OutFile "$env:USERPROFILE\.config\copilot-wrapper\copilot-zunda.wav" `
  -UseBasicParsing

Remove-Item $tmp -Force

2. PowerShell profile に wrapper を追加

$PROFILE に追記します。ポイントは 2 つ。

  • 音再生は Start-ThreadJob で fire-and-forget(メインの copilot 起動を遅延させない)
  • プレイヤーは WPF の System.Windows.Media.MediaPlayer を使う

補足: 以下は公開用に一般化したコードです。音ファイルのパス ($env:USERPROFILE\.config\copilot-wrapper\copilot-zunda.wav) や environment 変数名 (COPILOT_NOSOUND) はお好みに調整して使ってください。

$global:CopilotZundaWav = "$env:USERPROFILE\.config\copilot-wrapper\copilot-zunda.wav"
$global:CopilotRealPath = (Get-Command copilot -CommandType Application -ErrorAction SilentlyContinue |
  Where-Object { $_.Source -ne $MyInvocation.MyCommand.Path } |
  Select-Object -First 1 -ExpandProperty Source)

function copilot {
    if (-not $env:COPILOT_NOSOUND -and $global:CopilotZundaWav -and (Test-Path $global:CopilotZundaWav)) {
        $block = {
            param($wav)
            Add-Type -AssemblyName PresentationCore
            $mp = New-Object System.Windows.Media.MediaPlayer
            $mp.Open([Uri]::new($wav))
            $deadline = (Get-Date).AddSeconds(2)
            while (-not $mp.NaturalDuration.HasTimeSpan -and (Get-Date) -lt $deadline) {
                Start-Sleep -Milliseconds 30
            }
            $mp.Play()
            $dur = if ($mp.NaturalDuration.HasTimeSpan) {
                $mp.NaturalDuration.TimeSpan.TotalMilliseconds + 200
            } else { 3000 }
            Start-Sleep -Milliseconds ([int]$dur)
            $mp.Stop(); $mp.Close()
        }
        try {
            if (Get-Command Start-ThreadJob -ErrorAction SilentlyContinue) {
                Start-ThreadJob -ScriptBlock $block -ArgumentList $global:CopilotZundaWav -StreamingHost $null | Out-Null
            } else {
                Start-Job -ScriptBlock $block -ArgumentList $global:CopilotZundaWav | Out-Null
            }
        } catch { }
    }
    if ($global:CopilotRealPath -and (Test-Path $global:CopilotRealPath)) {
        & $global:CopilotRealPath @args
    } else {
        Write-Error 'copilot CLI not found in PATH'
    }
}

3. 黙らせたいとき・外したいとき

  • 一時的に音を止める: $env:COPILOT_NOSOUND = '1'
  • 永続的に外す: $PROFILE の wrapper ブロックをまるごと削除

⚠️ ハマったところメモ

私が実際にハマったポイントです(同じ環境の人の役に立てば)。

  • System.Media.SoundPlayer が無音で即終了 する環境がある(HDMI Audio が既定出力など)。PlaySync() が再生時間より遥かに早く帰ってきたら疑う。WPF の MediaPlayer に切り替えると鳴った。
  • Start-Job は spawn に 5〜8 秒かかる。Start-ThreadJob だと 0.3〜1 秒程度。copilot 単体の体感速度が全然違うので、PowerShell 7 なら ThreadJob 推奨。
  • VOICEVOX の利用規約により、生成音声を使ったコンテンツには「VOICEVOX:ずんだもん」のクレジット表記 が必要です。動画でもブログでも、出すときは入れましょう。

13. 環境変数早見表

公式 copilot help environment から、よく触るやつだけ抜粋。

認証・ホスト

変数 意味
COPILOT_GITHUB_TOKEN / GH_TOKEN / GITHUB_TOKEN 認証トークン(この順で優先)
GH_HOST / COPILOT_GH_HOST GHEC データレジデンシー対応ホスト
COPILOT_HOME 設定 / ログの置き場所(既定: $HOME/.copilot

挙動制御

変数 意味
COPILOT_ALLOW_ALL --yolo 相当を強制 ON
COPILOT_AUTO_UPDATE 自動更新 ON/OFF(CI 環境では既定 OFF)
COPILOT_CUSTOM_INSTRUCTIONS_DIRS カンマ区切りで instructions dir を追加
COPILOT_MODEL 使うモデルを env で固定
COPILOT_EDITOR / VISUAL / EDITOR Ctrl+X→B で開くエディタ
NO_COLOR カラー出力を切る
PLAIN_DIFF diff を装飾なしで出す

プロキシ

変数 意味
HTTP_PROXY / HTTPS_PROXY / NO_PROXY 大文字小文字どちらでも OK
COPILOT_PROXY_KERBEROS_SPN Kerberos / Negotiate 認証の SPN

ripgrep / 検索ツール

変数 意味
USE_BUILTIN_RIPGREP 内蔵 ripgrep を強制使用
USE_TGREP / USE_TGREP_WARM_START tgrep 系の有効化

🧪 番外編:私の実機 env 設定(参考)

私が普段使っている Windows 11 + PowerShell 7 環境の User scope 環境変数はこんな感じです。記事を書きながら整理する過程で固めました。

[Environment]::SetEnvironmentVariable('COPILOT_ALLOW_ALL',     'true',  'User')
[Environment]::SetEnvironmentVariable('COPILOT_AUTO_UPDATE',   'true',  'User')
[Environment]::SetEnvironmentVariable('USE_BUILTIN_RIPGREP',   'false', 'User')
[Environment]::SetEnvironmentVariable('USE_TGREP',             'true',  'User')
[Environment]::SetEnvironmentVariable('USE_TGREP_WARM_START',  'true',  'User')
変数 私のスタンス
COPILOT_ALLOW_ALL true sandbox 用の検証 PC なので常時 --yolo 相当。本番作業 PC では 絶対に入れない。たまに $env:COPILOT_ALLOW_ALL=$null で一時的に外す
COPILOT_AUTO_UPDATE true 毎回手動 copilot update するのを忘れがちなので自動更新 ON
USE_BUILTIN_RIPGREP false winget で入れている ripgrep 15.x を使いたいので false
USE_TGREP true 高速検索 tgrep を有効化
USE_TGREP_WARM_START true tgrep の起動を温かく(速く)する

戻したくなったら:

foreach ($k in 'COPILOT_ALLOW_ALL','COPILOT_AUTO_UPDATE','USE_BUILTIN_RIPGREP','USE_TGREP','USE_TGREP_WARM_START') {
  [Environment]::SetEnvironmentVariable($k, $null, 'User')
}

環境変数以外では、$PROFILE12 章番外編の wrapper を入れているのと、~/.copilot/config.jsontrustedFolders / sessionSync が CLI 側で自動管理されているくらい。手動でいじる主な設定箇所はやはり「env + profile + 起動フラグ」の 3 つに集約されます。


14. BYOK で別プロバイダーをぶら下げる: COPILOT_PROVIDER_*

copilot help providers で読める Bring Your Own Key 用の変数群です。OpenAI 互換・Azure OpenAI・Anthropic に接続できます。

変数 意味
COPILOT_PROVIDER_BASE_URL プロバイダー API の base URL
COPILOT_PROVIDER_TYPE openai / azure / anthropic
COPILOT_PROVIDER_API_KEY / COPILOT_PROVIDER_BEARER_TOKEN 認証
COPILOT_PROVIDER_WIRE_API completions / responses
COPILOT_PROVIDER_TRANSPORT http / websockets
COPILOT_PROVIDER_AZURE_API_VERSION Azure OpenAI の API バージョン
COPILOT_PROVIDER_MODEL_ID / COPILOT_PROVIDER_WIRE_MODEL モデル ID 指定
COPILOT_PROVIDER_MAX_PROMPT_TOKENS / COPILOT_PROVIDER_MAX_OUTPUT_TOKENS トークン上限
COPILOT_OFFLINE オフラインモード を有効化(GitHub 認証 / telemetry / web tools / GitHub MCP / auto-update を全て停止。ローカル model provider 設定が必須)

Azure OpenAI を当てたときの Prompt Cache 検証などは、別記事で整理予定です。


15. OpenTelemetry で可観測性: OTEL_*

copilot help monitoring で全部出ます。

OpenTelemetry 設定フロー

補足: COPILOT_OTEL_ENABLED を明示的に設定しなくても、OTEL_EXPORTER_OTLP_ENDPOINT または COPILOT_OTEL_FILE_EXPORTER_PATH のどちらかが設定されていれば OTel エクスポーターは自動的に有効化されます(help-monitoring.txt に記載あり)。

変数 意味
COPILOT_OTEL_ENABLED OTel エクスポーター ON/OFF
OTEL_EXPORTER_OTLP_ENDPOINT OTLP 送信先
COPILOT_OTEL_EXPORTER_TYPE otlp-http / file
OTEL_EXPORTER_OTLP_PROTOCOL http/json / http/protobuf
COPILOT_OTEL_FILE_EXPORTER_PATH file エクスポーターのパス
OTEL_SERVICE_NAME OTel 標準のサービス名
COPILOT_OTEL_SOURCE_NAME Copilot CLI 側のソース名(OTel service.name とは別系統)
OTEL_RESOURCE_ATTRIBUTES リソース属性
OTEL_EXPORTER_OTLP_HEADERS 追加ヘッダ
OTEL_EXPORTER_OTLP_CERTIFICATE (+ TRACES/METRICS) TLS 証明書
OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE / ..._CLIENT_KEY mTLS
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT プロンプト / レスポンス本文 を span に含めるか(既定 off 推奨。機密が span に乗るリスク)
OTEL_LOG_LEVEL OTel 自体のログレベル

社内可観測性基盤に流して、誰がどのモデルでどれだけ使ったかを集計できます。


16. 自分用チートシート: 起動フラグ全部入り早見表

私が個人的に「これだけは見れば思い出せる」一覧。

モード:           --mode interactive|plan|autopilot / --plan / --autopilot
権限フル開放:     --allow-all / --yolo
ツール許可/拒否:  --allow-tool '<pattern>' / --deny-tool '<pattern>'
URL 許可/拒否:    --allow-url <url|domain> / --deny-url <...>
パス追加:         --add-dir <dir>  --allow-all-paths  --disallow-temp-dir
モデル:           --model <name> --effort none|low|medium|high|xhigh|max
コンテキスト:     --context default|long_context
セッション再開:   --continue / -r --resume[=id] / --session-id <uuid> / --name "<x>"
非対話:           -p <prompt> / -i <prompt> / --output-format text|json / -s --silent
共有:             --share[=path] / --share-gist / --remote / --remote-export
リモート合流:     --connect[=sessionId] / --acp
添付:             --attachment <path>      (非対話のみ)
ツール限定:       --available-tools '<...>' / --excluded-tools '<...>'
MCP:              --enable-all-github-mcp-tools / --add-github-mcp-toolset=<n>
                  --add-github-mcp-tool=<n>
                  --disable-builtin-mcps / --disable-mcp-server=<n>
                  --additional-mcp-config=@<file>
Agent/Plugin:     --agent <name> / --plugin-dir <dir> / -n --name <name>
予算/ループ:      --max-credits <n> / --max-iterations <n> / --max-autopilot-continues <n>
メモリ/推論:      --enable-memory / --enable-reasoning-summaries
抑止系:           --no-ask-user / --no-custom-instructions / --no-color / --plain-diff
秘密/シェル:      --secret-env-vars '<...>' / --bash-env on|off
端末:             --screen-reader / --mouse on|off
ログ:             --log-dir <dir> / --log-level <level> / --stream on|off
実験:             --experimental / --extension-sdk-path <dir>
作業 dir:         -C <dir>     (起動前に cd)

トップレベルのサブコマンドも添えておきます。

copilot completion <shell>   # シェル補完(bash / zsh / fish のみ。PowerShell は非対応)
copilot help [topic]         # billing / budget / commands / config /
                             # environment / logging / monitoring /
                             # permissions / providers
copilot init                 # 設定の対話セットアップ
copilot login                # 認証
copilot mcp ...              # MCP の登録 / 管理
copilot plugin ...           # plugin の管理
copilot skill ...            # skill の管理
copilot update [channel]     # 手動アップデート
copilot version              # バージョン

v1.0.66 時点では copilot completion powershell は通りません(実機で error: command-argument value 'powershell' is invalid for argument 'shell'. Allowed choices are bash, zsh, fish. と返ってきます)。PowerShell ユーザーが補完を欲しい場合は、copilot help を別名 alias にする等の代替で凌ぐのがおすすめです。


17. まとめ

  • v1.0.66-1 の copilot --helpcopilot help <topic>そのまま一次情報 として残しました。同じ手順で > file.txt に保存しておくと、後で grep で「あのフラグ何だっけ?」を秒で解決できておすすめです 〜!
  • 公式 Docs に載りきらない companyAnnouncements / statusLine / tabs / keepAlive あたりは 触ると一気にターミナルが自分仕様 になって楽しいです
  • BYOK (COPILOT_PROVIDER_*) と OTel (OTEL_*) を押さえておくと、組織導入の検証時に「ここまで設定可能 ですよ」と即答できるので便利です

重要: 本記事のコマンドや設定キーはすべて v1.0.66-1 時点の実機 help を元にしています。Copilot CLI は週単位で機能追加されているので、新しいバージョンが出たら 必ずご自身の環境で copilot help <topic> を引き直してください。

参考

自分の手元で同じものを揃える

特定バージョンで自分用チートシートを残したい人向けにワンライナーを置いておきます。

# 出力先を作って一次情報をぜんぶ保存(PowerShell 7+)
$dst = ".\copilot-cli-help"
New-Item -ItemType Directory -Force -Path $dst | Out-Null
copilot --version *> "$dst\version.txt"
copilot --help    *> "$dst\help.txt"
foreach ($t in 'billing','budget','commands','config','environment','logging','monitoring','permissions','providers') {
  copilot help $t *> "$dst\help-$t.txt"
}

関連で書いた既存記事:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?