Claude Code の認証 / OAuth とは(短く)
Claude Code は ターミナルから動く AI 開発エージェント で、初回起動時(または claude auth login 実行時)に Anthropic のアカウントと紐付けます。仕組み的にはいわゆる OAuth フロー で、
1. Claude Code が手元に 小さな受け取り口(localhost のポート) を立てる
2. 既定のブラウザを開いて Anthropic にログインしてもらう
3. ブラウザが手順 1 の localhost に 認証結果を返す
4. Claude Code が アクセストークン と、後から自動でトークンを延長する
ための refresh token(更新用トークン)を保存する
という流れです。ここで詰まりやすいのが、手順 3 の「ブラウザから localhost に戻る」経路です。WSL2、SSH 経由のリモート、Docker / devcontainer など、 手元のブラウザと Claude Code のプロセスが別ネットワークにいる環境では、ブラウザが返ろうとしても届かず、認証が無言でタイムアウトします。
今回の 3 修正のうち 2 つはこの「戻れない問題」の処理で、もう 1 つは保存された refresh token の安全性 に効きます。
何が変わった
@ClaudeDevs の投稿本文の 3 項目を、Anthropic 公式 GitHub releases の該当バージョンと突き合わせて整理します。
1. OAuth コードをそのままターミナルに貼り付けて認証できる(v2.1.126)
@ClaudeDevs の原文:
*You can paste the OAuth code into the terminal when the browser can't reach localhost (WSL2, SSH, containers)*
これまで、ブラウザが Claude Code の localhost ポートに戻れない環境 (WSL2、SSH 越し、Docker / devcontainer など)では、ブラウザ側で認証ページの最後まで進んでも、手元の Claude Code に結果が届かず認証が完了しませんでした。
v2.1.126 で claude auth login は、ブラウザで出てきた OAuth コード(短いトークン文字列)をターミナルに直接ペーストすれば認証が完了する経路を受け付けるようになりました。GitHub のリリースノートでは
*claude auth login now accepts the OAuth code pasted into the terminal when the browser callback can't reach localhost (WSL2, SSH, containers)*
と明示されています。ブラウザは手元の Mac / Windows、Claude Code は SSH 先のサーバーや WSL2 の中、というよくある構成でも、もうブラウザコールバックを通す必要はありません。
2. 遅いプロキシや IPv6 only な devcontainer でもログインが通る(v2.1.126)
2 つ目の原文:
*Login now works on slow proxies and IPv6-only devcontainers*
社内プロキシ越しでネットワークが遅い、あるいは devcontainer が IPv6 only で構成されているような環境では、これまで OAuth フローが途中でタイムアウトしてログインが完了しないケースがありました。
v2.1.126 のリリースノートでは
*Fixed OAuth login failing with timeout on slow or proxied connections, in IPv6-only devcontainers, and when the browser callback can't reach localhost*
として、遅い / プロキシ付き / IPv6 only / localhost に戻れない の 4 条件を 1 つの修正でまとめて塞いだ、と説明されています。会社のプロキシ越しに Claude Code を試そうとして「認証だけが終わらない」状態になっていた人は、まず手元のバージョンを v2.1.126 以上に上げてください。...
誰にどう効くか
・WSL2 / SSH / devcontainer 越しに Claude Code を使っている人: ブラウザコールバックを localhost に通せない環境でも、OAuth コードをターミナルに貼って認証で済むようになります。社内 PC からリモートサーバーで Claude Code を動かす運用がそのまま通るようになります。
・社内プロキシ / IPv6 only な devcontainer 経由で動かす人: ログインのタイムアウトが解消されます。「環境を整えたけど認証だけ通らない」という詰まりがなくなり、初回セットアップで諦めずに済む ケースが増えます。
・複数の Claude Code を並列で立ち上げる人: refresh token を巡る稀なレースが塞がるため、朝起きたらログアウトされている現象が減ります。チームで 1 人 2 セッション以上使う運用にも効きます。
・リモート MCP サーバーを複数つないでいる人: v2.1.136 で MCP 側の OAuth refresh token のレースも塞がっており、「毎日再認証が要る」状態を避けられます。
触ってみるには / 注意点
・触り方: Claude Code を v2.1.126 以上(refresh token と MCP OAuth まで含めて安全側に倒したいなら v2.1.136 以上)に更新するだけ。今回の 3 項目はすべて 挙動側の修正で、新しいオプションやコマンドの追加ではありません。
・再ログインが要る場合: refresh token 周りの修正後、稀に 手元の Claude Code が一度だけ再ログインを求めることがあります。claude auth login を 1 回叩き直すだけで OK です。
・コード貼り付け経路の使い方: ブラウザが localhost に戻れない環境で claude auth login を実行すると、ターミナル側に OAuth コードを貼り付ける入力欄が表示されます。ブラウザに表示されたコードをそのままコピーしてペーストするだけです。
・筆者注(解釈): 公式のスレッド本文だけでは「v2.1.126 から」「v2.1.136 まで断続的に」の対応版バージョンは明示されていません。本文の version 対応は GitHub releases のリリースノート記載に基づきます。詳細な内部の並行書き込み挙動は公式が踏み込んで説明していないため、ここでは現象ベース(並列 Claude Code でログアウトされる / 401 が連続する)に絞って書いています。
・公式ドキュメント: 認証フロー全体の説明は公式の authentication ドキュメントにあります。今回の v2.1.126 系修正は内部実装側の話なのでドキュメント本文は更新されない可能性が高い点に留意してください。
参考
・@ClaudeDevs の元投稿(3/ Auth)
・Anthropic / claude-code の GitHub リリースノート
・Claude Code の authentication 公式ドキュメント