
GitHub CLIの使い方|ブラウザ移動の手間なく、ターミナルからPRを作る方法
PRを1本出すのに、ブラウザのタブを何枚開いていますか。
僕は5枚くらい開いていました。リポジトリ、ブランチの一覧、比較画面、テンプレート、それとレビュアーの一覧。
で、GitHub CLIを入れてからは、0枚です。端末で gh pr create と打つと、PRのURLが1行返ってくる。
今日は「GitHub CLIの使い方」を、公式マニュアルとリポジトリのREADMEの本文だけで書きます。入れ方、ログイン、PR、Issue、それと自動化で使う時の注意。確認日は2026年9月17日です。
GitHub CLIとは何か——gitの隣に、GitHubを置く道具
まず定義から。
公式マニュアルの1行目はこうです。「GitHub CLI, or gh, is a command-line interface to GitHub for use in your terminal or your scripts」。端末とスクリプトからGitHubを操作する道具。コマンド名は gh。
リポジトリ cli/cli のREADMEの言い方の方が、僕は好きです。「brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git and your code」。
PRやIssueといった「GitHubの概念」を、すでにgitで作業している端末の隣に持ってくる。
ここが大事で、gh は git の置き換えではありません。READMEには、前身のhubが「a proxy to git」だったのに対し、ghは「a standalone tool」だと書いてあります。gitはgitのまま。その隣にghが増える。
リポジトリは cli/cli で、GitHub自身が作っている公式ツール。ライセンスはMIT。2026年9月17日時点でスターは4.6万を超え、最新リリースはv2.101.0(2026年9月15日公開)です。
(正直、僕は長いこと「ブラウザで十分」と思っていて、入れたのはPRを1日に何本も出す時期が来てからでした)

GitHub CLIの使い方1:入れ方はOSごとに1行
入れ方はREADMEの「Installation」に全部あります。
macOSはHomebrew。brew install gh。Windowsは WinGet。Linuxは Debian/Ubuntu なら apt、RPM系なら dnf など、ディストリビューションごとに手順が載っている。どれも、精選済みのバイナリをreleasesページから直接落とす道もあります。
対応先は GitHub.com、GitHub Enterprise Cloud、それと対応版のGitHub Enterprise Server。公式マニュアルによると Enterprise Server は 2.20 以降です。
入れたら gh --version で入ったことを確かめる。ここまで2分。
ログイン——gh auth loginを1回打てば、トークンはOSが持つ
ここが最初のつまずきどころ。
公式マニュアルの手順はシンプルで、gh auth login を打つ。既定はブラウザ認証で、画面の指示どおりにブラウザでコードを入れると終わる。
終わると何が起きているか。マニュアルの「gh auth login」のページにこう書いてあります。認証後のトークンは「stored securely in the system credential store」。OSの認証情報の保管庫、macOSならキーチェーンに入る。それが使えない環境では平文の保存に落ちる、とも書いてある。
つまり、あなたがトークンをファイルに書いて管理する必要はない。
いや、CIとかスクリプトではブラウザ開けないでしょ?
そのために2つの道があります。1つは --with-token で、標準入力からトークンを読ませる。もう1つは環境変数で、マニュアルによると GITHUB_TOKEN が設定されていればghはそれを自動で使う。無人の環境はこちらです。
トークンに必要なスコープも決まっていて、「The minimum required scopes for the token are: repo, read:org, and gist」。自分で発行する時は、この3つを最低限つける。
会社のGitHub Enterpriseを使うなら、gh auth login --hostname <ホスト名> か、環境変数 GH_HOST。
ここで1つ、うちで実際にあった話。
ghの認証が切れた日に、git push は普通に通りました。gitはSSH鍵で動いているので、ghとは無関係。止まったのはPRの作成とCIの結果照会だけ。「pushできたのにPRが出せない」は、gitではなくghのログイン切れを疑う。これは公式の仕様から素直に出てくる切り分けですが、知らないと30分は迷います。

GitHub CLIの使い方2:PRは gh pr create で、URLが1行返る
本題です。
ブランチで作業して、コミットしたら、gh pr create。
公式マニュアル「gh pr create」の説明はこれ。「Create a pull request on GitHub. Upon success, the URL of the created pull request will be printed」。成功したら、PRのURLが表示される。それをチームに貼れば終わり。
タイトルと本文は、何も指定しなければ対話で聞かれます。急ぐ時は --fill。マニュアルの説明は「Use commit info for title and body」で、コミットの情報からタイトルと本文を埋めてくれる。
マージ先を変えたい時は --base。下書きにするなら --draft。やっぱりブラウザで書きたい時は --web で、ブラウザのPR作成画面が開く。
ブランチをまだpushしていない場合はどうなるか。マニュアルによると、push先を聞いてくる。しかも、元のリポジトリをforkする選択肢も出る。pushを忘れていても止まらない。
たとえば、こんな1行で済みます。
gh pr create --title "請求書の集計を月次に変更" --body "手動集計を廃止" --base develop打った瞬間にURLが返る。5枚のタブは要りません。
Issue・CI・その他——コマンド群は40以上ある
PR以外も同じ形です。
公式マニュアルに並ぶコマンド群は、repo、pr、issue、run、release、api、auth、gist、codespace、extension など。全部で40以上の群、200以上のサブコマンドがある。
僕がよく使うのは3つ。
gh issue create でIssueを端末から立てる。gh run list でGitHub Actionsの実行一覧を見る(落ちたCIを探すのに、ブラウザのActionsタブを開かなくていい)。gh api で、コマンドが用意されていないものをREST APIに直接投げる。
てか、この gh api があるので、「ghにできないこと」がほぼ無いと思っています。GitHubのAPIにあることは全部できる。
あとは細かい設定。gh config set editor <エディタ> でPR本文を書くエディタを決める。gh alias set で長いコマンドに短い名前をつける。この2つは公式マニュアルの冒頭に載っている基本です。
AIエージェントに使わせる時の1行
ここは2026年らしい話。
cli/cli のREADMEに、コーディングエージェント向けのスキルが用意されている、と書いてあります。入れ方はこれ。
gh skill install cli/cli gh --scope userこれで、Claude CodeやCodexのようなエージェントが gh の使い方を知った状態で動く。エージェントにPRを出させる運用をしている人は、これが最短です。
うちでも、社内のAIがPRを作る時はghを叩かせています。人がブラウザで確認するのは、返ってきたURLだけ。個人的には、エージェントにGitHubを触らせるならブラウザ操作よりghの方が安全だと感じています。許可する範囲をスコープで切れるので。
使えるようになったか、どう確かめるか
最後に判定です。
判定は1つでいい。
次のPRを、ブラウザを開かずに出せたか。
gh auth status でログインしていることを確かめて、ブランチでコミットして、gh pr create --fill。URLが1行返ったら、できています。
返らずにエラーが出たら、まず gh auth status。ログイン切れなら gh auth login をもう1回。gitのpushが通るかどうかは、この判定には関係ありません。

まとめ:GitHub CLIの使い方は、ログイン1回とpr createから
今日はこんな話でした。
GitHub CLIは、gitの隣にGitHubの概念を置く公式ツール。入れ方はOSごとに1行。gh auth login を1回打てばトークンはOSの保管庫に入り、無人の環境では GITHUB_TOKEN を使う。最小スコープは repo・read:org・gist。
PRは gh pr create で、成功すればURLが1行返る。--fill でコミットから埋められる。Issue・CI・APIも同じ形で、コマンド群は40以上。エージェントに使わせるなら gh skill install cli/cli gh --scope user。
まず今日、brew install gh(かお使いのOSの1行)と gh auth login だけやってみてください。次のPRで gh pr create --fill と打つ。URLが返ったら、タブを閉じていいです。
▶ 関連記事: GitHub MCP Serverの使い方——リモートかローカルか、ツールセットの絞り方、読み取り専用で始める
▶ 関連記事: microsandboxの使い方——AIエージェントのコードをmicroVMに閉じ込める。入れ方・msb run・Python SDK
オープンソース研究所の6大特典
ghをAIエージェントに叩かせる時の許可の切り方と、うちが使っているエイリアスの一覧を入れています。OSSを業務に組み込む人向けです。