できるようになること
WSL上のCLIツール(gh auth login、codex login など)でブラウザ認証を実行したとき、Windowsのデフォルトブラウザが自動で開くようになる。
環境
- Windows 11 + WSL2
- Ubuntu 22.04 LTS
- シェル: zsh
zsh以外を使用している方は .zshrc をご自身のシェル設定ファイルに読み替えてください。
WSL用Chromeを自分で入れたが、結局Windows側で開きたくなった。GH認証等の際に面倒だった。

手順
1. WSL内のChromeを削除(該当する場合)
WSL内にChromeがインストールされていると、 BROWSER 環境変数よりもそちらが優先されてしまったので削除した。
# WSL内にChromeがあるか確認
which google-chrome
# あれば削除
sudo apt remove google-chrome-stable
2. URLをWindowsで開くスクリプトを作成
Windowsの cmd.exe start を利用してURLを開く1行スクリプト。
# スクリプトを作成
# 場所は任意
cat << 'EOF' > ~/.local/bin/wsl-open
#!/bin/sh
/mnt/c/Windows/System32/cmd.exe /c start "" "$1" 2>/dev/null
EOF
# 実行権限を付与
chmod +x ~/.local/bin/wsl-open
3. .zshrcにBROWSER環境変数を設定
# ~/.zshrc に追加
export BROWSER="wsl-open"
# 反映する
source ~/.zshrc
確認方法
# WindowsのブラウザでURLが開けばOK
wsl-open https://example.com
影響範囲
BROWSER 環境変数を参照するすべてのCLIツールに効く。
-
codex login(OpenAI Codex CLI) -
gh auth login(GitHub CLI) - その他ブラウザ認証を使うCLIツール全般
備考
同様の目的のツールとして wslu の wslview コマンドがあるが、2025年3月にリポジトリがアーカイブされ、メンテナンスが終了している。
本記事では外部パッケージに依存しない方法を採用した。