すべてのページ
このページの内容

Claude 0.9.0 で追加

Claude プロバイダーは、Anthropic の Claude Code エージェントを Claude Agent SDK を通じてリレーのマシンで動かします。OAR は会話ごとに 1 つのワーカープロセスを起動します。入力する API キーはありません。Claude はリレーのマシンの Claude のサインインを使い、そのサインインはブラウザーから変更できます。

Claude Cloud は、Claude Code を自分のマシンではなく Anthropic のサンドボックスで動かします。専用の設定を持つ別のプロバイダーです。0.9.18 で追加 Claude API は、同じ Claude のチャットをサブスクリプションではなく Claude Console の API キーで動かします。Claude のチャットはこの 2 つを切り替えられます。

必要なもの #

  • リレーが動くマシンでの Claude のサインイン。リレーは Claude のキーを保存しません。サインインは Claude CLI が保持し、OAR はそれを操作するだけです。サインインはブラウザーから(Claude のアカウントを参照)、またはそのマシンで claude を一度実行して行えます。
  • そのマシン上の Claude Code CLI(claude)。ブラウザーからのサインインとアカウントの行に必要です。Claude のターンには必要ありません。ターンは Agent SDK に同梱された Claude Code のビルドで動きます。OAR は CLI をインストールでき、それ以降の新しいセッションはそのコピーを使います。

Claude Code CLI の行 #

Settings → Providers → Claude(設定 → プロバイダー → Claude)の一番上にある Claude Code CLI の行には、CLI がインストールされているか、そのバージョン、場所、最新かどうかが表示されます。ボタンは状態によって変わります。

ボタン 表示される条件 動作
Install(インストール) CLI が見つからない 実行するコマンドと書き込み先のフォルダーを示して確認を求め、Anthropic 自身のインストーラーをリレーのユーザーとして実行します。Linux と macOS では curl -fsSL https://claude.ai/install.sh | bash、Windows では irm https://claude.ai/install.ps1 | iex です。
Update(更新) CLI が見つかった claude update を実行します。
Switch to native installer(ネイティブインストーラーに切り替え) CLI が npm で、リレーのユーザーが書き込めないフォルダーにインストールされている claude install を実行します。npm のコピーはそのまま残り、PATH ではネイティブのビルドが優先されます。
Cancel(キャンセル) / Dismiss(閉じる) インストールの実行中 / 終了後 実行を止めます / 結果を消します。

インストールの出力は Install log(インストールログ)としてパネルに流れます。設定を閉じても残り、別のデバイスから見ることもできます。リレーで同時に実行できるインストールは 1 つだけです。入力した内容がシェルに届くことはありません。コマンドはリレーに固定されています。

OAR は claude をリレーの PATH で探し、次に ~/.local/bin と /usr/local/bin を探します。インストールや更新の後は新しいバイナリをすぐに使い、再起動後も覚えているので、リレーを再起動する必要はありません。すでに実行中のセッションは、起動時のバイナリを使い続けます。

有効にする #

Claude は既定ではオフです。Settings → Providers → Claude を開きます。Claude SDK の下に次の項目があります。

項目 既定 動作
Enable Claude for New Chat model selection(新しいチャットのモデル選択で Claude を有効にする) Off New Chat(新しいチャット)で Claude を選べるようにし、モデルの検出を実行します。Save Claude settings(Claude の設定を保存)を押さなくても、切り替えた時点で適用されます。
Claude model ID(Claude モデル ID) claude-sonnet-5 Claude の会話が最初に使うモデルです。適用するには Save Claude settings を押します。
Commit attribution(コミットの帰属表示) OAR コミットとプルリクエストに書かれる内容です。コミットの帰属表示を参照してください。これも Save Claude settings が必要です。

項目の下の 1 行に、Claude の現在の状態が表示されます。Claude をオフにすると、まだメッセージを送っていない会話は既定のプロバイダーに戻ります。すでに始まった会話は Claude のままです。

モデル #

Claude を有効にすると、Agent SDK が提供するモデルが検出され、その claude-* の ID が選択欄に追加されます。そのうちどれを入力欄に表示するかは Select Models → Claude SDK(モデルを選択 → Claude SDK)で選びます。既定のモデルは常に有効のままです。

claude-opus-5[1m] のような長いコンテキストのバリアントは、別のモデルとしては表示されません。New Chat と入力欄で、元のモデルの Context window(コンテキストウィンドウ)のドロップダウンに 1M の項目として表示されます。

新しいモデルは OAR の更新とともに届きます

検出では Agent SDK に同梱された Claude Code のビルドに問い合わせるので、claude update だけでは新しい Claude のモデルは表示されません。新しいモデルは OAR の更新とともに届きます。

Claude のアカウント #

CLI の行の下にあるアカウントの行には、サインイン中のアカウントとそのプランが表示されます。たとえば Account: dev@example.com · Max plan、または Not logged in です。

Relogin(再ログイン) #

  1. Relogin を押します。リレーがそのマシンで Claude CLI のサインインを実行します。
  2. Open the Claude login page(Claude のサインインページを開く)リンクが、Copy link(リンクをコピー)ボタンと一緒に表示されます。任意のデバイスでリンクを開き、claude.ai で承認します。
  3. Claude.ai にコードが表示されます。それを Paste the code from claude.ai(claude.ai のコードを貼り付け)の欄に貼り付け、Submit code(コードを送信)を押します(または Enter)。
  4. パネルに Logged in as … と表示されます。新しくモデルの検出が実行されるので、リレーを再起動する必要はありません。

Cancel でサインインを中止します。誰も完了しないサインインは 10 分後に終了します。1 つのリレーで同時に実行できるサインインは 1 つだけです。サインインは開いているすべてのブラウザーに送られるので、あるデバイスで始めて別のデバイスで完了できます。設定を閉じても失われません。

リレーは Claude のシークレットを保持しません。CLI は新しいサインインを、リレーのマシンの Claude 設定フォルダー(~/.claude、または CLAUDE_CONFIG_DIR のフォルダー)に書き込みます。

Logout(ログアウト) #

Logout を押すと Log out of Claude(Claude からログアウト)が開き、アカウント名と、実行中の Claude ワーカーの数が表示されます。Log out で確定します。その後の Claude の新しいターンは、再びサインインするまで失敗します。

実行中のセッション #

実行中の Claude セッションは、ワーカープロセスが終了するまで以前のアカウントを使い続けます。新しいセッションは新しいアカウントを使います。

コミットの帰属表示 #

Claude Code は通常、エージェントが作るコミットに独自の Co-Authored-By: Claude … 行を追加し、プルリクエストの本文にも 1 行を追加します。OAR では次の中から選べます。

選択肢 コミット プルリクエスト
OAR(既定) 末尾に Co-authored-by: Open Agent Relay (<model>) <no-reply@oar.sh> が付き、括弧の中にモデル名が入ります(例:Claude Fable 5.1)。 末尾に 🤖 Generated with [Open Agent Relay](https://oar.sh) が付きます。
Vanilla(標準) Claude Code 自身の行です。 Claude Code 自身の行です。
Off(オフ) 帰属表示の行はありません。 帰属表示の行はありません。

OAR と Off では、セッションへのリンクもコミットとプルリクエストの本文に入りません。

リレー全体の選択は Settings → Providers → Claude → Commit attribution(設定 → プロバイダー → Claude → コミットの帰属表示)で設定します。選択欄の下に、コミットに書かれる内容の例が 1 行表示されます。

フォルダーごと #

Claude の会話の 🧠 コンテキストボタンには、会話のフォルダーの Commit attribution が選択欄付きで表示されます。選択肢は Inherit (provider: …)(継承、プロバイダー:…)、OAR、Vanilla、Off です。ここでの選択は、そのフォルダーのすべての Claude セッションに適用されます。Inherit(継承)はリレー全体の設定に戻します。

変更は、実行中のセッションには次のメッセージで届きます。vanilla に切り替えると、ターンの合間にセッションの CLI が再起動します。Claude Cloud の会話もリレー全体の設定に従います。0.9.18 で追加 Claude API のチャットは Claude のセッションなので、ほかと同じようにフォルダーの選択に従います。0.9.17 で追加 フォルダー内の DeepSeek の会話もフォルダーの選択に従いますが、Vanilla は OAR として扱われます。DeepSeek のリレー全体の設定は DeepSeek サブタブにあります。ほかのプロバイダーには影響しません。

バックグラウンドコマンドの上限 0.9.12 で追加 #

Settings → Providers → Claude → Claude background command limit(設定 → プロバイダー → Claude → Claude のバックグラウンドコマンド上限)は、Claude がコマンドに独自のタイムアウトを指定しないとき、Claude がバックグラウンドで実行するコマンドを Claude Code が止めるまでの時間を設定します。スライダーは 30 分から 8 時間まで 30 分刻みで、既定は 2 時間です。Save Claude settings で保存します。それでも Claude は、1 つのコマンドに最大 8 時間を求めることができます。

  • Claude がフォアグラウンドで実行したコマンドは 2 分後にバックグラウンドへ移るので、実行中もターンは続きます。そのコマンドはコンソール付きでタスクパネルに表示されます。
  • sleep で始まるコマンドとサブエージェントのコマンドはフォアグラウンドのままなので、上限までターンを止めることがあります。
  • Claude には上限が伝えられ、長いコマンドの出力全体は tail や head にパイプせずログファイルに書くこと、セッションの再起動後も続ける必要がある実行は nohup でデタッチして起動することも指示されます。
  • CLI は起動時に上限を読み込みます。変更は保存後に起動した Claude セッションに適用され、実行中のセッションは再起動するまで以前の上限のままです。Claude Cloud のチャットには影響しません。0.9.17 で追加 DeepSeek と 0.9.18 で追加 Claude API のチャットも Claude Code で動くので、同じ上限を使います。

OAR は上限を BASH_DEFAULT_TIMEOUT_MS として Claude Code に渡し、BASH_MAX_TIMEOUT_MS を 8 時間、CLAUDE_CODE_AUTO_BACKGROUND_TIMEOUT_MS を 2 分に設定します。この 3 つは OAR が起動するすべての Claude セッションに設定されるので、リレーの環境に同じ変数があっても効果はありません。

reasoning effort と思考 #

reasoning effort #

reasoning effort の選択欄はメッセージごとの設定で、ターンの合間に変更できます。選択肢は none と、モデルが報告するレベル(low、medium、high、xhigh、max)です。xhigh に対応するモデルには Ultracode が表示されます。これは xhigh の reasoning effort にマルチエージェントのワークフローのオーケストレーションを組み合わせたもので、はるかに多くのトークンを使います。

コンテキストウィンドウ #

1M のバリアントがあるモデルでは、Context window のドロップダウンに、モデルの既定のウィンドウ(SDK のカタログに数値がないため — と表示)と 1M が表示されます。1M のバリアントとしてのみ提供されるモデルでは、それだけが表示されます。

思考 #

🧠 コンテキストボタンには、Claude だけの設定も 2 つあり、会話ごとに設定します。

項目 選択肢 既定
Thinking(思考) On(オン)、Off On
Thinking text(思考テキスト) Summarized(要約)、Hidden(非表示) Summarized

思考をオンにすることと、テキストの表示の変更は、次のメッセージから適用されます。思考をオフにすると、次の CLI セッションから適用されます。Hidden はテキストを隠すだけで、モデルは引き続き思考し、そのトークンも数えられます。トークンを節約できるのは Off のほうです。

Claude で特によく機能すること #

  • 軌道修正。 実行中のターンの間に送ったメッセージは、そのターンに入ります。送信ボタンは Steer(軌道修正)と表示されます。ターンとキューとターンの実行中を参照してください。
  • モード。 plan は SDK 自身のプランモードを使い、Claude のプランツールによる Plan ready(プランの準備完了)ボードで終わります。リレーモードを参照してください。
  • 質問カード。 Claude の AskUserQuestion は、複数選択も含めてカードになります。ask_user を参照してください。
  • バックグラウンドタスクとサブエージェント。 バックグラウンドに移したコマンド、サブエージェント、モニター、ワークフローは、それを始めた返信が終わった後も動き続け、入力欄のタスクパネルに表示されます。サブエージェントのタイトルを押すと、その記録全体が開きます。単独で停止できるのは、バックグラウンドに移したサブエージェントだけです。現在のターンの中で動いているサブエージェントは、ターンと一緒に止まります。Settings → General → Background task timeout(設定 → 一般 → バックグラウンドタスクのタイムアウト)は、バックグラウンドタスクだけでセッションを動かし続けられる時間を制限します(既定 4 時間)。
  • 正確なコンテキストの内訳。 🧠 ボタンには、SDK が報告するカテゴリが表示されます。
  • 自動コンパクト化。 Claude は長いセッションを自分でコンパクト化します。🧠 モーダルには Auto-compact window(自動コンパクト化ウィンドウ)のスライダーがあり、Auto(自動)、100k、150k、200k、300k、500k、1M から選べます。会話のコンパクト化を参照してください。
  • 使用量の上限での一時停止。 サブスクリプションの使用量の上限に達したターンは一時停止し、リセット後に再開します。使用量の上限に達したときを参照してください。
  • セッションの継続性。 SDK のセッション ID が保存されるので、ワーカーが再起動した後も会話を再開できます。
  • 添付ファイル。 5 MB までの画像はメッセージに埋め込んで送られます。それより大きい画像やその他のファイルは、Claude が読むためのパスとして渡されます。

Claude のターンでは、返信の下に使用状況の行はありません。Claude のプランの上限は Check Usage(使用状況の確認)にあります。

セッションの保存場所 #

ファイルブラウザーの Session root(セッションのルート)ボタン(🕵️)は、Agent SDK のプロジェクト領域にあるセッション自身のフォルダーを開きます。場所は ~/.claude/projects の中(または CLAUDE_CONFIG_DIR の中)です。トランスクリプトは、そのフォルダーの隣にある .jsonl ファイルです。フォルダーはセッションにサブエージェントやツール結果のファイルがあるときにだけ作られるので、始まったばかりの会話では空のことがあります。会話を削除すると、そのトランスクリプトも削除されます。

環境変数 #

リレーを起動する環境で設定します。

変数 動作
CLAUDE_CONFIG_DIR ~/.claude の代わりに使う Claude の設定フォルダーです。サインインと、セッションのフォルダーを探す場所に使われます。
CLAUDE_CODE_EXECUTABLE Agent SDK に同梱されたビルドの代わりにワーカーが使う Claude Code のバイナリです。パネルからインストールや更新をすると自動で設定されます。
CLAUDE_CODE_AUTO_COMPACT_WINDOW 自動コンパクト化ウィンドウを上書きします。そのときスライダーの下の行には、この変数が値の出どころとして表示されます。Claude Code 自身が読み込みます。セッションが tmux の下で動く場合、リレーに設定しても届きません(エージェントに届く変数を参照)。
BASH_DEFAULT_TIMEOUT_MS、BASH_MAX_TIMEOUT_MS、CLAUDE_CODE_AUTO_BACKGROUND_TIMEOUT_MS 0.9.12 で追加 リレーの環境からは読み込まれません。OAR がバックグラウンドコマンドの上限からすべての Claude セッションに設定します。
CLAUDE_CODE_OAUTH_TOKEN CLI のサインインファイルの代わりに使うサインイントークンです。Claude Cloud と、ローカルの Claude のチャットに使われます。ローカルのチャットの CLI は、サインインファイルよりこちらを優先します。0.9.17 で追加 これを受け取るのは Claude と Claude Cloud のワーカーだけで、tmux の下ではリレーのユーザーだけが読めるファイルを通じて渡されます。DeepSeek を含むほかのプロバイダーのワーカーには渡されません。
ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN 0.9.17 で追加 ワーカーには渡されません。Claude のチャットは Claude のサインインで動き、リレーの環境にあるキーでは動きません。0.9.17 より前は、Claude Code がサインインよりこうしたキーを優先していました。Claude API のチャットは Settings → Providers → Claude API(設定 → プロバイダー → Claude API)に保存したキーで動き、これらの変数は使いません。

0.9.18 で追加 サブスクリプションのチャットが API キーで動くことはありません。 Claude Code は、自身の設定のいずれかが API キーを渡すと、Claude のサインインよりそのキーを優先します。該当するのは、~/.claude/settings.json またはチャットのフォルダーの .claude/settings*.json にある env.ANTHROPIC_API_KEY、apiKeyHelper、Console のサインインです。以前はそうしたチャットがそのキーで動き、キーの所有者に課金されていました。現在は Claude Code の起動時にターンが止まり、出どころと削除すべき設定を示すメモと、コード relay.subscription-key-source が表示されます。Claude Code は起動の少し後に最初のモデルリクエストを送るので、その前にキーで送られるモデルリクエストは最大 1 件です。チャットを API キーで動かすには、Claude API とその課金の切り替えを使います。

トラブルシューティング #

問題 対処
New Chat に Claude がない Settings → Providers → Claude で Enable Claude for New Chat model selection をオンにします。
CLI の行に Not installed(未インストール)と表示される、またはアカウントの行がアカウントを読み取れない ブラウザーからのサインインとアカウントの行には、リレーのマシンに claude が必要です。Install を押すか、自分でインストールしてから設定を開き直します。
Not logged in と表示される、または返信に Claude が認証できないと書かれている 失敗した返信の Claude settings(Claude の設定)を押し、次に Relogin を押します(またはそのマシンで claude を実行します)。その後、メッセージをもう一度送ります。
サインインの有効期限が切れた 上と同じです。実行中のセッションは、ワーカーが終了するまで古いトークンを使い続けます。サインインした後、メッセージをもう一度送ります。
返信が課金、サブスクリプション、組織に関する問題を示している パネルに表示されたアカウントの、サブスクリプション、支払い方法、組織が Claude Code を許可しているかを確認します。Relogin で別のアカウントにサインインできます。
ターンが使用量の上限で一時停止した リセットを待つか、バナーの Resume now(今すぐ再開)または Cancel を使います。使用量の上限に達したときを参照してください。
新しいモデルが選択欄にない モデルは SDK に同梱された Claude Code のビルドから届きます。新しいモデルは claude update ではなく、OAR の更新とともに届きます。
0.9.18 で追加 Claude Code took an API key for this subscription turn (source "…"), so the turn was stopped(relay.subscription-key-source) Claude Code の設定(~/.claude/settings.json、またはフォルダーの .claude/settings*.json)の env から ANTHROPIC_API_KEY を削除する、apiKeyHelper を削除する、または Console のサインインからサインアウトしてから、メッセージをもう一度送ります。Settings に保存したキーでチャットを動かすには、API キーに切り替えます。
Windows で Relogin が失敗する サインインの流れは Linux と macOS 向けに作られており、Windows ではベストエフォートでの対応です。代わりにターミナルで claude を実行します。