Claude Media
Claude CodeでAPIキーなしにログインする方法 — Console認証のキーレスサインイン

Claude CodeでAPIキーなしにログインする方法 — Console認証のキーレスサインイン

Claude CodeでConsoleアカウントにログインするには、/loginでAnthropic Consoleを選びます。APIキーを作らずに入る手順と、元に戻す方法を載せます。

/loginでConsoleアカウントを選ぶとAPIキーを作らずサインインできる

Claude Codeの/loginで「Anthropic Console」アカウントを選ぶと、APIキーを発行せずにサインインする選択肢が表示されます。Claude Code v2.1.242以降が対象です。changelogでは、v2.1.243に「APIキーを許可しない組織でもサインインできるようにする」新機能として載っています。

特に、開発者にAPIキーの発行を許可していない組織のメンバーに役立ちます。Consoleアカウントを選ぶと、Claude Codeが何を保存するかを選ぶ画面が出ます。Console組織への招待を、事前に管理者から受けている必要があります。

くらべる

Consoleサインイン後に選ぶ2つの形

(recommended)

Sign in with your Console account

ブラウザのサインインで得たOAuthトークンを保持し、Anthropicプロファイルとして保存します。APIキーは作られません。更新はClaude Codeが自動で行います。

(legacy)

Create an API key

Console APIキーを作成し、ほかの認証情報と一緒に保存します。静的な認証情報なので、値は自動では入れ替わりません。

自動化されたCI用のトークンが欲しい場合は、この画面の対象外です。ブラウザログインが使えない環境向けの長期トークンは、claude setup-tokenで別に発行します。

Claude Consoleでログインする入口とログインコードの貼り付け先

Consoleアカウントでのログインは、Claude Codeを起動して/loginを実行し、Anthropic Consoleアカウントを選ぶところから始まります。ターミナルからConsoleを指定するコマンドにはclaude auth login --consoleもあります(違いは後述)。ブラウザが開いてConsoleのサインインページが表示されます。

ブラウザが自動で開かないときは、cキーでログインURLをコピーして、手元のブラウザに貼ります。サインイン後にブラウザがClaude Codeへ戻らず、ログインコードが表示されることもあります。WSL2、SSH接続、コンテナーで起きやすい症状です。そのコードは、ターミナルのPaste code here if promptedというプロンプトに貼ります。

Console側の準備は管理者の招待です。招待を承諾していないと、Consoleの認証情報ではログインできません。招待はConsoleのMembersページから送られます。

選択肢が出ない端末では何が起きるか

/loginで毎回この選択肢が出るわけではありません。次のいずれかに当てはまる端末では、Claude Codeは確認なしでAPIキーを作成します。

条件

確認なしでAPIキーが作られる3つの条件

  • クラウドプロバイダー経由

    CLAUDE_CODE_USE_BEDROCKなどの環境変数を設定しています。使っている経路は、Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundry、Claude Platform on AWSのいずれかです。

  • ログイン方式を設定で固定

    設定ファイルのどれかがforceLoginOrgUUIDを設定している、またはforceLoginMethodを"claudeai"か"console"にしている場合です。

  • 管理設定が読み込めない

    managed settingsファイル、MDMプロファイル、キャッシュ済みのserver-managed settingsのいずれかが端末にあるのに読み込めない場合です。しかも、ほかの管理ソースからもポリシーが届きません。

2つ目の条件は、組織のログイン制限の設定が、そのままキーレスサインインを消す形になります。

開発者をclaude.aiのサインインへ寄せたいときは、forceLoginMethodを"claudeai"にします。Console側では、forceLoginOrgUUIDに単一のConsole組織IDを入れると、Consoleのサインインページでその組織が事前選択されます。ただし、サインイン後の認証情報がどの組織のものかは、ログイン時にも起動時にも検査されません。

ログイン経路を管理者が制限する設定の全体は、forceLoginGatewayUrlの記事にあります。

サインインの手順

手順

キーレスサインインの流れ

  1. 1

    ANTHROPIC_API_KEYを外す

    ANTHROPIC_API_KEYを設定したままだと、サインイン後もそちらが優先されます。サインイン前にunset ANTHROPIC_API_KEYを実行し、シェルの起動ファイルに設定がある場合はそこからも外します。

  2. 2

    /loginでConsoleアカウントを選ぶ

    Anthropic Consoleアカウントを選びます。選ぶと、保存方法を選ぶ画面が出ます。

  3. 3

    Sign in with your Console accountを選ぶ

    (recommended)のほうを選びます。

  4. 4

    /statusで使われている資格情報を見る

    通常のLogin method行の代わりにProfile行が出れば、プロファイルが使われています。

サインイン後に保存されるのはプロファイル

サインインが完了すると、APIキーの代わりにプロファイルが保存されます。押さえておきたい挙動は3つです。

  • 書き込み先: ANTHROPIC_PROFILEで名前を指定していればそのプロファイル、無ければアクティブなプロファイル、それも無ければdefaultに書かれます。対象がWorkload Identity Federation(WIF)用のfederationプロファイルなら、上書きせずにサインインを中止します
  • サインアウトされるもの: この端末に保存されているclaude.aiログインからはサインアウトされます
  • 元に戻す方法: /logoutを実行すると、このサインインが書いた資格情報が削除・無効化されます

保存先は「Anthropicの設定ディレクトリ」です。既定はmacOS・Linuxが~/.config/anthropic、Windowsが%APPDATA%\Anthropicで、ファイルは配下のconfigs/に入ります。

組織がserver-managed settingsを使っている場合、それらがこのサインインに適用されるのはv2.1.257以降です。v2.1.257のchangelogには、キーレスサインインでserver-managed settingsが適用されない問題と、/statusにOrganizationが出ない問題の修正が載っています。

2つのアカウントを使い分けているとき

複数のアカウントを使い分けるには、CLAUDE_CONFIG_DIRで設定ディレクトリを分けるのが基本です。

alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'

このエイリアスで分けられるのは、設定、セッション履歴、claude.aiログイン、APIキーです。キーレスサインインは、この設定ディレクトリの外に保存されます。そのため、ディレクトリを分けても2つのConsoleキーレスサインインは分離できません。

APIキーの発行が許可されているアカウントなら、片方を(legacy)のAPIキー方式にする方法もあります。キーレス側を複数持つなら、書き込み先のプロファイル名をANTHROPIC_PROFILEで指定して区別します。

認証の優先順位の中での位置

Claude Codeは複数の認証情報が存在するとき、次の順で1つを選びます。

  1. CLAUDE_CODE_USE_BEDROCK・CLAUDE_CODE_USE_VERTEX・CLAUDE_CODE_USE_FOUNDRYによるクラウドプロバイダー資格情報
  2. ANTHROPIC_AUTH_TOKEN環境変数
  3. ANTHROPIC_API_KEY環境変数
  4. apiKeyHelperスクリプトの出力
  5. CLAUDE_CODE_OAUTH_TOKEN環境変数(claude setup-tokenで発行した長期トークン)
  6. Anthropicプロファイルとfederation資格情報
  7. /loginによるサブスクリプションのOAuth資格情報(Claude Pro・Max・Team・Enterpriseの既定)

キーレスサインインのプロファイルは6番目にあたります。ただしプロファイルの選ばれ方は、どこから拾われたかで変わります。

プロファイルの出どころ/loginの資格情報との順位
ANTHROPIC_PROFILEで名前を指定/loginの資格情報との順位常に上
federation用の変数(2つ両方を設定)/loginの資格情報との順位上
アクティブなプロファイル(active_configかdefault)/loginの資格情報との順位認証モードがoidc_federationなら上、user_oauthなら動作中の/login資格情報より下

キーレスサインインが書くプロファイルの認証モードはuser_oauthです。名前を指定していなければ、claude.aiアカウントで改めて/loginしたときにそちらが優先されます。ant auth loginが書いたプロファイルも、名前を指定しない限り/loginより下に回ります。

bare mode・Claude Desktop・クラウドセッションでは、プロファイルもfederation変数も読み込まれません。これらの実行環境では/statusにProfile行が出ません。

プロファイルが選ばれている間は使えない機能がある

プロファイルが有効な資格情報として選ばれている間は、claude.aiログインを前提にした機能が使えません。具体的にはclaude.aiのconnectorsと/scheduleです。使いたいときは、Claude Codeにプロファイルを選ばせない状態にします。

  • このサインインが書いたプロファイル: /logoutを実行する
  • ant auth loginが書いたプロファイル: ant auth logoutを実行する
  • 名前指定やfederation変数: ANTHROPIC_PROFILEをunsetする。federation変数は、2つのうちどちらかをunsetする
  • アクティブなプロファイル: どの認証モードでも、設定ディレクトリのconfigs/からそのプロファイルのファイルを削除する。名前を指定したプロファイルでは、ファイルが無いとエラーになります

失効したときのエラーと更新の仕方

OAuthのログインはClaude Codeが自動で更新します。更新に失敗し、プロファイルに使える更新用の資格情報も無いときは、リクエストをローカルで止めます。再試行しても同じ失効済みの資格情報を読むだけだからです。画面には次のどちらかが出ます。

Anthropic profile login expired · Re-authenticate your Anthropic profile
Anthropic profile login expired · Run /login to use your claude.ai account instead, or re-authenticate the profile

どちらの文言になるかは、プロファイルの拾われ方で決まります。ANTHROPIC_PROFILEで明示したときは前者です。設定ディレクトリから自動で見つけたプロファイルのときは後者になり、動作する/loginがそのプロファイルより優先されるため、claude.aiかConsoleのアカウントで認証し直す案内になります。v2.1.234より前は、後者の場合も前者の文言でした。

キーレスサインインが使える端末なら、/loginでAnthropic Consoleアカウントを選んで入り直すと、キーレスサインインかant auth loginが書いたプロファイルの資格情報が置き換わります。federationプロファイルや、ほかのツールが作ったプロファイルは/loginでは更新されません。作ったツールで入り直すか、管理者が資格情報を発行したものなら管理者に新しいものを依頼します。

claude auth loginのフラグとの関係

ターミナルからサインインするコマンドとしてclaude auth loginもあります。v2.1.289のヘルプは次のとおりです。

Usage: claude auth login [options]
 
Sign in to your Anthropic account
 
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
  -h, --help       Display help for command
  --sso            Force SSO login flow

--consoleは「API利用課金のConsoleを使う」という指定で、ヘルプにはプロファイルやキーの有無に関する記述がありません。(recommended)と(legacy)の選択は、公式ドキュメントでは/loginのプロンプトでの動作として書かれています。claude auth statusには--json(既定)と--textがあり、現在の認証状態を機械可読な形か読みやすい形で出せます。

似た症状との切り分け

似た文脈のエラーとして「Claude Codeで組織がAPIキー認証を無効化したときの対処」があります。あちらは発行済みのAPIキーをサーバー側が拒否する状態で、対処はclaude.aiアカウントへの切り替えです。この記事が扱うのは、組織がAPIキーの発行を許可していないケースで、Consoleアカウントのまま、キーを作らずにサインインできる点が異なります。

認証方式全体の使い分けはClaude Codeログイン方法3種の使い分けに、Console組織そのものの操作感はClaude ConsoleのPlayground使い方にあります。

まとめ

APIキーを作れない組織のメンバーは、/loginでConsoleアカウントを選び、(recommended)の「Sign in with your Console account」を選べば入れます。読者の判断に効く違いは、プロファイルが選ばれている間はclaude.aiのconnectorsと/scheduleが使えなくなる点です。使いたいときは/logoutでプロファイルを外します。

参照した一次ソース

この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。

  1. code.claude.com/docs/en/authentication
  2. code.claude.com/docs/en/errors
  3. code.claude.com/docs/en/changelog
この記事を共有:XはてブLinkedIn