OpenClaw は、対応しているプロバイダー向けに OAuth による「サブスクリプション認証」をサポートしています (特に OpenAI Codex (ChatGPT OAuth))。Anthropic については、実用上の区分は現在次のとおりです。Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Anthropic API キー: 通常の Anthropic API 課金
- OpenClaw 内の Anthropic Claude CLI / サブスクリプション認証: Anthropic スタッフから、この使用は再び許可されていると伝えられています
- OAuth トークン交換の仕組み(PKCE)
- トークンが保存される場所(およびその理由)
- 複数アカウントの扱い方(プロファイル + セッションごとの上書き)
トークンシンク(存在する理由)
OAuth プロバイダーは、ログイン/更新フロー中に新しいリフレッシュトークンを発行することがよくあります。一部のプロバイダー(または OAuth クライアント)は、同じユーザー/アプリに対して新しいリフレッシュトークンが発行されると、古いリフレッシュトークンを無効化する場合があります。 実際に起きる症状:- OpenClaw と Claude Code / Codex CLI の両方でログインする → 後でどちらか一方がランダムに「ログアウト」される
auth-profiles.json をトークンシンクとして扱います。
- ランタイムは認証情報を1 か所から読み取る
- 複数のプロファイルを保持し、決定的にルーティングできる
- 外部 CLI の再利用はプロバイダー固有: Codex CLI は空の
openai-codex:defaultプロファイルをブートストラップできますが、OpenClaw にローカル OAuth プロファイルができた後は、 ローカルのリフレッシュトークンが正規になります。他の連携は 外部管理のままにして、CLI 認証ストアを再読み取りできます - 構成済みのプロバイダーセットをすでに把握しているステータスおよび起動パスは、 外部 CLI の検出をそのセットにスコープするため、単一プロバイダー構成で 無関係な CLI ログインストアが探索されません
ストレージ(トークンの保存場所)
シークレットはエージェント認証ストアに保存されます。- 認証プロファイル(OAuth + API キー + 任意の値レベル参照):
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - レガシー互換ファイル:
~/.openclaw/agents/<agentId>/agent/auth.json(静的なapi_keyエントリは検出時に消去されます)
~/.openclaw/credentials/oauth.json(初回使用時にauth-profiles.jsonへインポートされます)
$OPENCLAW_STATE_DIR(状態ディレクトリの上書き)も尊重します。完全なリファレンス: /gateway/configuration
静的シークレット参照とランタイムスナップショットの有効化動作については、シークレット管理を参照してください。
セカンダリエージェントにローカル認証プロファイルがない場合、OpenClaw はデフォルト/メインエージェントストアから読み取りスルー継承を使用します。読み取り時にメインエージェントの auth-profiles.json を複製することはありません。OAuth リフレッシュトークンは特に機密性が高く、通常のコピーフローではデフォルトでスキップされます。これは、一部のプロバイダーが使用後にリフレッシュトークンをローテーションまたは無効化するためです。エージェントが独立したアカウントを必要とする場合は、そのエージェント用に個別の OAuth ログインを構成してください。
Anthropic レガシートークン互換性
OpenClaw は Anthropic setup-token もサポート対象のトークン認証パスとして公開していますが、現在は利用可能な場合に Claude CLI 再利用とclaude -p を優先します。
Anthropic Claude CLI 移行
OpenClaw は Anthropic Claude CLI の再利用を再びサポートしています。ホスト上にローカルの Claude ログインがすでにある場合、オンボーディング/構成でそれを直接再利用できます。OAuth 交換(ログインの仕組み)
OpenClaw の対話型ログインフローは@earendil-works/pi-ai に実装され、ウィザード/コマンドに接続されています。
Anthropic setup-token
フローの形:- OpenClaw から Anthropic setup-token を開始するか、paste-token を使用する
- OpenClaw は結果の Anthropic 認証情報を認証プロファイルに保存する
- モデル選択は
anthropic/...のまま維持される - 既存の Anthropic 認証プロファイルは、ロールバック/順序制御のために引き続き利用できる
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth は、OpenClaw ワークフローを含め、Codex CLI の外部での使用が明示的にサポートされています。 フローの形(PKCE):- PKCE verifier/challenge + ランダムな
stateを生成する https://auth.openai.com/oauth/authorize?...を開くhttp://127.0.0.1:1455/auth/callbackでコールバックの捕捉を試みる- コールバックをバインドできない場合(またはリモート/ヘッドレスの場合)、リダイレクト URL/コードを貼り付ける
https://auth.openai.com/oauth/tokenで交換する- アクセストークンから
accountIdを抽出し、{ access, refresh, expires, accountId }を保存する
openclaw onboard → 認証選択 openai-codex です。
更新 + 有効期限
プロファイルはexpires タイムスタンプを保存します。
ランタイムでは:
expiresが未来の場合 → 保存済みのアクセストークンを使用する- 期限切れの場合 → (ファイルロック下で)更新し、保存済み認証情報を上書きする
- セカンダリエージェントが継承されたメインエージェントの OAuth プロファイルを読み取る場合、更新はリフレッシュトークンをセカンダリエージェントストアへコピーするのではなく、 メインエージェントストアへ書き戻す
- 例外: 一部の外部 CLI 認証情報は外部管理のままです。OpenClaw はコピーされたリフレッシュトークンを消費する代わりに、
それらの CLI 認証ストアを再読み取りします。
Codex CLI ブートストラップは意図的により狭く、空の
openai-codex:defaultプロファイルをシードし、その後 OpenClaw 所有の更新によってローカルプロファイルを正規の状態に保ちます。
複数アカウント(プロファイル)+ ルーティング
2 つのパターンがあります。1) 推奨: 個別のエージェント
「個人用」と「業務用」を絶対に相互作用させたくない場合は、分離されたエージェント(個別のセッション + 認証情報 + ワークスペース)を使用します。2) 高度: 1 つのエージェント内の複数プロファイル
auth-profiles.json は、同じプロバイダーに対して複数のプロファイル ID をサポートします。
使用するプロファイルの選択方法:
- 構成の順序(
auth.order)によるグローバル指定 /model ...@<profileId>によるセッションごとの指定
/model Opus@anthropic:work
openclaw channels list --json(auth[]を表示)
- モデルフェイルオーバー(ローテーション + クールダウンルール)
- スラッシュコマンド(コマンドサーフェス)