GitHub Copilot にも CLI がやってきた!
Back to Topはじめに
#ちょっと時間が経ってしまいましたが、先月末 GitHub Copilot CLI がパブリックプレビューになりました。
VS Code の拡張から始まった GitHub Copilot も Claude Code や Gemini と同様 CLI としても動作するようになりました。CLI として提供されることで、
- IDE 縛りがなくなる
- パイプを使って他の CLI ツールとの連携が可能
という強みが追加されます。ターミナルだけで作業が完結できるという点にも魅力を感じる人は多いでしょう。
さらに GitHub にログイン状態で利用するため自分が関わっているリポジトリの操作もできますし、GitHub の MCP サーバーもすぐ利用ます。
日本語のドキュメントは以下から参照できます。
GitHub Copilot CLI の使用 - GitHub Docs
従来 GitHub CLI の拡張として提供されていた gh-cpilot は Copilot CLI のパブリックプレビューに伴って非推奨となり、Copilot CLI に置き換えられます。
gh-copilot については昨年2月紹介してました。
GitHub Copilot CLI は、GitHub Copilot Pro、GitHub Copilot Pro+、GitHub Copilot Business、GitHub Copilot Enterprise プランで使用できます。
インストールと起動
#ドキュメントに従ってインストールします。
npm でグローバルインストール可能です。
npm install -g @github/copilot
GitHub CLI を起動します。
copilot
GitHub CLI の TUI が起動し GitHub へのログイン状態、GitHub MCP サーバへの接続状況が表示されます。
作業するフォルダの信頼について聞かれています。いつも $HOME/dev で作業してるので2番の Yes, and remember this folder for future sessions を選択しました。
筆者の環境では GitHub CLI (Copilot CLI じゃない GitHub 操作用 CLI) で事前に GitHub にログインしているため、その認証トークンでログイン状態になっているのだと思います。
使ってみる
#使い方を理解する上では以下のページが役立ちます。
対話型モード
#TUI 上でプロンプトを入力して対話的に作業を進めるモードです。
GitHub から clone した筆者が作っている Electron アプリのリポジトリ(sbe)のディレクトリに移動してから Copilot CLI を起動しました。
cd sbe
copilot
@ でファイルをメンションできます。@ に続いてパスの一部を入力すると候補が列挙されます。
ソースコードの説明をしてもらいました。
日本語で質問すると日本語で回答してくれます。
対話モードを抜けると利用実績やコードの変更行数などが表示されます。
Total usage est: 2 Premium requests
Total duration (API): 15.1s
Total duration (wall): 12m 33.3s
Total code changes: 0 lines added, 0 lines removed
Usage by model:
claude-sonnet-4.5 24.9k input, 414 output, 0 cache read, 0 cache write (Est. 2 Premium requests)
Shutting down...
プログラムモード
#Copilot CLI に引数やパイプでプロンプトを与えて直接実行するモードです。
copilot -p "explain src/favs.js"
TUI は起動せず直接プロンプトの結果が出力されます。
I'll read the src/favs.js file to explain it to you.
✓ Read src/favs.js (57 lines)
This is a Vue.js 3 app that manages favorites in an Electron application. It creates a UI for displaying and deleting favorite items with these key features:
**Core functionality**: Loads favorites from the Electron backend via `window.favsApi`, displays them in a list, and provides delete functionality with a confirmation dialog. It listens for window focus events to refresh the favorites list.
**Theme support**: Automatically detects and applies light/dark mode based on system preferences using Vuetify's theming system.
Total usage est: 1 Premium request
Total duration (API): 11.5s
Total duration (wall): 15.2s
Total code changes: 0 lines added, 0 lines removed
Usage by model:
claude-sonnet-4.5 23.6k input, 239 output, 0 cache read, 0 cache write (Est. 1 Premium request)
結果は標準出力に出力され、続いて利用実績も表示されます。
ローカルタスク
#ローカルにあるコードを変更するように指示できます。
まず、1つのソースコードのファイルについてのレビューを依頼し、改善ポイントを挙げてもらいました。
Review @src/about.js
良い点として、適切なライフサイクルフックを持つクリーンなコンポーネント構造とか、IPC による関心事の適切な分離などを誉めてくれています。
いくつか問題点を挙げてくれていますが、使用している Vue の beforeUnmount でフォーカス関連のリスナーを削除してないので、メモリリークの懸念があるというのが気になりました。
そこで、この問題を修正するように依頼。
Fix No cleanup problem
beforeUnmount のフックメソッドと Listener 削除のコードが追加されました。リスナーを off で削除する API は存在しないため受け入れる変更ではありません。ですが、今は Copilot CLI の機能を試しているため、他のファイルにも同様に適用をお願いしてみました。ファイルごとに変更していいか聞かれます。
Apply this fix to other files too
全てのファイルに適用が終わりました。
この例では使用しませんでしたが、ローカルタスクにおいて sed とか chmod などの外部コマンドを使用する場合は、使用許可を聞いてきます。--allow-tool で実行時に予め許可を与えることもできます。
GitHub タスク(issue 一覧取得)
#GitHub の操作に関するタスクも実行できます。手始めにリポジトリの issue 一覧を表示させてみました。
list my open issues
GitHub タスク(PR 作成)
#先ほど試した Electron アプリへのリスナー削除の変更が手元にあるので、そこから PR を作ってもらいます。
create a pull request from this changes
ブランチを作って push までやってくれました。これをもとに PR を作るか確認が入りました。
Yes を選択すると PR が作成されました。
PR の作者は筆者自身となっています。
GitHub タスク(Actions ワークフロー実行)
#GitHub タスクでは GitHub Actions ワークフローの操作も可能です。まず、このリポジトリのワークフローを列挙させてみました。
列挙されたワークフローのうち OS Matrix は、クロスプラットフォームで Electron アプリのテストを実行するワークフローです。手動実行時に beta というパラメータを true に設定して実行すると Electron の最新ベータ版をインストールしてテストします。ワークフローファイルはこちらから参照してください。
このワークフローの実行を指示してみました。
Run OS Matrix with input value "beta" to true
(GitHub Copilot CLI ではなく) GitHub CLI を使って実行するプランを提示、実行についてのオプションを提示してきました。
1を選択すると、1回限りの実行を許可、2を選択するとこのセッションを通しての許可を与えることになります。1を選択すると無事に実行できたようです。
実際にちゃんと Electron のベータ版をインストールしてテストが実行されていました。
Web UI を使わなくても GitHUb CLI によるワークフロー実行方法を知らなくても、自然言語で指示すればいいので助かりますね。
さいごに
#GitHub Copilot CLI は予想以上に強力な Copilot 協調環境を提供してくれていました。
プロンプトの複数行入力にも対応するなど、GA に向けて改善が進んでいます。
MCP サーバーとの連携なども使いこなせれば、ターミナルだけで多くの複雑なタスクがこなせそうですね。















