私は普段、GitHub CLI(gh)をWSL2のターミナルで使っています。WindowsとWSL2の両方を使う場合に迷いやすいのは、Windowsに入れたghがWSL2でもそのまま使えると思ってしまうことです。どのシェルで作業するかを先に決め、その環境にghを入れて認証します。
WindowsとWSL2は、それぞれにインストールする
PowerShellで使う場合は、Windows TerminalなどでPowerShellを開き、WinGetから入れます。
winget install --id GitHub.cli --source winget
インストール後、Windows Terminalを使っている場合は新しいウィンドウを開き、次でバージョンを確認します。
gh --version
WSL2のUbuntuで使う場合は、WSLのシェルでLinux版を入れます。GitHub CLIの公式APTリポジトリを登録してからghをインストールします。
以下は公式のAPT手順をベースに、鍵の取得をcurlに変えた例です。最初にcurlとCA証明書を準備し、鍵は一時ファイルへ取得してから配置します。Bashで括弧を含めてまとめて実行すると、途中のコマンドが失敗した時点で処理が止まります。
(
set -euo pipefail
sudo apt update
sudo apt install -y curl ca-certificates
sudo mkdir -p -m 755 /etc/apt/keyrings /etc/apt/sources.list.d
gh_keyring_file=$(mktemp)
trap 'rm -f "$gh_keyring_file"' EXIT
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg -o "$gh_keyring_file"
sudo install -m 644 "$gh_keyring_file" /etc/apt/keyrings/githubcli-archive-keyring.gpg
gh_architecture=$(dpkg --print-architecture)
printf '%s\n' "deb [arch=$gh_architecture signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install -y gh
)
PowerShellとWSLの両方に入れた時は、それぞれのシェルでgh --versionとログイン状態を確かめます。設定ファイルの保存先は通常、Windowsが%APPDATA%\GitHub CLI、Linuxが$HOME/.config/gh。GH_CONFIG_DIRやXDG_CONFIG_HOMEを指定していれば、保存先も変わります。
そのターミナルでGitHubへログインする
PowerShellでもWSLでも、ログインする環境のターミナルで次を実行します。
gh auth login
質問に答えてGitHub.comを選び、案内に沿ってブラウザー認証を完了します。ログイン後は同じターミナルで状態を見ます。
gh auth status
WSLではgh auth statusが通るのに、Codexでは無効と出て、少しつまずいたこともありました。今は使えています。その時の記録は、WSLとCodexでGitHub CLIの表示が食い違った時の話に残しています。
IssueやPull Requestをターミナルから見る
リポジトリの作業ディレクトリで、Issueの一覧とPRの状態を見ます。
gh repo view
gh issue list
gh pr status
gh pr view 123
123はPR番号の例です。ターミナルで読むならこのまま。ブラウザーで開きたい時はgh pr view 123 --web。番号を省くと、今いるブランチのPRが対象になります。
gitはローカルの変更、ブランチ、コミットを扱います。ghはIssueやPull RequestなどGitHub上の情報を扱います。たとえばPRのチェックを待つのはgh pr checks 123 --watch、ローカルのコミットをremoteへ送るのはgit pushです。ghへのログインに成功しても、git pushに必要なSSHキーやHTTPSの認証が自動で整うとは限りません。
私自身はWSLの/usr/bin/ghを使った経験をもとに、同じ環境でGitの作業とGitHub上の確認をするようにしています。Windows側のインストール方法はGitHub CLIの公式手順に沿って記載しました。どちらか一方だけ使うなら、普段Gitを実行するシェルにghを入れるところから始めれば十分です。
確認した公式情報
- GitHub CLIをWindowsへインストールする(WinGetの手順、2026年9月29日確認)
- GitHub CLIをLinuxへインストールする(Debian/UbuntuのAPTリポジトリ、2026年9月29日確認、2026年10月7日再確認。掲載例は取得ツールを
curlに変更) gh auth login、gh auth status(2026年9月29日確認)- GitHub CLIの環境設定(2026年9月29日確認、2026年10月7日再確認)
gh issue list(2026年9月29日確認)gh pr view、gh pr checks(2026年9月29日確認、2026年10月7日再確認)

コメント