本文へスキップ

Claude Codeのログイン・OAuthエラー対処:/loginが通らない・APIキーが勝つ・組織違い

Claude Codeで/loginが失敗する、ブラウザが開かない、ANTHROPIC_API_KEYが勝ってサブスクが使われない、組織アカウントを取り違えるといった認証トラブルを、公式docsの認証優先順位とclaude auth系コマンドの実出力で整理します(2026-09-14確認)。

SHAYOUWORLD 更新 約8分

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 ネイティブ環境のトラブルに分けています。

  1. 優先順位を知る。 クラウド資格情報 → ANTHROPIC_AUTH_TOKEN → ANTHROPIC_API_KEY → apiKeyHelper → CLAUDE_CODE_OAUTH_TOKEN → Anthropic プロファイル → /login のサブスク OAuth。サブスクは最下位です。
  2. claude auth status が入口。 authMethod と subscriptionType を見れば「何で認証しているか」が一発で分かります。
  3. ブラウザが開かない・コードが貼れない問題には逃げ道がある。 c で URL コピー、claude auth login は標準入力からコードを読みます。
  4. アカウント取り違えは /logout → claude auth login --console / --claudeai。 /status の Organization / Email 行で確認します。

今の認証状態を10秒で確認する

まず現状把握です。対話セッションを開かなくても claude auth status で確認できます(既定で JSON、--text で人間向け表示)。手元の環境で実行した出力がこれです。メールと組織情報は伏せています。

Terminal window
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. 1
    クラウドプロバイダ資格情報
    CLAUDE_CODE_USE_BEDROCK / CLAUDE_CODE_USE_VERTEX / CLAUDE_CODE_USE_FOUNDRY が設定されている場合
  2. 2
    ANTHROPIC_AUTH_TOKEN
    Authorization: Bearer ヘッダとして送信。LLM ゲートウェイやプロキシ向け
  3. 3
    ANTHROPIC_API_KEY
    X-Api-Key ヘッダとして送信。対話モードでは初回に承認を求められ、選択が記憶される。-p では常に使われる
  4. 4
    apiKeyHelper
    settings.json で指定したスクリプトの出力。ローテーションする資格情報向け
  5. 5
    CLAUDE_CODE_OAUTH_TOKEN
    claude setup-token で発行した長期トークン。CI 用
  6. 6
    Anthropic プロファイル / フェデレーション資格情報
    ant CLI や Workload Identity Federation が使うもの
  7. 7
    /login のサブスク OAuth
    Pro / Max / Team / Enterprise の既定。最下位
code.claude.com/docs/en/authentication「Authentication precedence」より(2026-09-14 取得)

つまり /login でサブスクにログインできていても、上位の何かが環境に残っていればそちらが使われます。「ログインしたのに API 課金されている」「昔の会社の組織で弾かれる」は、この順位表の 3 番と 7 番の関係で説明がつきます。

症状別の対処

ブラウザが開かない・コードが貼れない

公式の手順はこうです。claude を起動すると初回はブラウザが開きます。開かない場合は c を押すと OAuth の URL がクリップボードにコピーされるので、手動でブラウザに貼ります。サインイン後にブラウザが「コード」を表示したら、ターミナルの Paste code here if prompted に貼り付けます。完了すると Login successful が表示されます。

ブラウザがリダイレクトで戻ってこず「コード表示」になるのは、ブラウザが Claude Code のローカルコールバックサーバに到達できないケースで、公式は WSL2・SSH・コンテナで一般的だとしています。WSL2 でブラウザが全く開かないときは BROWSER 環境変数に Windows 側のブラウザを指定します。

Terminal window
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 利用料が請求される」と注意しています。

対処は環境から外すことです。

Terminal window
# macOS / Linux / Git Bash
unset ANTHROPIC_API_KEY
claude
Terminal window
# Windows PowerShell
Remove-Item Env:ANTHROPIC_API_KEY
claude

恒久対処として、~/.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 起動時にログインとセットアップを最初から辿ります。

サブスク(claude.ai)で使いたい
Console(API 課金)で使いたい
ログインコマンド
claude auth login(--claudeai が既定)
claude auth login --console
事前に外すもの
ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN
キーなしサインインを選ぶなら ANTHROPIC_API_KEY(公式が「Unset before you sign in without a key」と明記)
確認方法
claude auth status の authMethod=claude.ai
/status の Profile 行または API key 表示
課金の行き先
プランに含まれる利用枠(Claude と共有)
Console の Claude Code ワークスペース
code.claude.com/docs/en/authentication および claude auth login --help(2026-09-14)

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 コネクタは使えません)。

Terminal window
claude setup-token
export 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」はシンプルです。

  1. /logout で完全にサインアウト
  2. Claude Code を閉じる
  3. 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エージェントに秘密情報を読ませないで扱っています。

この記事の情報・検証メモ
Tags
公開日
情報確認
参考リンク
4件
更新性
定期更新
更新管理

仕様・料金・提供範囲が変わりやすいテーマは、公開日・更新日・情報確認日を分けて管理します。 導入前には必ず記事末尾の一次情報と公式ドキュメントで最新状況を確認してください。

検証メモ
Claude Code 2.1.261 (native, win32-x64) claude auth status / claude auth login --help 実行日 2026-09-14
図解を保存・共有

記事の要点を1枚にまとめました。画像は新しいタブで開いて保存できます。

Claude Codeのログイン・OAuthエラー対処:/loginが通らない・APIキーが勝つ・組織違い ログイン不調の大半は「どの資格情報が選ばれているか」を見れば片づく。/status と claude auth status が入口 まず確認すること:claude auth status で authMethod と subscriptionType を見る。ANTHROPIC_API_KEY が環境にあると OAuth より優先される。/status は使われていない資格情報に印を付ける。 症状別の対処:ブラウザが開かない → c でURLコピー、claude auth login で標準入力貼り付け。organization has been disabled → 古いAPIキーを環境から外す。403 Request not allowed → サブスク状態・Consoleロール・プロキシ。 再発防止:サブスク利用者は $PROFILE と User環境変数から APIキーを消す。CI は claude setup-token → CLAUDE_CODE_OAUTH_TOKEN。アカウント切替は /logout → claude auth login --console/--claudeai。
Claude Codeのログイン・OAuthエラー対処:/loginが通らない・APIキーが勝つ・組織違い 記事の要約 2026.09.14 運用Tips・トラブルシュート
画像を開く・保存 記事リンクを共有 約8分 / claude-code / troubleshooting
Primary sources

一次情報・参考リンク

About the author
SHAYOUWORLD

日本の公共データAPIを使うMCPサーバーを作って公開し、ローカルLLMを自分のGPUで測った記録を、一次情報・検証ログ・失敗例とあわせて整理します。