claude auth login: WSL2・SSH・コンテナ環境でOAuthコードを貼り付けて認証
原文(日本語に翻訳)
claude auth login が、ブラウザのコールバックがlocalhostに届かない場合(WSL2、SSH、コンテナ)に、ターミナルに貼り付けたOAuthコードを受け付けるようになりました。
原文(英語)
claude auth login now accepts the OAuth code pasted into the terminal when the browser callback can't reach localhost (WSL2, SSH, containers)
概要
WSL2、SSHリモート接続、Dockerコンテナなどの環境では、ブラウザからlocalhostへのコールバックが届かないため、従来のOAuth認証フローが機能しませんでした。今回の改善により、ブラウザで表示されたOAuthコードをコピーしてターミナルに貼り付けることで認証を完了できるようになりました。これらの環境でもセットアップが格段に簡単になります。
基本的な使い方
bash
# WSL2やSSH環境でのログイン
claude auth login
# → ブラウザでURLが開く(または表示される)
# → 認証後にブラウザに表示されたコードをコピー
# → ターミナルのプロンプトにコードを貼り付けてEnter実践例
WSL2環境での認証
bash
# WSL2のターミナルで実行
claude auth login
# 出力例:
# ブラウザで以下のURLを開いてください:
# https://claude.ai/oauth/authorize?...
#
# ブラウザで認証後、表示されたコードを貼り付けてください:
# > [ここにコードを貼り付け]
# Windowsブラウザで認証後、表示されたコードをWSL2のターミナルに貼り付けるSSHリモートサーバーでの認証
bash
# SSH接続先のサーバーで実行
ssh user@remote-server
claude auth login
# ブラウザが起動できない場合でも:
# 1. 表示されたURLをローカルのブラウザで開く
# 2. 認証完了後に表示されたコードをコピー
# 3. SSHセッションのターミナルに貼り付けるDockerコンテナでの認証
dockerfile
# Dockerfile
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y curl
RUN curl -fsSL https://claude.ai/install.sh | shbash
# コンテナを起動してログイン
docker run -it --rm my-claude-image bash
claude auth login
# コンテナ内にブラウザがなくてもOK:
# 1. 表示されたURLをホストのブラウザで開く
# 2. 認証後のコードをターミナルに貼り付けるdevcontainerでの認証
json
// .devcontainer/devcontainer.json
{
"name": "My Dev Container",
"image": "mcr.microsoft.com/devcontainers/base:ubuntu",
"postCreateCommand": "claude auth login"
}bash
# devcontainer起動後、ターミナルで
# 1. claude auth login が自動実行される(または手動で実行)
# 2. 表示されたURLをホストのブラウザで開く
# 3. 認証コードを貼り付けて認証完了注意点
- OAuthコードは一定時間で有効期限が切れます。表示されたら速やかにコピー&ペーストしてください
- コードは一度しか使用できません。認証に失敗した場合は
claude auth loginを再実行してください - ブラウザがlocalhostへのコールバックに成功する通常環境では、従来通り自動認証されます
- 会社やチームのSSO(シングルサインオン)が設定されている場合は、そのフローに従ってください