Claude Codeのログイン・OAuthエラー対処:/loginが通らない・APIキーが勝つ・組織違い
Claude Codeで/loginが失敗する、ブラウザが開かない、ANTHROPIC_API_KEYが勝ってサブスクが使われない、組織アカウントを取り違えるといった認証トラブルを、公式docsの認証優先順位とclaude auth系コマンドの実出力で整理します(2026-09-14確認)。
Claude Code のログインまわりで詰まったとき、最初に見るべきなのは「今どの資格情報が選ばれているか」です。ログインが失敗して見える症状の多くは、ログイン自体ではなく、環境変数の API キーや別アカウントの残骸が /login の結果より優先されていることが原因です。 公式 docs には認証方式の優先順位が明文化されており、claude auth status と /status でそれを確認できます。
この記事は、公式の Authentication / Troubleshoot installation and login / Error reference の3ページと、手元の Claude Code 2.1.261(Windows ネイティブ)で実行した claude auth 系コマンドの出力を根拠に、症状から逆引きできる形でまとめます。インストール自体の問題は導入ガイド、Windows 固有の話はWindows ネイティブ環境のトラブルに分けています。
- 優先順位を知る。 クラウド資格情報 →
ANTHROPIC_AUTH_TOKEN→ANTHROPIC_API_KEY→apiKeyHelper→CLAUDE_CODE_OAUTH_TOKEN→ Anthropic プロファイル →/loginのサブスク OAuth。サブスクは最下位です。 claude auth statusが入口。authMethodとsubscriptionTypeを見れば「何で認証しているか」が一発で分かります。- ブラウザが開かない・コードが貼れない問題には逃げ道がある。
cで URL コピー、claude auth loginは標準入力からコードを読みます。 - アカウント取り違えは
/logout→claude auth login --console/--claudeai。/statusの Organization / Email 行で確認します。
今の認証状態を10秒で確認する
まず現状把握です。対話セッションを開かなくても claude auth status で確認できます(既定で JSON、--text で人間向け表示)。手元の環境で実行した出力がこれです。メールと組織情報は伏せています。
claude auth status{ "loggedIn": true, "authMethod": "claude.ai", "apiProvider": "firstParty", "analyticsDisabled": false, "projectsDirectory": "C:\\Users\\<user>\\.claude\\projects", "email": "<email>", ...(組織情報のキー)... "subscriptionType": "max"}authMethod が claude.ai で subscriptionType が max なら、サブスクの OAuth で認証できています。ここが期待と違うなら、以降の「優先順位」の話がそのまま原因です。
対話中なら /status です。公式 docs によれば、ログインと API キーの両方が設定されているとき /status は使われていない側の資格情報に印を付けて表示します。また期限切れのログインがある場合は Login 行が Expired — log in again になります(v2.1.210 以降)。
claude auth サブコマンドの一覧も実出力で確認しました。
Usage: claude auth [options] [command]Commands: login [options] Sign in to your Anthropic account logout Log out from your Anthropic account status [options] Show authentication status
Usage: claude auth login [options]Options: --claudeai Use Claude subscription (default) --console Use Anthropic Console (API usage billing) instead of Claude subscription --email <email> Pre-populate email address on the login page --sso Force SSO login flow認証方式の優先順位(ここを知らないと堂々巡りになる)
公式 Authentication ページの「Authentication precedence」は、複数の資格情報があるときに Claude Code がどれを選ぶかを次の順で定めています。
- 1クラウドプロバイダ資格情報CLAUDE_CODE_USE_BEDROCK / CLAUDE_CODE_USE_VERTEX / CLAUDE_CODE_USE_FOUNDRY が設定されている場合
- 2ANTHROPIC_AUTH_TOKENAuthorization: Bearer ヘッダとして送信。LLM ゲートウェイやプロキシ向け
- 3ANTHROPIC_API_KEYX-Api-Key ヘッダとして送信。対話モードでは初回に承認を求められ、選択が記憶される。-p では常に使われる
- 4apiKeyHelpersettings.json で指定したスクリプトの出力。ローテーションする資格情報向け
- 5CLAUDE_CODE_OAUTH_TOKENclaude setup-token で発行した長期トークン。CI 用
- 6Anthropic プロファイル / フェデレーション資格情報ant CLI や Workload Identity Federation が使うもの
- 7/login のサブスク OAuthPro / Max / Team / Enterprise の既定。最下位
つまり /login でサブスクにログインできていても、上位の何かが環境に残っていればそちらが使われます。「ログインしたのに API 課金されている」「昔の会社の組織で弾かれる」は、この順位表の 3 番と 7 番の関係で説明がつきます。
症状別の対処
ブラウザが開かない・コードが貼れない
公式の手順はこうです。claude を起動すると初回はブラウザが開きます。開かない場合は c を押すと OAuth の URL がクリップボードにコピーされるので、手動でブラウザに貼ります。サインイン後にブラウザが「コード」を表示したら、ターミナルの Paste code here if prompted に貼り付けます。完了すると Login successful が表示されます。
ブラウザがリダイレクトで戻ってこず「コード表示」になるのは、ブラウザが Claude Code のローカルコールバックサーバに到達できないケースで、公式は WSL2・SSH・コンテナで一般的だとしています。WSL2 でブラウザが全く開かないときは BROWSER 環境変数に Windows 側のブラウザを指定します。
export BROWSER="/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"claude対話プロンプトにコードを貼っても反応しない場合、公式は「ターミナルの貼り付けバインドが入力欄に届いていない」可能性を挙げ、Windows Terminal なら右クリックや Shift+Insert を試すか、claude auth login を使うよう案内しています。こちらは標準入力からコードを読むため、ネイティブ Windows でも有効です。
OAuth error: Invalid code. Please make sure the full code was copied が出たら、コードの期限切れか貼り付け時の欠落です。Enter で再試行し、ブラウザが開いたらすぐ完了させます。SSH 越しではブラウザが別マシンで開くので、ターミナルに出た URL をローカルのブラウザに貼ります。
This organization has been disabled / サブスクなのに API 課金
API Error: 400 ... "This organization has been disabled" が有効なサブスクにもかかわらず出る場合、公式は ANTHROPIC_API_KEY がサブスクを上書きしていると明言しています。前の職場やプロジェクトの古いキーがシェルプロファイルに残っているのが典型です。Help Center の Pro/Max 向け記事も、この環境変数があるとプラン認証を上書きし「サブスクに含まれる利用分ではなく API 利用料が請求される」と注意しています。
対処は環境から外すことです。
# macOS / Linux / Git Bashunset ANTHROPIC_API_KEYclaude# Windows PowerShellRemove-Item Env:ANTHROPIC_API_KEYclaude恒久対処として、~/.zshrc ~/.bashrc ~/.profile の export ANTHROPIC_API_KEY=... を削除します。Windows では $PROFILE(PowerShell プロファイル)と「ユーザー環境変数」の両方を確認するよう公式が書いています。作業後は /status で有効な認証方式を確認します。
なお対話モードでは ANTHROPIC_API_KEY を検出すると一度だけ「このキーを使うか」を尋ね、選択が記憶されます。後から変えたいときは /config の「Use custom API key」トグルです(この項目は環境変数が設定されている間だけ表示されます)。-p(非対話)では確認なしに常にキーが使われます。
403 Forbidden / Request not allowed
API Error: 403 {"error":{"type":"forbidden","message":"Request not allowed"}} がログイン後に出る場合、公式は3方向の確認を挙げています。
- Pro/Max:claude.ai の設定でサブスクが有効か
- Console:アカウントに「Claude Code」または「Developer」ロールがあるか(管理者が Settings → Members で付与)
- プロキシ配下:企業プロキシが API リクエストを妨げていないか
ログイン期限切れ
Login expired · Please run /login は保存済みログインの期限切れです。v2.1.203 以降は期限 3 日前から起動時に Your login expires in 3 days · run /login to renew と警告が出ます。警告は情報提供のみでリクエストを止めません。頻発する場合、公式はシステム時計の正確さを確認するよう案内しています。放置して困るのはバックグラウンドセッションや Remote Control で、資格情報が切れると再ログインまで進まなくなります。
アカウント・組織の取り違え
個人の Max と会社の Team、あるいはサブスクと Console 課金を行き来していると、意図しない側で動いていることがあります。切り替えの基本は /logout → 再ログインです。/logout は初回セットアップ状態もリセットするので、次回 claude 起動時にログインとセットアップを最初から辿ります。
Console 側は v2.1.242 以降、/login で Anthropic Console を選ぶと「Sign in with your Console account (recommended)」と「Create an API key (legacy)」の2択になります。前者は OAuth ログインを Anthropic プロファイルとして保存し API キーを作りません。後者は静的な API キーを作って保存します。
組織を固定したい管理者向けには forceLoginMethod と forceLoginOrgUUID が managed settings にあります。指定した組織以外への claude.ai ログインはエラーになり、該当しない資格情報で起動すると終了します。個人利用ではまず使いませんが、会社支給端末で「別組織にログインできない」場合はこれが効いている可能性があります。/status の Setting sources に managed の記載があれば確認してください。
資格情報の保存場所とプロキシ
Windows では資格情報は %USERPROFILE%\.claude\.credentials.json に保存され、ユーザープロファイルの ACL を継承します(手元でもこのファイルの存在を確認しました。中身は当然ここには載せません)。CLAUDE_CONFIG_DIR を設定している場合はそのディレクトリ配下になります。このファイルは /login と /logout が管理するもので、手で編集する対象ではありません。カスタムエンドポイントに向けたいなら ANTHROPIC_BASE_URL を使います。
企業プロキシ配下では HTTPS_PROXY と HTTP_PROXY を設定してから起動します。関連するエラーとして Error reference には Couldn't connect through your proxy、unable to get local issuer certificate(社内 CA を信頼ストアに追加する)が載っています。前述の 403 もプロキシ起因の可能性があります。
CI・スクリプトでのログイン
ブラウザが使えない環境では claude setup-token で 1 年有効の OAuth トークンを発行し、CLAUDE_CODE_OAUTH_TOKEN に設定します。トークンはどこにも保存されず端末に表示されるだけなので、その場でコピーします。Pro/Max/Team/Enterprise が必要で、モデルリクエスト専用(Remote Control や claude.ai コネクタは使えません)。
claude setup-tokenexport CLAUDE_CODE_OAUTH_TOKEN=your-token注意点が一つ。claude --help の --bare の説明には「Anthropic auth is strictly ANTHROPIC_API_KEY or apiKeyHelper via —settings (OAuth and keychain are never read)」とあり、公式 docs も bare mode は CLAUDE_CODE_OAUTH_TOKEN を読まないとしています。--bare を使うスクリプトでは API キーか apiKeyHelper で認証してください。ヘッドレス運用全体はclaude -p での CI 自動化にまとめています。
詰まったときの手順
公式の「Reset your login」はシンプルです。
/logoutで完全にサインアウト- Claude Code を閉じる
claudeで再起動し、認証をやり直す
これで直らないときは、上から順に切り分けます。
claude auth status # authMethod は期待どおりかenv | grep ANTHROPIC # API キー / AUTH_TOKEN / BASE_URL が残っていないか/status # 使われていない資格情報に印がついていないか、Login 行が Expired でないかclaude auth login --console / --claudeai # 意図した側で明示ログインアカウント側の問題(ログインループ、サブスクが認識されない、組織が無効)は端末では直せません。公式は claude.ai にサインインし左下のイニシャルから Get help で問い合わせるよう案内しています。
まとめ
- 認証は 7 段階の優先順位で選ばれ、
/loginのサブスク OAuth は最下位。ANTHROPIC_API_KEYが残っていればそちらが勝つ claude auth statusのauthMethod/subscriptionType、対話中は/statusで現状を確認する- ブラウザが開かないときは
cで URL コピー、コードが貼れないときはclaude auth login(標準入力から読む) This organization has been disabledは古い API キーの上書きが典型。unset/Remove-Item Env:してプロファイルからも消す- アカウント切替は
/logout→claude auth login --consoleまたは--claudeai。/logoutは MCP やプラグインの資格情報も消す
機密情報の扱い全般(キーをリポジトリやログに残さない)はAIエージェントに秘密情報を読ませないで扱っています。
この記事の情報・検証メモ
- claude-code
- troubleshooting
- 公開日
- 情報確認
- 参考リンク
- 4件
- 更新性
- 定期更新
仕様・料金・提供範囲が変わりやすいテーマは、公開日・更新日・情報確認日を分けて管理します。 導入前には必ず記事末尾の一次情報と公式ドキュメントで最新状況を確認してください。
一次情報・参考リンク
- Claude Code docs: Authentication https://code.claude.com/docs/en/authentication
- Claude Code docs: Troubleshoot installation and login https://code.claude.com/docs/en/troubleshoot-install
- Claude Code docs: Error reference https://code.claude.com/docs/en/errors
- Claude Help Center: Using Claude Code with your Pro or Max plan https://support.claude.com/en/articles/11145838-using-claude-code-with-your-pro-or-max-plan