Claude API 0.9.18 で追加
Claude API プロバイダーは、Claude のチャットを、Claude のサブスクリプションではなく Claude Console の API キーで実行します。エージェントは同じです。リレーのマシン上の Claude Code で、ツール、モード、質問カード、サブエージェント、軌道修正、バックグラウンドタスクも同じです。変わるのは請求先だけです。ターンは、キーが属する Console の組織に課金されます。
Claude API はサブスクリプションに取って代わるものではなく、サブスクリプションと並んで使うものです。キーでチャットを始めることも、サブスクリプションでチャットを始めることもでき、Claude のチャットをターンの合間に一方から他方へ、セッションを保ったまま移すこともできます。任意の月間上限を設定すると、このリレーの推定額が上限に達した時点で、キーでの支出が止まります。すべてのプロバイダーの一覧表はプロバイダーの概要にあります。
API キー #
Claude Console の API キーが必要です。platform.claude.com の API keys(API キー)で発行します。キーはワークスペースの中に作成してください。制限を参照してください。Settings → Providers → Claude API(設定 → プロバイダー → Claude API)を開きます。Claude の次にあるサブタブです。
| コントロール | 既定値 | 内容 |
|---|---|---|
| Enable Claude API for New Chat and the billing switch(新しいチャットと課金の切り替えで Claude API を有効にする) | キーを保存するとオン | New Chat(新しいチャット)で Claude API を選べるようにし、Claude のチャットに課金の切り替えを表示します。キーを保存する前はチェックできません。切り替えるとすぐに適用されます。 |
キーの入力欄(Claude Console API key…) |
空 | 自分のキーです。キーを保存すると、入力欄には Saved API key (enter to replace)(保存済みの API キー、入力すると置き換え)と表示されます。保存済みのキーをそのまま使うときは、空のままにします。 |
| Default model(既定のモデル) | キーで使える場合は Claude タブの既定のモデル、なければ最初の Sonnet | 新しい Claude API チャットが最初に使うモデルです。モデルを参照してください。 |
| Monthly cap in US dollars (optional)(米ドルでの月間上限、任意) | 空:No cap(上限なし) |
今月の推定額が上限に達すると、キーでの新しいターンを止めます。月間上限を参照してください。 |
| Save Claude API settings(Claude API の設定を保存) | 上の各欄を保存します。キーを初めて保存すると、Claude API もオンになります。 | |
| Refresh models(モデルを再読み込み) | キーで使えるモデルを Anthropic にもう一度問い合わせます。 | |
| Remove saved key(保存したキーを削除) | Remove the saved Claude API key? と確認した後、キー、キーのモデル一覧、Select Models(モデルを選択)での選択を削除し、Claude API をオフにします。 |
|
| Claude tab(Claude タブ) | Claude サブタブを開きます。両方で共有する設定はそこにあります。Claude と共有するものを参照してください。 |
入力欄の下の行に、現在の状態が表示されます。
| 状態 | 意味 |
|---|---|
No API key saved. Claude chats run on the relay host's Claude login. |
キーが保存されていません。 |
API key saved, Claude API is off. Switch it on to offer it in New Chat. |
キーは保存されていますが、スイッチがオフです。 |
API key saved. Claude API is on: pick it in New Chat, or switch a Claude chat to the API key. |
準備ができています。 |
API key saved, but Anthropic refused it: … |
キーを保存したとき、またはモデルを再読み込みしたときに、Anthropic がキーを受け付けませんでした。キーは保存されたままです。保存か Refresh models が成功するまで、この行が表示されます。 |
あとはいつもどおり会話を始めます。New Chat で Claude API を選びます。会話を始めるを参照してください。Claude API のチャットには金色の Claude API ラベルが付き、入力欄のロックの注記は 🔒 Session locked to Claude API models. になります。
受け付けるキー #
- Console の API キー。
sk-で始まり、空白を含まない 8 文字以上 512 文字以下のキーです。ant- - Claude のサインイン用トークンやセッショントークン、Admin キーは保存時に拒否され、貼り付けたものが何かを示すメッセージが表示されます。例:
This is an Anthropic Admin API key (it manages an organisation and cannot run models), not an API key.他のベンダーのキーにはThis does not look like a Claude API key.と表示されます。どのメッセージにもキーそのものは含まれません。 - Anthropic がキーを受け付けるかどうかは、リレーがモデルを問い合わせたときにわかります(モデルを参照)。拒否されたキーも保存されたままで、状態の行に理由が表示されます。
キーの保存、変更、削除 #
- 別のキーを保存すると、キーのモデル一覧がクリアされ、実行中の Claude API ワーカーが停止します。ターンの途中のワーカーも止まるので、キーはターンの合間に変更してください。次のメッセージで、新しいキーを使ってワーカーが起動します。
- いずれかの Claude API チャットがメッセージを送信済みか、メッセージをキューに入れている間は、キーの削除は拒否されます:
Cannot remove the Claude API key while N Claude API conversation(s) still exist. Switch Claude API off for new conversations instead.キーでまだワーカーが動いている間も拒否されます。 - キーを削除するか Claude API をオフにすると、まだメッセージを送っていない Claude API チャットは Copilot に戻ります。キーで開始済みのチャットは課金の切り替えを保つので、サブスクリプションに移せます。Claude API がオフの間、そのチャットのキーでのターンは実行されません。
サブスクリプションとキーの間でチャットを切り替える #
Claude のチャットには、どちらの課金でも、ロックの注記の下に切り替えがあります:Subscription | API key(サブスクリプション | API キー)。これは、キーが保存されていて Claude API がオンの間に表示されます。キーで動いているチャットは、Claude API をオフにした後もキーのままなので、元に戻せます。
- 次のターンから。 実行中のターンは、開始したときの課金のまま終わります。すでにキューに入っているメッセージは、新しい課金で実行されます。
- セッションは保たれます。 リレーはターンの合間にチャットの Claude Code を再起動し、同じセッションを再開します。実行中のターン、未回答の質問、コンパクト化、バックグラウンドタスクの終了を待ち、切り替えにはどれを待っているかが表示されます。例:
Moves to the API key after the running turn. - キーでの最初のターンは割高です。 プロンプトキャッシュがないためです。切り替えにもそう表示されます:
The first turn on the API key has no prompt cache and costs more. - 切り替えのたびにトランスクリプトに記録されます。 例:
💳 Billing: this chat runs on the Claude API key from the next turn.該当する場合は(switched by an agent)や(switched at the usage limit)が付きます。 - 一方を選べないときは、そのボタンがグレー表示になり、ツールチップに理由が表示されます。切り替えが拒否されるのは、Claude API にキーがないかオフのとき、今月の上限に達したとき(切り替えには
This month's Claude API cap is reached: the chat stays on the subscription.と表示されます)、サブスクリプションに戻そうとして Claude がオフのとき(CLAUDE_)、またはチャットのモデルが相手側のモデル一覧にないときです。NOT_ CONFIGURED - 表示が古いページ。 古い課金を表示したままのページから送ったメッセージは、新しい課金では送信されません。そのテキストは下書きに戻ります。
チャットを切り替えるものは、ほかにはありません。切り替えの方法は、切り替えのボタン、使用量の上限のバナー、エージェントの send の 3 つです。
- 使用量の上限で。 サブスクリプションのチャットが Claude の使用量の上限で一時停止したとき、チャットを移せる場合は、バナーに Switch this chat to API key(このチャットを API キーに切り替え)が表示されます。押すと、一時停止したターンはすぐにキーで続行します。上限に達しているときは、バナーに
No switch to the API key: this month's Claude API cap is reached.と表示されます。 - エージェントから。
relay_のtool sendは、Claude のセッションに対してprovider(claudeまたはclaude-)を受け取り、メッセージと一緒にセッションを切り替えます。このとき承認カードにはapi Switches billing to API keyと表示されます。
課金についてフォルダーごとの設定はありません。各チャットが自分の課金を持ち、New Chat で選び、切り替えで変更します。フォルダーが設定するもの、つまりコミットの帰属表示は、どちらの課金にも適用されます。
月間上限 #
Monthly cap in US dollars (optional) は、このリレーが暦月の間にキーで使う額を、リレー自身の推定に基づいて制限します。0 より大きく 1,000,000 以下の額を、小数点以下 2 桁まで指定できます。上限なしにするには空のままにします。
今月の推定額が上限に達すると、次のようになります。
- キーでの新しいターンは実行されません。 チャットには
Error code: relay.で終わるメモと、Claude API settings(Claude API の設定)ボタン(上限の欄を表示してタブを開きます)、Switch to subscription(サブスクリプションに切り替え)ボタンが表示されます。claude- api- cap- reached. - キーへの切り替えは拒否されます。 切り替えのボタンからも、使用量の上限のバナーからも、エージェントからも同じです。
- New Chat は Claude API チャットを拒否します。 ダイアログは開いたままで、理由、Claude API settings、Start on subscription(サブスクリプションで開始)が表示されます。Start on subscription は同じチャットを Claude で開始します(Claude がオンの間に表示されます)。スマートフォンでは、ダイアログがそこまでスクロールします。
- エージェントも拒否されます。 キーで動くセッションへのエージェントの
sendと、Claude API チャットを作るcreate_は拒否されます。リレーは 409session CLAUDE_を返し、何もキューに入らず、何も作成されません。API_ CAP_ REACHED - Claude Code が自分で開始するターン(キーでバックグラウンドタスクが報告してきたとき)にはメモが表示され、チャットのバックグラウンドタスクは停止します。報告のたびに同じようなターンが始まってしまうためです。そのターンの最初のリクエストは、すでに課金されている場合があります。このメモは、上限が解除されるか、Claude API の設定が保存されるか、そのチャットのターンが再びキーで実行されるまで、チャットごとに 1 回だけ表示されます。
すでに実行中のターンは最後まで実行されます。ターンの費用は終了時に計上されるので、実行中だったターンによって月の支出が上限を超えることがあります。上限が数えるのは、推定のうち料金がわかっている部分だけです(制限を参照)。上限を設定していて支出を読み取れない間は、上限に達したものとして扱われます。月はリレーの月です。リレーのタイムゾーンで 1 日の午前 0 時にリセットされます。Console で設定した支出の上限も、これとは別に適用されます。
Claude API にキーがないとき(relay.)やオフのときも、同じメモとボタンが表示され、ターンは実行されません。このときも New Chat は CLAUDE_ で Claude API チャットを拒否します。
使用状況カード #
📊 Check Usage(使用状況の確認)には、キーが保存されている間、Claude API がオフでも Claude API タブがあるので、その月の支出を確認し続けられます。このリレーのキーでのターンに、どれだけ費用がかかったかの推定を表示します。
| 部分 | 内容 |
|---|---|
| Monthly cap(月間上限)のバー | 上限を設定したときだけ表示されます。今月の推定額を上限と比べて estimated(推定)として示し、いつリセットされるかも表示します。 |
| Estimated today(今日の推定)、Estimated this month(今月の推定) | その日と、その月のこれまでの支出です。 |
| Estimated spend by model, this month(モデル別の推定支出、今月) | モデルごとの行で、今日かかった費用も表示します。 |
| Tokens by model, this month(モデル別のトークン、今月) | モデルごとのキャッシュ読み取り、その他の入力(プロンプトキャッシュへの書き込みを含む)、出力と、入力のうちどれだけがキャッシュから来たかです。 |
| 推定についての注記 | 数値の出どころです。 |
バーは、ほかのすべてのバーと同じく、上限の 50% と 75% で色が変わり、90% で赤になります。カードの読み方を参照してください。カードには Console billing(Console の課金)と Console limits(Console の上限)へのリンクがあります。
数値の出どころ。 このリレーで保存済みのキーを使ったターンについて、Claude Code 自身が料金表から出した推定です。そのため、サブエージェント、コンパクト化、Web 検索も含まれます。OAR は独自の料金表を持ちません。日と月は、リレーの時計とタイムゾーンに従います。Max プランや Team プランに付く API クレジットから支払われたターンも数えられます。OAR からはそのクレジットも Console の残高も見えません。実際の数値と残高は、Console の課金ページにあります。
料金のないトークン。 Claude Code が料金を持たないモデルでは、金額の代わりに no price known と表示され、$0 と表示されることはありません。そうしたトークンを除いた合計には (estimate incomplete) と表示されます。
エージェントは、relay_ の usage アクションで同じカードを読めます。
モデル #
リレーは、キーを保存したとき、Claude API を再びオンにしたとき、そしてタブの Refresh models か 🤗 Select Models の Refresh(再読み込み)を押したときに、キーで使えるモデルを Anthropic に問い合わせます(GET /)。リクエストは 10 秒でタイムアウトします。
- 最初の応答があるまで、タブは Claude タブのモデルを表示し、
Not listed by Anthropic yet: these are the Claude tab's models until the key's list is read.という注記が付きます。 - リクエストが失敗したときは、リレーが持っていた一覧がそのまま残ります。Refresh models には
Claude API model discovery failed. The stored models were kept: …と表示されます。 - 長いコンテキスト。 ウィンドウが 1M トークン以上のモデル、または Claude タブがその 1M 版を一覧に載せているモデルには、
[1m]版も追加されます。Claude と同じく、Context window(コンテキストウィンドウ)のドロップダウンで選べます。 - 表示するモデル。 🤗 Select Models → Claude API(モデルを選択 → Claude API)で、入力欄に表示するモデルを選びます。Default model は常に表示されます。
- メッセージごと。 Claude と同じく、チャットはターンの合間にモデルを変更できます。
Reasoning effort #
effort の選択欄は、Claude と同じように動作します。レベルは Anthropic のモデル一覧から取得します。none とモデルが報告するレベルで、xhigh を持つモデルには Ultracode も加わります。effort に対応していないと報告するモデルでは、none だけが選べます。キーの一覧を読み取る前は、各モデルに Claude タブでのレベルが使われます。🧠 ダイアログには、Claude と同じ Thinking(思考)のコントロールがあります。
Claude と共有するもの #
コミットの帰属表示、バックグラウンドコマンドの上限、effort のレベル、コンパクト化のウィンドウは Claude タブのものを使います。そのため、切り替えで変わるのは支払う人だけです。
- コミットの帰属表示。🧠 ダイアログでのフォルダーごとの選択も含みます。
- バックグラウンドコマンドの上限。
- 自動コンパクト化ウィンドウ。
Claude の設定フォルダーは 1 つです。 Claude API のチャットは、サブスクリプションのチャットと同じ Claude Code のフォルダー(~/.、または CLAUDE_)を使います。スキル、プラグイン、MCP サーバー、トランスクリプトも同じです。だからこそ、チャットは切り替えてもセッションを保てます。このフォルダーやチャットのフォルダーの . にある設定で、キーの送り先を変えることはできません。リレーは Anthropic のアドレスとキーを、それらの設定より優先して固定します。
キーでは使われないもの。 Claude のプランのメーターと使用量の上限での一時停止は適用されません。Anthropic が拒否したターンは、メモを付けて失敗します。Claude API のチャットは、すべてのフックとステータスラインをオフにして実行されます。セキュリティを参照してください。
それ以外は Claude のページを参照してください。 ほかのページで Claude のチャットの動作として説明していること(サブエージェント、バックグラウンドタスク、コンパクト化、プランボード、質問カード、ターン中の送信ボタンなど)は、Claude API のチャットでも同じです。
制限 #
- ワークスペース外のキーには HTTP 400 が返ります。 Anthropic は、ワークスペースに結び付いていないキーに HTTP 400 を返し、タブには
API key saved, but Anthropic refused it: …と表示されます。Claude Console でワークスペースの中にキーを作成し、そのキーを保存してください。OAR でワークスペースを指定できるようにする予定です。 - 料金のないモデル。 Claude Code が料金を持たないモデル(現在は Claude Haiku 5.5)は、カードに
no price knownと表示されます。そのトークンは推定にも上限にも含まれません。 - 推定はこのリレーのものです。 キーのほかの用途は含まれません。すべてのリクエストは Console にあります。
- 残高は表示されません。 OAR は Console の残高も、プランの API クレジットも読み取りません。
- ベース URL はありません。 キーは
https://にだけ送られます。別のエンドポイントを指定する設定はありません。api. anthropic. com - エージェントはキーを読み取れます。 セキュリティを参照してください。
エラーコード #
失敗した Claude API の返信は Error code: relay.<code>. で終わり、コードによっては、すぐに対処できるボタンが付きます。
| コード | 発生する状況 | ボタン |
|---|---|---|
relay. |
今月の推定額が上限に達しました。ターンは実行されませんでした。 | Claude API settings(上限の欄を表示)、Switch to subscription |
relay. |
Claude API にキーがないか、オフになっているか、リレーが確認できませんでした。ターンは実行されませんでした。 | Claude API settings、Switch to subscription |
relay. |
Anthropic がキーを受け付けませんでした(HTTP 401 または 403)。 | Claude API settings |
relay. |
Claude Code が保存済みのキー以外の認証情報で起動したため、ターンを停止しました。セキュリティを参照してください。 | Claude API settings |
relay. |
アカウントのクレジット残高が不足しています。 | Add funds(入金)、Claude API settings |
relay. |
Anthropic が課金上の理由でリクエストを拒否しました(HTTP 402)。 | Console billing |
relay. |
アカウントが Console で設定した支出の上限に達しました。 | Console limits |
relay. |
Anthropic がキーにレート制限をかけているか、過負荷です(HTTP 429 または 529)。 | Console limits |
Claude API settings は Settings → Providers → Claude API を開きます。Add funds と Console billing は Console の課金ページを、Console limits は上限のページを開きます。Switch to subscription は、次のターンからチャットをサブスクリプションに移します。メッセージをもう一度送信してください。
リレー自身による拒否にもコードがあります。
| コード | 発生する場所 | 意味 |
|---|---|---|
CLAUDE_ |
New Chat、課金の切り替え、エージェントの send または create_ |
上限に達しています。 |
CLAUDE_ |
New Chat、課金の切り替え | Claude API にキーがないか、オフになっています。 |
CLAUDE_ |
New Chat、課金の切り替え | Claude プロバイダー(サブスクリプション)がオフです。Claude のチャットを開始できず、キーで動くチャットをサブスクリプションに戻せません。Settings → Providers → Claude(設定 → プロバイダー → Claude)で Claude をオンにしてください。 |
CLAUDE_ |
課金の切り替え | チャットのモデルが相手側の一覧にありません。相手側にあるモデルを選んでから切り替えてください。 |
CLAUDE_、CLAUDE_ |
メッセージの送信 | メッセージがもう一方の課金を指定しているか、古い課金を表示したままのページから送られました。何も送信されず、テキストは下書きに戻ります。 |
トラブルシューティング #
| 問題 | 対処法 |
|---|---|
| New Chat に Claude API がない、または切り替えで API key を選べない | Settings → Providers → Claude API でキーを保存し、Enable Claude API for New Chat and the billing switch にチェックが入っていること、その月の支出が上限に達していないことを確認してください。切り替えのツールチップに理由が表示されます。 |
400 を伴う API key saved, but Anthropic refused it: …、またはすべてのターンが HTTP 400 で失敗する |
キーがワークスペースに結び付いていません。Claude Console でワークスペースの中にキーを作成し、保存してください。 |
relay. |
キーが間違っているか、取り消されています。ターンの合間に有効なキーを貼り付けて保存してください。 |
relay.、relay.、relay. |
Add funds、Console billing、Console limits のいずれかを押し、Claude Console で問題を解決してから、メッセージをもう一度送信してください。 |
relay. |
Switch to subscription を押すか、Claude API settings で上限を引き上げてください。上限は毎月 1 日にリセットされます。 |
| New Chat で上限に達したと表示される | Start on subscription を押すか、上限を引き上げてください。 |
カードにモデルの no price known が表示される |
Claude Code にそのモデルの料金がまだありません(現在は Claude Haiku 5.5)。トークンは一覧に載りますが、推定にも上限にも含まれません。 |
| カードの支出が Console より少ない | カードが数えるのは、このリレーのキーでのターンだけです。 |
relay. |
リレーのマシンにある Claude Code の設定(settings.)から api やその他の認証情報を削除し、タブでキーを確認してから、メッセージをもう一度送信してください。 |
Cannot remove the Claude API key while … |
それらのチャットをアーカイブまたは削除するか、サブスクリプションに移すか、代わりに Claude API をオフにしてください。 |
セキュリティ #
キーの保管場所。 キーはリレーのマシン上にあるリレーのデータベースに保存され、ブラウザーには送られません。タブには、キーが保存されていることだけが表示されます。リレー自身がキーを使うのはモデル一覧の取得という 1 種類のリクエストだけで、送り先は https:// だけです。キーが届くのは Claude API チャットのワーカーだけです。セッションが tmux で動く場合は、リレーのユーザーだけが読めるファイルを通して渡されます。ワーカーの中では、キーは環境変数と標準入力で渡す設定を通して Claude Code に届きます。マシンのほかのユーザーが読めるコマンドラインには載りません。リレー自身の環境にあるキー(ANTHROPIC_、ANTHROPIC_)は、どのチャットにも届きません。
エージェントから見えるもの。 CLI が持つほかのキーと同じく、エージェント自身のコマンドは環境変数からキーを読み取れます。リレーは、キーが保存された時点から、ワーカーが送るすべての内容とワーカーのログで、キーを [redacted] に置き換えます。これは DeepSeek と同じです。これにより、OAR が保存し表示する内容にはキーが含まれません。ただし、エージェントに対する防御にはなりません。
認証情報は確認されますが、モデルへのリクエストが 1 回先に出ることがあります。 Claude API のチャットは、Claude のサインイン情報がある Claude Code のフォルダーを共有します。リレーは、そのフォルダーやチャットのフォルダーの設定にあるどの認証情報よりも、保存済みのキーを優先して固定します。そして Claude Code の起動レポートがキーの出どころとして別のものを示すと、リレーはすぐにターンを停止します(relay.)。Claude Code はこの確認を待ちません。レポートの約 50~90 ms 後に最初のモデルへのリクエストを送るため、停止が効く前に、別の認証情報(たとえば Claude のサインイン)でモデルへのリクエストが 1 回出てしまうことがあります。この確認は、誤った認証情報をその 1 回のリクエストまでに抑えるものであり、防ぐものではありません。サブスクリプションのチャットでも、逆向きに同じ確認が行われます。Claude を参照してください。
フックはありません。 Claude API チャットの Claude Code は、すべてのフックをオフにして起動します。自分のフック(~/.)も、チャットのフォルダーのフック(.、settings.)も、プラグインのフックも実行されず、ステータスラインのコマンドも実行されません。これらはキーを環境変数に持ったまま、リレーのユーザーとして実行されてしまうためです。この設定は Claude Code のコマンドラインにあるので、設定ファイルで再びオンにすることはできません。マシンの管理者による管理設定(managed settings)のフックは、引き続き実行されます。サブスクリプションのチャットでは、フックとステータスラインはそのまま使えます。
Anthropic に送られるもの。 サブスクリプションのチャットと同じく、ターンの間にエージェントが読み書きするすべての内容です。
詳しくはセキュリティを参照してください。