SpyBara
Go Premium

Documentation 2026-09-18 23:58 UTC to 2026-09-19 23:57 UTC

11 files changed +200 −86. View all changes and history on the product overview
2026
Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02
Details

126 126 

127各メカニズムがポリシーを保存する場所については [where each mechanism stores the policy](/docs/ja/managed-settings#where-each-mechanism-stores-the-policy) を参照し、Claude Desktop `bootstrapUrl` 相当については [Client-side managed settings](/docs/ja/claude-apps-gateway-config#client-side-managed-settings) を参照してください。127各メカニズムがポリシーを保存する場所については [where each mechanism stores the policy](/docs/ja/managed-settings#where-each-mechanism-stores-the-policy) を参照し、Claude Desktop `bootstrapUrl` 相当については [Client-side managed settings](/docs/ja/claude-apps-gateway-config#client-side-managed-settings) を参照してください。

128 128 

129<h3 id="large-rollouts">

130 大規模なロールアウト

131</h3>

132 

133サインインはクライアント IP アドレスごとにレート制限されており、デフォルトは小規模なチームに適しています。各アドレスは 10 分ごとに 30 回のサインイン開始と 10 回のコード送信を取得します。数千人の開発者へのロールアウトは、次の 2 つの理由のいずれかで、最初の朝にこれらの制限に達する可能性があります:

134 

135* **ゲートウェイはロードバランサーを超えて見ることができません。** [`listen.trusted_proxies`](/docs/ja/claude-apps-gateway-config#listen) がない場合、すべての開発者はロードバランサーのアドレスから来ているように見え、1 つの制限を共有します。他の何よりも先にそれを設定します。ゲートウェイは、`X-Forwarded-For` ヘッダーを無視する最初の時間に警告をログに記録します。

136* **多くの開発者が少数の NAT または VPN エグレスアドレスを共有しています。** `trusted_proxies` が正しい場合でも、それらのアドレスの制限を共有します。[`rate_limits`](/docs/ja/claude-apps-gateway-config#http-tuning) を引き上げて適合させます。

137 

138`max` のサイズを決定するには、開発者をそれらが共有するエグレスアドレスで割ります。1 つの `window_seconds` 期間内にそれらのうち何人がサインインするかを推定します。デフォルトは 10 分です。その後、リトライと Claude Code と Claude Desktop の両方にサインインする開発者をカバーするために 2 倍にします。

139 

140例えば、10,000 人の開発者が 4 つのエグレスアドレスの背後にあり、1 時間にわたって均等にサインインします。これは、アドレスごとに 2,500 人の開発者で、各 10 分ごとに約 420 人です。これを 2 倍にして 1,000 に切り上げます。以下の例は両方の制限を 1,000 に設定します:

141 

142```yaml theme={null}

143rate_limits:

144 device_authorization: { max: 1000, window_seconds: 600 }

145 device_verify: { max: 1000, window_seconds: 600 }

146```

147 

148`device_verify` は、別の開発者のサインインコードを推測するのを防ぐものであるため、推定が必要な限りだけそれを引き上げます。これらの制限でも、コードは 20 文字のアルファベットから 8 文字で、10 分後に期限切れになるため、推測は実用的なままです。[User-code brute-force resistance](#user-code-brute-force-resistance) を参照してください。

149 

150IdP がリフレッシュトークンを発行する場合、Claude Code はセッションをサイレントに更新するため、ロールアウト後に制限を戻すことができます。リフレッシュトークンがない場合、開発者は [`session.ttl_hours`](/docs/ja/claude-apps-gateway-config#session) ごとに再度サインインします。その定常状態レートの両方の制限のサイズを決定し、それらを引き上げたままにします。

151 

152制限に達すると、Claude Code v2.1.274 以降は `The gateway is limiting sign-in attempts right now` を表示します。v2.1.274 以降のゲートウェイは、検証ページに `Too many attempts came from your network address` を表示し、確認する設定を表示します。また、変更する設定に名前を付ける `sign-in refused` ログ行も書き込みます。

153 

129<h2 id="operations">154<h2 id="operations">

130 運用155 運用

131</h2>156</h2>


160 185 

161`/.well-known/oauth-authorization-server` の OAuth ディスカバリードキュメントは、設定ロード、OIDC ディスカバリー、上流クライアント構築、Postgres マイグレーションがすべて成功した後にのみ `200` を返すため、エンドツーエンドのブートチェックとしても機能します。186`/.well-known/oauth-authorization-server` の OAuth ディスカバリードキュメントは、設定ロード、OIDC ディスカバリー、上流クライアント構築、Postgres マイグレーションがすべて成功した後にのみ `200` を返すため、エンドツーエンドのブートチェックとしても機能します。

162 187 

188<h3 id="concurrent-upstream-requests">

189 同時上流リクエスト

190</h3>

191 

192デフォルトでは、各ゲートウェイレプリカは最大 256 個のリクエストを同時に上流に送信します。ストリーミング応答はストリームが終了するまで制限に対してカウントされます。

193 

194レプリカが制限に達している間にリクエストが到着すると、ゲートウェイ内で空きスロットを待ちます。開発者は開始が遅い、またはハングしているように見える応答を見ます。`provider: anthropic` 上流では、[`timeouts.upstream_ttfb_ms`](/docs/ja/claude-apps-gateway-config#http-tuning) より長く待つリクエストはその上流をあきらめ、後の上流がそれを提供しない場合は 502 で失敗します。

195 

196`upstream requests:` を含むスタートアップログ行は、有効な制限を示します。レプリカが制限より多くのリクエストを開いている間、最大 1 分に 1 回、`client requests are open` を含む警告もログに記録されます。

197 

198一度に複数のリクエストを提供するには、2 つのオプションがあります:

199 

200* レプリカを追加します。

201* 各レプリカの制限を上げます。ゲートウェイコンテナで `BUN_CONFIG_MAX_HTTP_REQUESTS` 環境変数を 1 から 65535 の整数に設定し、コンテナを再起動します。

202 

203レプリカは、制限を約リクエストが開いている平均秒数で割った値のリクエストレートで制限を満たします。たとえば、リクエストが平均 10 秒間開いている場合、デフォルト制限 256 のレプリカは約 26 リクエスト/秒で制限を満たします。

204 

205CPU でオートスケールする場合、制限でのレプリカはスケールアウトをトリガーせずにリクエストをキューに入れるため、レプリカが `client requests are open` 警告をログに記録するときに表示される CPU レベルより下のターゲットを設定します。

206 

207<Warning>

208 開いているすべてのリクエストは、ストリーミング中およびスロットを待つ間、ゲートウェイプロセスでメモリを保持します。制限を 256 に保つ場合、オーバーロードされたレプリカのメモリは引き続き増加します。待機中のリクエストはリクエストボディを保持するため。ピーク時に開いているリクエスト数のコンテナメモリをサイズし、制限を変更するときにメモリを監視します。メモリが不足したレプリカは強制終了され、保持するすべてのストリームがドロップされます。

209</Warning>

210 

163<h3 id="outage-behavior">211<h3 id="outage-behavior">

164 障害時の動作212 障害時の動作

165</h3>213</h3>


207 アップグレード255 アップグレード

208</h3>256</h3>

209 257 

210レプリカはステートレスであるため、ローリング再起動はいつでも安全です。ゲートウェイはブート時にスキーママイグレーションを実行します。つまり、新しいバイナリをデプロイするとデータベースが自動的にマイグレーションされます。同時実行レプリカは Postgres アドバイザリロックでシリアライズされるため、各マイグレーションを適用するのは 1 つだけです。258レプリカはステートレスであるため、ローリング再起動はゲートウェイの状態を失いません。ゲートウェイはブート時にスキーママイグレーションを実行します。つまり、新しいバイナリをデプロイするとデータベースが自動的にマイグレーションされます。同時実行レプリカは Postgres アドバイザリロックでシリアライズされるため、各マイグレーションを適用するのは 1 つだけです。

259 

260オーケストレーターがローリング再起動またはスケールインのように `SIGTERM` でレプリカを停止する場合、ゲートウェイは新しい接続の受け入れを停止し、既に進行中のリクエストとストリームが終了してから終了するのを待ちます。ドレインウィンドウと呼ばれる最大 25 秒間待機し、その後、まだ開いているものを閉じます。`SIGINT`(ターミナルの Ctrl+C など)は同じドレインを開始し、ドレイン中の 2 番目のシグナルは開いているリクエストを閉じて直ちに終了します。ドレインには gateway v2.1.274 以降が必要です。

261 

262長い生成はストリーミングを数分間続けることができます。Kubernetes と Amazon ECS では、これらの両方を一緒に上げて、それらのストリームにより多くの時間を与えます:

263 

264* **ドレインウィンドウ**:ゲートウェイコンテナで `CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS` 環境変数を `120000` などのミリ秒の正の整数に設定します。ゲートウェイは `120s` などの他の形式の値を無視し、25 秒のデフォルトを保持します

265* **オーケストレーターのグレースピリオド**:Kubernetes の `terminationGracePeriodSeconds`、または Amazon ECS の `stopTimeout`

266 

267グレースピリオドは両方のプラットフォームでデフォルト 30 秒です。ドレインウィンドウより少なくとも 5 秒長く保つか、オーケストレーターはドレインが終了する前にゲートウェイを強制終了します。Kubernetes では、`preStop` フックの期間も追加します。グレースピリオドはフックが実行されるのではなく、ゲートウェイが `SIGTERM` を受け取る前にカウント開始するため。

268 

269プラットフォームはドレインが実行できる期間をキャップすることもあります:

270 

271* **Amazon ECS on Fargate**:`stopTimeout` は最大 120 秒を許可します

272* **Cloud Run**:`SIGTERM` の 10 秒後にインスタンスを停止するため、開いているストリームはドレインウィンドウが何であれ最大 10 秒を取得します

273 

274ドレインウィンドウが開いているリクエストで終了する場合、ゲートウェイは `drain window over after` を含む警告をログに記録し、カットしたリクエストをカウントし、上げるべき両方の設定に名前を付けます。

211 275 

212マイグレーションは追加のみであるため、より少ないマイグレーションを知っている以前のバイナリにロールバックするのは安全です。余分な行を無視します。ロールバックは YAML を古いバイナリのスキーマに対して再検証するため、新しいリリースで導入されたキーを採用した設定は古いバイナリでのブートに失敗します。ロールバックする前に新しいキーを削除します。276マイグレーションは追加のみであるため、より少ないマイグレーションを知っている以前のバイナリにロールバックするのは安全です。余分な行を無視します。ロールバックは YAML を古いバイナリのスキーマに対して再検証するため、新しいリリースで導入されたキーを採用した設定は古いバイナリでのブートに失敗します。ロールバックする前に新しいキーを削除します。

213 277 


239 303 

240* 開発者は生の上流キーの代わりに短命の JWT を保持します。CLI からゲートウェイへのレッグは RFC 8628 デバイスグラントを使用し、ゲートウェイの IdP との認可コード交換はデフォルト設定で PKCE を実行するため、インターセプトされた IdP 認可コードは無用です。304* 開発者は生の上流キーの代わりに短命の JWT を保持します。CLI からゲートウェイへのレッグは RFC 8628 デバイスグラントを使用し、ゲートウェイの IdP との認可コード交換はデフォルト設定で PKCE を実行するため、インターセプトされた IdP 認可コードは無用です。

241* デバイス検証ページは同一オリジン POST と RFC 8628 §5.1 ごとの IP ごとのレート制限を実装します。[ユーザーコードブルートフォース耐性](#user-code-brute-force-resistance) を参照してください。305* デバイス検証ページは同一オリジン POST と RFC 8628 §5.1 ごとの IP ごとのレート制限を実装します。[ユーザーコードブルートフォース耐性](#user-code-brute-force-resistance) を参照してください。

242* アウトバウンドリクエストはサーバー側リクエストフォージェリ(SSRF)ガードを通じて行われます。DNS を解決し、リンクローカルとクラウドメタデータアドレスをブロックし、デフォルトではループバックをブロックし、接続を解決された IP にピン留めします。IdP と OTLP 宛先などのオペレーター影響 URL はクラウドメタデータエンドポイントにリダイレクトできません。RFC 1918 プライベート範囲は意図的に許可されます。IdP と OTLP コレクターは一般的にプライベート IP に存在するため。ゲートウェイが正当に到達する必要があるもの(ローカル開発 IdP やサイドカー OTLP コレクター(`localhost` など)など)がループバック上に存在する場合にのみ、ゲートウェイの環境で `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` を設定します。変数はすべてのオペレーター設定 URL のループバックブロックを緩和し、ポッドがクラウドメタデータエンドポイントに到達できるかどうかをチェックするブート時警告もスキップするため、コレクターに独自の内部アドレスを与えることをお勧めします。306* ゲートウェイの IdP、OTLP コレクター、および `provider: anthropic` 上流へのリクエストは、サーバー側リクエストフォージェリ(SSRF)ガードを通じて行われます。DNS を解決し、リンクローカルとクラウドメタデータアドレスをブロックし、デフォルトではループバックをブロックし、接続を解決された IP にピン留めするため、オペレーター影響 URL はクラウドメタデータエンドポイントにリダイレクトできません。RFC 1918 プライベート範囲は意図的に許可されます。IdP と OTLP コレクターは一般的にプライベート IP に存在するため。その他のプロバイダーの場合、ゲートウェイは設定をロードするときにそれらのアドレスまたはメタデータホスト名を指定する `base_url` を拒否し、プロバイダーの SDK は DNS チェックなしで接続します。

307 

308 [プロキシのみのエグレス](/docs/ja/claude-apps-gateway-config#proxy-only-egress) をオンにすると、そのアドレスチェックはフォワードプロキシに移動します:ゲートウェイはホスト名を渡し、プロキシのアロウリストはそれらの宛先を拒否する必要があります。

309 

310 ゲートウェイが正当に到達する必要があるもの(ローカル開発 IdP やサイドカー OTLP コレクター(`localhost` など))がループバック上に存在する場合にのみ、ゲートウェイの環境で `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` を設定します。変数はすべてのオペレーター設定 URL のループバックブロックを緩和し、ポッドがクラウドメタデータエンドポイントに到達できるかどうかをチェックするブート時警告もスキップするため、コレクターに独自の内部アドレスを与えることをお勧めします。

243 311 

244独自のエグレス制御を追加する場合、ゲートウェイはワークロードアイデンティティなどのインスタンスメタデータ認証情報を使用するときはいつでもメタデータサーバーに到達する必要があります。312独自のエグレス制御を追加する場合、ゲートウェイはワークロードアイデンティティなどのインスタンスメタデータ認証情報を使用するときはいつでもメタデータサーバーに到達する必要があります。

245 313 


254 322 

255開発者が `/device` 検証ページに入力する `user_code` は、20 文字のアルファベットから引き出された 8 文字です。これは 20⁸ または約 2.56×10¹⁰ の組み合わせを生成し、10 分後に期限切れになります。323開発者が `/device` 検証ページに入力する `user_code` は、20 文字のアルファベットから引き出された 8 文字です。これは 20⁸ または約 2.56×10¹⁰ の組み合わせを生成し、10 分後に期限切れになります。

256 324 

257ゲートウェイは [`rate_limits`](/docs/ja/claude-apps-gateway-config#http-tuning) を通じて設定可能なデバイスグラントエンドポイントに IP ごとのレート制限を適用します。多くの開発者が単一の共有企業 NAT アドレスからサインインする場合は、制限を上げます。制限はサインインフローにのみ適用され、推論には適用されません。325ゲートウェイは [`rate_limits`](/docs/ja/claude-apps-gateway-config#http-tuning) を通じて設定可能なデバイスグラントエンドポイントに IP ごとのレート制限を適用します。多くの開発者が単一の共有企業 NAT アドレスからサインインする場合は、制限を上げます。[大規模ロールアウト](#large-rollouts) は、それらのサイズを決定する方法を示しています。制限はサインインフローにのみ適用され、推論には適用されません。

258 326 

259<h3 id="compliance-posture">327<h3 id="compliance-posture">

260 コンプライアンス体制328 コンプライアンス体制


284gateway の stderr には監査イベントストリームが含まれ、監査ログには開発者の ID が記録され、デバッグファイルには開発者のマシンからの hook と MCP サーバーの出力が記録されます。公開 issue に投稿する前に、これらを確認して削除してください。352gateway の stderr には監査イベントストリームが含まれ、監査ログには開発者の ID が記録され、デバッグファイルには開発者のマシンからの hook と MCP サーバーの出力が記録されます。公開 issue に投稿する前に、これらを確認して削除してください。

285 353 

286| 症状 | 原因 | 修正方法 |354| 症状 | 原因 | 修正方法 |

287| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |355| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

288| 開発者の `/login` が **Cloud gateway** 画面ではなく標準のアカウントピッカーを表示する | そのマシンのマネージド設定で `forceLoginMethod` または `forceLoginGatewayUrl` が設定されていない | [マネージド設定ファイル](/docs/ja/claude-apps-gateway#set-the-gateway-url)をデバイスにデプロイしてください。`/login` はそこから gateway URL を読み込みます |356| 開発者の `/login` が **Cloud gateway** 画面ではなく標準のアカウントピッカーを表示する | そのマシンのマネージド設定で `forceLoginMethod` または `forceLoginGatewayUrl` が設定されていない | [マネージド設定ファイル](/docs/ja/claude-apps-gateway#set-the-gateway-url)をデバイスにデプロイしてください。`/login` はそこから gateway URL を読み込みます |

289| 開発者のリクエストが `Not signed in to the Cloud gateway — run /login.` で失敗する | マシンのマネージド設定で `forceLoginMethod: "gateway"` または `forceLoginGatewayUrl` が設定されており、セッションに gateway サインインがない。残っている claude.ai ログインは要件を満たしていません。 | 開発者に `/login` を実行して gateway サインインを完了させてください。[Administrator policy requires a Cloud gateway sign-in](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in) も参照してください。 |357| 開発者のリクエストが `Not signed in to the Cloud gateway — run /login.` で失敗する | マシンのマネージド設定で `forceLoginMethod: "gateway"` または `forceLoginGatewayUrl` が設定されており、セッションに gateway サインインがない。残っている claude.ai ログインは要件を満たしていません。 | 開発者に `/login` を実行して gateway サインインを完了させてください。[Administrator policy requires a Cloud gateway sign-in](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in) も参照してください。 |

290| Claude Desktop がブートストラップ設定を取得できないと報告する | `/user/bootstrap` が 404 を返した: ユーザーに一致するポリシーが `desktop` キーを持たないか、ポリシーが一致しなかった。gateway の監査ログは各拒否を `desktop_bootstrap.denied` として理由とともに記録します。 | ユーザーに一致するポリシー、または `match: {}` ベースレイヤーに `desktop` ブロックを追加してください。空の `desktop: {}` で十分です。[Claude Desktop overlay](/docs/ja/claude-apps-gateway-config#claude-desktop-overlay) を参照してください。 |358| Claude Desktop がブートストラップ設定を取得できないと報告する | `/user/bootstrap` が 404 を返した: ユーザーに一致するポリシーが `desktop` キーを持たないか、ポリシーが一致しなかった。gateway の監査ログは各拒否を `desktop_bootstrap.denied` として理由とともに記録します。 | ユーザーに一致するポリシー、または `match: {}` ベースレイヤーに `desktop` ブロックを追加してください。空の `desktop: {}` で十分です。[Claude Desktop overlay](/docs/ja/claude-apps-gateway-config#claude-desktop-overlay) を参照してください。 |

291| スタートアップが `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` を表示する | インストールされている Claude Code ビルドが gateway サポート前のバージョン | 開発者に Claude Code を Cloud gateway サポートを含むリリースに更新させてください |359| スタートアップが `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` を表示する | インストールされている Claude Code ビルドが gateway サポート前のバージョン | 開発者に Claude Code を Cloud gateway サポートを含むリリースに更新させてください |

292| スタートアップが `Administrator policy requires a Cloud gateway sign-in on this machine` で終了する | 開発者の環境が `ANTHROPIC_API_KEY` または `ANTHROPIC_AUTH_TOKEN` を設定しているか、設定が [`apiKeyHelper`](/docs/ja/settings-reference#apikeyhelper) を設定しているか、または以前の Claude Console ログインからの API キーがまだ保存されている | 適用される各項目をクリアするよう開発者に指示してください: 変数を設定解除するか、`apiKeyHelper` エントリを削除するか、`claude auth logout` を実行して保存されたキーを削除してください。その後、`claude` を起動して `/login` でサインインさせてください。[Administrator policy requires a Cloud gateway sign-in](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in) も参照してください。 |360| スタートアップが `Administrator policy requires a Cloud gateway sign-in on this machine` で終了する | 開発者の環境が `ANTHROPIC_API_KEY` または `ANTHROPIC_AUTH_TOKEN` を設定しているか、設定が [`apiKeyHelper`](/docs/ja/settings-reference#apikeyhelper) を設定しているか、または以前の Claude Console ログインからの API キーがまだ保存されている | 適用される各項目をクリアするよう開発者に指示してください: 変数を設定解除するか、`apiKeyHelper` エントリを削除するか、`claude auth logout` を実行して保存されたキーを削除してください。その後、`claude` を起動して `/login` でサインインさせてください。[Administrator policy requires a Cloud gateway sign-in](/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in) も参照してください。 |

293| スタートアップまたは `/login` がマネージド設定ロード時の 403 の後に `Claude Code may not be enabled for your organization` を報告する | gateway、またはその前にあるもの、が `/managed/settings` リクエストに 403 で応答した。gateway 自体の設定ルートは 403 で応答することはありません。ステータスは [`access_control`](/docs/ja/claude-apps-gateway-config#http-tuning) IP チェック、または gateway の前にあるプロキシまたは WAF から来ています。監査ログは IP チェック拒否を `access.denied` として理由とともに記録します。開発者はサインイン状態を保ちます。 | 失敗時の監査ログで `access.denied` を確認し、`access_control` リストまたはフロントエンドを修正してから、開発者に `claude` を再度起動させてください |361| スタートアップまたは `/login` がマネージド設定ロード時の 403 の後に `Claude Code may not be enabled for your organization` を報告する | gateway、またはその前にあるもの、が `/managed/settings` リクエストに 403 で応答した。gateway 自体の設定ルートは 403 で応答することはありません。ステータスは [`access_control`](/docs/ja/claude-apps-gateway-config#http-tuning) IP チェック、または gateway の前にあるプロキシまたは WAF から来ています。監査ログは IP チェック拒否を `access.denied` として理由とともに記録します。開発者はサインイン状態を保ちます。 | 失敗時の監査ログで `access.denied` を確認し、`access_control` リストまたはフロントエンドを修正してから、開発者に `claude` を再度起動させてください |

362| CLI `/login`: `The gateway is limiting sign-in attempts right now`、または古いバージョンで `Request failed with status code 429`。`/device` ページは以前に試したことのない開発者に `Too many attempts` を表示する場合があります | IP ごとのサインインレート制限に達した。`listen.trusted_proxies` がロードバランサーをカバーしていないため、すべての開発者がそのアドレスを共有するか、多くの開発者が NAT または VPN 出口アドレスを共有しています。`result: rate_limited` の監査イベントは同じ 1 つまたは少数の `client_ip` 値を表示します。 | まず `listen.trusted_proxies` をロードバランサーのソース範囲に設定し、開発者がアドレスを共有し続ける場合は `rate_limits` を上げてください。[大規模なロールアウト](#large-rollouts)を参照してください。 |

294| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | gateway ホスト名が少なくとも 1 つのパブリック IP アドレスに解決される。Claude Code は各解決されたアドレスをチェックし、すべてがプライベートであることを要求します。一般的な原因は、1 つのファミリーがパブリックアドレスに解決されるデュアルスタック名です。AWS 内部デュアルスタックロードバランサーを含み、パブリック範囲の AAAA アドレスを返します。 | gateway 名が開発者マシン上でのみプライベートアドレスに解決されるようにしてください。デュアルスタック名の場合、パブリック範囲のレコードを削除するか、別の内部専用 DNS 名を提供してください。[プライベートネットワークの前提条件](/docs/ja/claude-apps-gateway#prerequisites)を参照してください。アドレスがお客様の組織が所有して内部的に使用するパブリックスペースである場合、[そのブロックを宣言](/docs/ja/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)してください。 |363| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | gateway ホスト名が少なくとも 1 つのパブリック IP アドレスに解決される。Claude Code は各解決されたアドレスをチェックし、すべてがプライベートであることを要求します。一般的な原因は、1 つのファミリーがパブリックアドレスに解決されるデュアルスタック名です。AWS 内部デュアルスタックロードバランサーを含み、パブリック範囲の AAAA アドレスを返します。 | gateway 名が開発者マシン上でのみプライベートアドレスに解決されるようにしてください。デュアルスタック名の場合、パブリック範囲のレコードを削除するか、別の内部専用 DNS 名を提供してください。[プライベートネットワークの前提条件](/docs/ja/claude-apps-gateway#prerequisites)を参照してください。アドレスがお客様の組織が所有して内部的に使用するパブリックスペースである場合、[そのブロックを宣言](/docs/ja/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)してください。 |

295| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` または `HTTP_PROXY` が gateway ホストに適用され、プロキシのホスト名がパブリックアドレスに解決される。ホストがプライベートアドレスのみに解決されるプロキシは許可され、このエラーをトリガーしません | 開発者のマシンの `NO_PROXY` に gateway ホストを追加して接続を直接にするか、ホスト名がプライベートアドレスに解決されるプロキシを使用してください。メッセージは追加する正確な `NO_PROXY` エントリを名前付けします |364| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` または `HTTP_PROXY` が gateway ホストに適用され、プロキシのホスト名がパブリックアドレスに解決される。ホストがプライベートアドレスのみに解決されるプロキシは許可され、このエラーをトリガーしません | 開発者のマシンの `NO_PROXY` に gateway ホストを追加して接続を直接にするか、ホスト名がプライベートアドレスに解決されるプロキシを使用してください。メッセージは追加する正確な `NO_PROXY` エントリを名前付けします |

296| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | gateway は [`gatewayInternalNetworks`](/docs/ja/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) で宣言されたブロック上にあり、開発者のマシンがそのブロック外のアドレスからそれに到達した: VPN アドレスプール、コンテナまたは WSL2 NAT セグメント、またはお客様の組織のものではないネットワーク | 開発者にお客様のネットワーク上のホスト OS から `/login` を実行させてください。表示されたアドレスがお客様の組織のパブリックスペースでもある場合、gateway のエントリを両方をカバーするブロックに置き換えてください。最大 `/8`。2 番目の重複するエントリは拒否されます |365| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | gateway は [`gatewayInternalNetworks`](/docs/ja/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) で宣言されたブロック上にあり、開発者のマシンがそのブロック外のアドレスからそれに到達した: VPN アドレスプール、コンテナまたは WSL2 NAT セグメント、またはお客様の組織のものではないネットワーク | 開発者にお客様のネットワーク上のホスト OS から `/login` を実行させてください。表示されたアドレスがお客様の組織のパブリックスペースでもある場合、gateway のエントリを両方をカバーするブロックに置き換えてください。最大 `/8`。2 番目の重複するエントリは拒否されます |


301| CLI `/login`: `Could not resolve gateway host <host>` | マシンが gateway の内部 DNS 名を解決できない。通常、企業ネットワーク上にないため | 開発者にネットワークまたは VPN に接続させてから、`/login` を再試行してください |370| CLI `/login`: `Could not resolve gateway host <host>` | マシンが gateway の内部 DNS 名を解決できない。通常、企業ネットワーク上にないため | 開発者にネットワークまたは VPN に接続させてから、`/login` を再試行してください |

302| ブート時に `store.postgres_url` という名前の設定検証エラーで終了する | Postgres が設定されていない。gateway は Postgres を必要とします | `store.postgres_url` を設定してください。ローカル開発の場合、使い捨てコンテナを使用してください: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |371| ブート時に `store.postgres_url` という名前の設定検証エラーで終了する | Postgres が設定されていない。gateway は Postgres を必要とします | `store.postgres_url` を設定してください。ローカル開発の場合、使い捨てコンテナを使用してください: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |

303| ブート時に終了: `requires the native binary` | Node の代わりにネイティブバイナリで実行されていない | Claude Code を [スタンドアロンインストール方法](/docs/ja/setup)のいずれかでインストールしてください |372| ブート時に終了: `requires the native binary` | Node の代わりにネイティブバイナリで実行されていない | Claude Code を [スタンドアロンインストール方法](/docs/ja/setup)のいずれかでインストールしてください |

304| ブート時に `config.load` の後に OIDC ディスカバリーエラーで終了する | `oidc.issuer` に到達できない、または TLS チェーンが信頼されていない | 発行者がポッドから到達可能で、`/.well-known/openid-configuration` を提供していることを確認してください。プライベート PKI の場合は `ca_cert_pem` を設定してください。ポッドが IdP にフォワードプロキシ経由でのみ到達する場合、[`oidc.use_proxy: true`](/docs/ja/claude-apps-gateway-config#idp-requests-through-a-forward-proxy)を設定してください。v2.1.227 より前のバージョンでは、代わりに IdP の各エンドポイントへの直接ルートをポッドに提供してください。 |373| ブート時に `config.load` の後に OIDC ディスカバリーエラーで終了する | `oidc.issuer` に到達できない、または TLS チェーンが信頼されていない | 発行者がポッドから到達可能で、`/.well-known/openid-configuration` を提供していることを確認してください。プライベート PKI の場合は `ca_cert_pem` を設定してください。ポッドが IdP にフォワードプロキシ経由でのみ到達する場合、[`oidc.use_proxy: true`](/docs/ja/claude-apps-gateway-config#idp-requests-through-a-forward-proxy)を設定してください。v2.1.227 より前のバージョンでは、代わりに IdP の各エンドポイントへの直接ルートをポッドに提供してください。ポッドが IdP のホスト名を解決できない場合、またはプロキシが IP アドレスへの `CONNECT` を拒否する場合、[プロキシのみの出口](/docs/ja/claude-apps-gateway-config#proxy-only-egress)を参照してください。これには v2.1.277 以降が必要です。 |

305| ブート時に Postgres パーミッションエラーで終了する | データベースロールがそのスキーマに対する DDL 権限を持たない | ロールに gateway のスキーマに対する `CREATE` を付与して、ブート時にテーブルを作成・変更できるようにしてください |374| ブート時に Postgres パーミッションエラーで終了する | データベースロールがそのスキーマに対する DDL 権限を持たない | ロールに gateway のスキーマに対する `CREATE` を付与して、ブート時にテーブルを作成・変更できるようにしてください |

375| ログ: `could not connect to Postgres at boot, attempt 1 of 3` | gateway が起動したときにデータベースがまだ到達可能ではなかった。例えば、ネットワークがまだ起動中のコールドインスタンス | gateway がブートを完了する場合、アクションは不要です。データベースに到達できない場合、gateway は接続を 3 回試行し、2 秒間隔で、終了する前に試行します。`could not connect to Postgres` で終了する場合、`store.postgres_url` とデータベースへのネットワークパスを確認してください。試行がタイムアウトするのではなく拒否される場合、[`store.connect_timeout_seconds`](/docs/ja/claude-apps-gateway-config#store)を上げて各試行に長い時間を与えてください。 |

306| `/oauth/callback` が「Sign-in could not be completed」を表示する | メールドメインが拒否された、id\_token 検証が失敗した、または `email_verified` が明示的に `false` である。gateway は常にオーバーライドなしでこれを拒否します | `allowed_email_domains` を確認し、IdP が検証済みの `email` クレームを返していることを確認してください。`email_verified: false` の場合、IdP 側の検証を修正してください。IdP がメールを別のクレーム名で発行する場合、`oidc.email_claim` を設定してください。 |376| `/oauth/callback` が「Sign-in could not be completed」を表示する | メールドメインが拒否された、id\_token 検証が失敗した、または `email_verified` が明示的に `false` である。gateway は常にオーバーライドなしでこれを拒否します | `allowed_email_domains` を確認し、IdP が検証済みの `email` クレームを返していることを確認してください。`email_verified: false` の場合、IdP 側の検証を修正してください。IdP がメールを別のクレーム名で発行する場合、`oidc.email_claim` を設定してください。 |

307| ログ: `token exchange failed request_id=<id>: id_token missing email claim` | IdP がデフォルトで id\_token に `email` を含めていない。この拒否は `allowed_email_domains` が設定されている場合にのみ発火します。設定されていない場合、メールがないとメールなしのセッションが作成されます | IdP を設定して id\_token に `email` を発行させてください。Okta: カスタム認可サーバーの ID トークンクレームに `email` を追加してください。Entra: アプリ登録でオプションクレームとして `email` を追加してください。PingFederate: `email` を発行する OpenID Connect ポリシーを有効にしてください。IdP が userinfo エンドポイントから `email` を提供するが id\_token に含めない場合(Okta org 認可サーバーなど)、`oidc.userinfo_fallback: true` を設定してください。 |377| ログ: `token exchange failed request_id=<id>: id_token missing email claim` | IdP がデフォルトで id\_token に `email` を含めていない。この拒否は `allowed_email_domains` が設定されている場合にのみ発火します。設定されていない場合、メールがないとメールなしのセッションが作成されます | IdP を設定して id\_token に `email` を発行させてください。Okta: カスタム認可サーバーの ID トークンクレームに `email` を追加してください。Entra: アプリ登録でオプションクレームとして `email` を追加してください。PingFederate: `email` を発行する OpenID Connect ポリシーを有効にしてください。IdP が userinfo エンドポイントから `email` を提供するが id\_token に含めない場合(Okta org 認可サーバーなど)、`oidc.userinfo_fallback: true` を設定してください。 |

308| ログ: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`、および開発者が `Cloud gateway session expired` を `session.ttl_hours` ごとに見る | IdP がリフレッシュトークンを受け入れたが、それで id\_token を返さなかったため、gateway は IdP の userinfo エンドポイントにユーザーのクレームを求めました。IdP はそこでリフレッシュされたアクセストークンを拒否しました。gateway は `temporarily_unavailable` で応答するため、Claude Code はリフレッシュトークンを保持しますがセッションを更新できません。v2.1.260 より前の gateway バージョンは `(at …)` の詳細なしで同じ行をログします。 | [`oidc.scope_on_refresh: true`](/docs/ja/claude-apps-gateway-config#oidc)を設定してください。gateway v2.1.260 以降で利用可能です。リフレッシュリクエストが再び `openid` を要求するようにします。Okta などの一部の IdP は、要求された場合にのみリフレッシュ時に id\_token を返します。PingFederate では、代わりに **Applications > OAuth > OpenID Connect Policy Management** の下で **Return ID Token On Refresh Grant** を有効にしてください。キーは PingFederate の動作を変更しません。それでも省略する他の IdP の場合、userinfo エンドポイントがリフレッシュによって発行されたアクセストークンを受け入れるかどうかを確認してください。一時的な対応として、[`session.ttl_hours`](/docs/ja/claude-apps-gateway-config#session)を上げてください。[Identity provider setup](#identity-provider-setup) でプロビジョニング解除のトレードオフを参照してください。 |378| ログ: `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`、および開発者が `Cloud gateway session expired` を `session.ttl_hours` ごとに見る | IdP がリフレッシュトークンを受け入れたが、それで id\_token を返さなかったため、gateway は IdP の userinfo エンドポイントにユーザーのクレームを求めました。IdP はそこでリフレッシュされたアクセストークンを拒否しました。gateway は `temporarily_unavailable` で応答するため、Claude Code はリフレッシュトークンを保持しますがセッションを更新できません。v2.1.260 より前の gateway バージョンは `(at …)` の詳細なしで同じ行をログします。 | [`oidc.scope_on_refresh: true`](/docs/ja/claude-apps-gateway-config#oidc)を設定してください。gateway v2.1.260 以降で利用可能です。リフレッシュリクエストが再び `openid` を要求するようにします。Okta などの一部の IdP は、要求された場合にのみリフレッシュ時に id\_token を返します。PingFederate では、代わりに **Applications > OAuth > OpenID Connect Policy Management** の下で **Return ID Token On Refresh Grant** を有効にしてください。キーは PingFederate の動作を変更しません。それでも省略する他の IdP の場合、userinfo エンドポイントがリフレッシュによって発行されたアクセストークンを受け入れるかどうかを確認してください。一時的な対応として、[`session.ttl_hours`](/docs/ja/claude-apps-gateway-config#session)を上げてください。[Identity provider setup](#identity-provider-setup) でプロビジョニング解除のトレードオフを参照してください。 |

309| すべての Amazon Bedrock リクエストが 502 を返す。ログに `Could not load credentials from any providers` が表示される | EC2 では、IMDSv2 のデフォルトホップリミット 1 がコンテナ内からのインスタンスメタデータリクエストをブロックします。ブートと `/readyz` は AWS SDK がクライアント構築時ではなく最初のリクエストでインスタンス認証情報を解決するため、とにかく成功します | `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2` でホップリミットを上げるか、起動テンプレートで設定してください。変更はインスタンス上のすべてのコンテナに適用されます。利用可能な場合は ECS タスクロールを優先してください。これは ECS コンテナ認証情報エンドポイントから認証情報を読み込み、変更を完全に回避します。または、変更を専用 gateway インスタンスに適用して露出を制限してください。 |379| すべての Amazon Bedrock リクエストが 502 を返す。ログに `Could not load credentials from any providers` が表示される | EC2 では、IMDSv2 のデフォルトホップリミット 1 がコンテナ内からのインスタンスメタデータリクエストをブロックします。ブートと `/readyz` は AWS SDK がクライアント構築時ではなく最初のリクエストでインスタンス認証情報を解決するため、とにかく成功します | `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2` でホップリミットを上げるか、起動テンプレートで設定してください。変更はインスタンス上のすべてのコンテナに適用されます。利用可能な場合は ECS タスクロールを優先してください。これは ECS コンテナ認証情報エンドポイントから認証情報を読み込み、変更を完全に回避します。または、変更を専用 gateway インスタンスに適用して露出を制限してください。 |

380| ピークロード時に、レスポンスの開始が遅い、またはハングしているように見える、または upstream が健全な場合に 502 `all upstreams failed` で失敗する | レプリカは upstream に一度に送信するよりも多くのリクエストを開いているため、余分なリクエストは gateway 内で待機します。`provider: anthropic` upstream では、`timeouts.upstream_ttfb_ms` より長く待つリクエストはその upstream をあきらめ、後の upstream がそれを処理しない場合は 502 を生成します。ログは `client requests are open` を含む警告を表示します。 | レプリカを追加するか、各レプリカの制限を上げてください。[同時 upstream リクエスト](#concurrent-upstream-requests)を参照してください。 |

310| IdP エラー: unknown or unsupported scope | IdP が認識しないスコープを拒否する | `oidc.scopes` を IdP が受け入れるリストに正確に設定してください。`openid` を含める必要があります。デフォルトは `openid profile email offline_access` です。 |381| IdP エラー: unknown or unsupported scope | IdP が認識しないスコープを拒否する | `oidc.scopes` を IdP が受け入れるリストに正確に設定してください。`openid` を含める必要があります。デフォルトは `openid profile email offline_access` です。 |

311| `oidc.scopes` を設定した後、セッションが自動的に更新されない | `offline_access` がオーバーライドから削除された | IdP がサポートしている場合は `offline_access` を戻してください。リフレッシュトークンがない場合、開発者は `session.ttl_hours` ごとにブラウザログインを再実行します。 |382| `oidc.scopes` を設定した後、セッションが自動的に更新されない | `offline_access` がオーバーライドから削除された | IdP がサポートしている場合は `offline_access` を戻してください。リフレッシュトークンがない場合、開発者は `session.ttl_hours` ごとにブラウザログインを再実行します。 |

312| ブラウザが「This request came from another site and was blocked」を表示する | クロスサイトフォーム POST。CSRF 保護としてブロックされました。埋め込みまたはプロキシされたページでは予想されます | 検証リンクを直接開いてください |383| ブラウザが「This request came from another site and was blocked」を表示する | クロスサイトフォーム POST。CSRF 保護としてブロックされました。埋め込みまたはプロキシされたページでは予想されます | 検証リンクを直接開いてください |

Details

503| Bedrock リクエストが `403 AccessDeniedException` を返す | アカウントが Anthropic のワンタイム使用ケースフォームを送信していない、アカウントの最初の呼び出しで開始される自動 AWS Marketplace サブスクリプションがまだ完了していない、またはタスクロールのポリシーに推論プロファイルまたは基盤モデル ARN が不足している | Bedrock コンソールのモデルカタログから使用ケースフォームを送信してください。フォームが送信されたばかりの場合、またはこれがアカウントの最初の呼び出しの場合は、数分後に再試行してください。`bedrock:InvokeModel` と `bedrock:InvokeModelWithResponseStream` を両方の ARN ファミリーに付与してください。 |503| Bedrock リクエストが `403 AccessDeniedException` を返す | アカウントが Anthropic のワンタイム使用ケースフォームを送信していない、アカウントの最初の呼び出しで開始される自動 AWS Marketplace サブスクリプションがまだ完了していない、またはタスクロールのポリシーに推論プロファイルまたは基盤モデル ARN が不足している | Bedrock コンソールのモデルカタログから使用ケースフォームを送信してください。フォームが送信されたばかりの場合、またはこれがアカウントの最初の呼び出しの場合は、数分後に再試行してください。`bedrock:InvokeModel` と `bedrock:InvokeModelWithResponseStream` を両方の ARN ファミリーに付与してください。 |

504| Bedrock がオンデマンドスループットがサポートされていないと言う `ValidationException` を返す | カスタム `models:` エントリが、リージョンが推論プロファイルを通じてのみ提供する基盤モデル ID にマップされている | モデルをクロスリージョン推論プロファイル ID(`us.anthropic.*`)にマップしてください。組み込みカタログはすでにこれを行っています |504| Bedrock がオンデマンドスループットがサポートされていないと言う `ValidationException` を返す | カスタム `models:` エントリが、リージョンが推論プロファイルを通じてのみ提供する基盤モデル ID にマップされている | モデルをクロスリージョン推論プロファイル ID(`us.anthropic.*`)にマップしてください。組み込みカタログはすでにこれを行っています |

505| ECS タスクがゲートウェイがログに何も出力する前に `ResourceInitializationError` で停止する | 実行ロールが Secrets Manager シークレットを読み取ることができない、またはプライベートサブネットが Secrets Manager または ECR へのパスを持たない | 実行ロールに 3 つの `gateway-` シークレット ARN に対する `secretsmanager:GetSecretValue` を付与し、NAT ゲートウェイ経由でエグレスを提供するか、NAT ゲートウェイなしで Secrets Manager、ECR、CloudWatch Logs のインターフェースエンドポイント(`awslogs` ドライバーが同じステージで必要とする)と S3 ゲートウェイエンドポイントを提供してください |505| ECS タスクがゲートウェイがログに何も出力する前に `ResourceInitializationError` で停止する | 実行ロールが Secrets Manager シークレットを読み取ることができない、またはプライベートサブネットが Secrets Manager または ECR へのパスを持たない | 実行ロールに 3 つの `gateway-` シークレット ARN に対する `secretsmanager:GetSecretValue` を付与し、NAT ゲートウェイ経由でエグレスを提供するか、NAT ゲートウェイなしで Secrets Manager、ECR、CloudWatch Logs のインターフェースエンドポイント(`awslogs` ドライバーが同じステージで必要とする)と S3 ゲートウェイエンドポイントを提供してください |

506| ゲートウェイブートが Postgres 接続タイムアウトエラーで終了する | データベースセキュリティグループがゲートウェイのセキュリティグループを 5432 で許可していない、またはサービスがデータベースの VPC 外で実行されている。ストアは 5 秒後に待機を停止します | データベースのセキュリティグループでゲートウェイのセキュリティグループから 5432 を許可し、サービスを DB サブネットグループと同じ VPC で実行してください |506| ゲートウェイブートが Postgres 接続タイムアウトエラーで終了する | データベースセキュリティグループがゲートウェイのセキュリティグループを 5432 で許可していない、またはサービスがデータベースの VPC 外で実行されている | データベースのセキュリティグループでゲートウェイのセキュリティグループから 5432 を許可し、サービスを DB サブネットグループと同じ VPC で実行してください |

507| ゲートウェイブートが Postgres TLS 証明書検証エラーで終了する | 接続文字列が `sslmode=verify-full` を設定しているが、イメージが RDS CA バンドルを信頼していない。バンドルがイメージにコピーされていない、または `NODE_EXTRA_CA_CERTS` がそれを指していない | ビルドステップの 2 つの Dockerfile 行を追加してバンドルをコピーし、`NODE_EXTRA_CA_CERTS` を設定してから、リビルドして新しいタグで プッシュし、再デプロイしてください |507| ゲートウェイブートが Postgres TLS 証明書検証エラーで終了する | 接続文字列が `sslmode=verify-full` を設定しているが、イメージが RDS CA バンドルを信頼していない。バンドルがイメージにコピーされていない、または `NODE_EXTRA_CA_CERTS` がそれを指していない | ビルドステップの 2 つの Dockerfile 行を追加してバンドルをコピーし、`NODE_EXTRA_CA_CERTS` を設定してから、リビルドして新しいタグで プッシュし、再デプロイしてください |

508| ストリーミング応答が静止期間後にストリーム途中でドロップする | v2.1.229 より前のゲートウェイが Bedrock または AWS 上の Claude Platform 上流で、上流が静止している間(例えば、ストリーム出力のない拡張思考中)は何も送信しません。ALB はデフォルトで 60 秒間データがない場合に接続を閉じるため、そのギャップでストリームを切断します。v2.1.229 以降のゲートウェイはそのタイムアウト下で静止したストリームを保持します。これらの上流では、ゲートウェイはストリームデータがない状態で約 15 秒経過すると SSE `ping` イベントを 1 回発行し、Anthropic API 上流ではゲートウェイは API 自体のピングをリレーします | ゲートウェイを v2.1.229 以降に更新するか、`idle_timeout.timeout_seconds` 属性を `3600` に設定してください。`modify-load-balancer-attributes` または EKS の `load-balancer-attributes` Ingress アノテーション経由で設定します |508| ストリーミング応答が静止期間後にストリーム途中でドロップする | v2.1.229 より前のゲートウェイが Bedrock または AWS 上の Claude Platform 上流で、上流が静止している間(例えば、ストリーム出力のない拡張思考中)は何も送信しません。ALB はデフォルトで 60 秒間データがない場合に接続を閉じるため、そのギャップでストリームを切断します。v2.1.229 以降のゲートウェイはそのタイムアウト下で静止したストリームを保持します。これらの上流では、ゲートウェイはストリームデータがない状態で約 15 秒経過すると SSE `ping` イベントを 1 回発行し、Anthropic API 上流ではゲートウェイは API 自体のピングをリレーします | ゲートウェイを v2.1.229 以降に更新するか、`idle_timeout.timeout_seconds` 属性を `3600` に設定してください。`modify-load-balancer-attributes` または EKS の `load-balancer-attributes` Ingress アノテーション経由で設定します |

509 509 

Details

318| Cloud Run がコンテナに到達する前に `403 Forbidden` を返す | invoker IAM チェックがまだ有効 | `--no-invoker-iam-check` でデプロイするか、`--allow-unauthenticated` で `allUsers` に `run.invoker` ロールを付与します |318| Cloud Run がコンテナに到達する前に `403 Forbidden` を返す | invoker IAM チェックがまだ有効 | `--no-invoker-iam-check` でデプロイするか、`--allow-unauthenticated` で `allUsers` に `run.invoker` ロールを付与します |

319| `--no-invoker-iam-check` が `invoker_iam_disabled is not currently available` で拒否される | `constraints/run.managed.requireInvokerIam` でブロック | `--allow-unauthenticated` を使用します。`constraints/iam.allowedPolicyMemberDomains` 経由の Domain Restricted Sharing もそれをブロックする場合は、GKE トラックを使用します。これはネットワークレイヤーでゲートウェイを公開し、`allUsers` バインディングはありません。 |319| `--no-invoker-iam-check` が `invoker_iam_disabled is not currently available` で拒否される | `constraints/run.managed.requireInvokerIam` でブロック | `--allow-unauthenticated` を使用します。`constraints/iam.allowedPolicyMemberDomains` 経由の Domain Restricted Sharing もそれをブロックする場合は、GKE トラックを使用します。これはネットワークレイヤーでゲートウェイを公開し、`allUsers` バインディングはありません。 |

320| デプロイ時に `Container manifest type … must support amd64/linux` | イメージが非 amd64 ホストでビルドされたか、buildx が OCI イメージインデックスを発行した | `--platform=linux/amd64 --provenance=false` でビルドします |320| デプロイ時に `Container manifest type … must support amd64/linux` | イメージが非 amd64 ホストでビルドされたか、buildx が OCI イメージインデックスを発行した | `--platform=linux/amd64 --provenance=false` でビルドします |

321| ゲートウェイブートが Cloud Run で Postgres 接続タイムアウトエラーで終了 | Service が VPC にアタッチされていないか、Cloud SQL がその VPC にプライベート IP がない。ストアは 5 秒後に待機を停止します | Direct VPC egress 用に `--network` および `--subnet` でデプロイし、Cloud SQL インスタンスを `--no-assign-ip` および `--network` で同じ VPC を指すように作成します |321| ゲートウェイブートが Cloud Run で Postgres 接続タイムアウトエラーで終了 | Service が VPC にアタッチされていないか、Cloud SQL がその VPC にプライベート IP がない | Direct VPC egress 用に `--network` および `--subnet` でデプロイし、Cloud SQL インスタンスを `--no-assign-ip` および `--network` で同じ VPC を指すように作成します |

322| Agent Platform リクエストが `403 PERMISSION_DENIED` を返す | ランタイムが `claude-gateway` service account を使用していないか、モデルが Model Garden でプロジェクト用に有効になっていない | Cloud Run で `--service-account` を設定するか、GKE で Workload Identity をバインドし、各 Claude モデルを Model Garden でターゲット地域用に有効にします |322| Agent Platform リクエストが `403 PERMISSION_DENIED` を返す | ランタイムが `claude-gateway` service account を使用していないか、モデルが Model Garden でプロジェクト用に有効になっていない | Cloud Run で `--service-account` を設定するか、GKE で Workload Identity をバインドし、各 Claude モデルを Model Garden でターゲット地域用に有効にします |

323| ストリーミング応答が固定期間後に切断される | フロントエンドリクエストタイムアウト:GKE Ingress の背後のロードバランサーバックエンドサービスはデフォルトで 30 秒、Cloud Run は 300 秒 | GKE で `timeoutSec` を上げた BackendConfig をアタッチするか、Cloud Run で `--timeout=3600` でデプロイします |323| ストリーミング応答が固定期間後に切断される | フロントエンドリクエストタイムアウト:GKE Ingress の背後のロードバランサーバックエンドサービスはデフォルトで 30 秒、Cloud Run は 300 秒 | GKE で `timeoutSec` を上げた BackendConfig をアタッチするか、Cloud Run で `--timeout=3600` でデプロイします |

324 324 

Details

48 48 

49<Steps>49<Steps>

50 <Step title="環境セレクターを開く">50 <Step title="環境セレクターを開く">

51 [claude.ai/code](https://claude.ai/code) で、メッセージボックスの上の行にある現在の環境名を表示するクラウドアイコンを選択します。セレクターの設定ページまたは直接 URL はありません。51 [claude.ai/code](https://claude.ai/code) で、メッセージボックスの上の行にある現在の環境名を表示するクラウドアイコンを選択します。セレクターの設定ページや直接 URL はありません。

52 52 

53 <Frame>53 <Frame>

54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="claude.ai/code のメッセージボックスの上に開いた環境セレクター。環境名 Default を表示するクラウドボタンがメッセージボックスの上の行に位置します。開いたメニューには、Download と Desktop only ラベルを持つ Local 行、Default 環境がチェックマークで選択され、ホバー時に設定ギアアイコンを表示する Cloud セクション、Add cloud environment オプション、セットアップ手順を含む Remote Control セクションが表示されます。" width="1672" height="682" data-path="images/cloud-environment-selector.png" />54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="claude.ai/code のメッセージボックスの上に開いた環境セレクター。環境名 Default を表示するクラウドボタンがメッセージボックスの上の行にあります。開いたメニューには、Download と Desktop only ラベルを持つ Local 行、Default 環境がチェックマークで選択され、ホバー時に設定ギアアイコンを表示する Cloud セクション、クラウド環境を追加オプション、セットアップ手順を含む Remote Control セクションが表示されます。" width="1672" height="682" data-path="images/cloud-environment-selector.png" />

55 </Frame>55 </Frame>

56 </Step>56 </Step>

57 57 

58 <Step title="環境を追加または編集する">58 <Step title="環境を追加または編集する">

59 **Add cloud environment** を選択するか、既存の環境にホバーして右側に表示される設定アイコンを選択します。ダイアログには名前、ネットワークアクセスレベル、環境変数、セットアップスクリプトが含まれます。Pro または Max プランで既存のクラウド環境を編集する場合、ダイアログには [API 認証情報](#add-api-credentials) も含まれます。59 **クラウド環境を追加** を選択するか、既存の環境にホバーして右に表示される設定アイコンを選択します。ダイアログには名前、ネットワークアクセスレベル、環境変数、セットアップスクリプトが含まれます。Pro または Max プランで既存のクラウド環境を編集する場合、ダイアログには [API 認証情報](#add-api-credentials) も含まれます。

60 60 

61 <Frame>61 <Frame>

62 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="New cloud environment ダイアログ。プレースホルダー Default を持つ Name フィールド、Trusted に設定されたネットワークアクセスセレクター(ネットワークポリシーとアクセスレベルへのリンク付き)、.env 形式のプレースホルダーテキストを表示する Environment variables ボックス(値は環境を使用する誰もが見ることができるという注記付き)、新しいセッション開始時に Claude Code が起動する前に実行される Bash スクリプトとして説明される Setup script ボックス、および Cancel と Create environment ボタン。" width="874" height="1372" data-path="images/cloud-environment-dialog.png" />62 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="新しいクラウド環境ダイアログ。プレースホルダー Default を持つ Name フィールド、ネットワークアクセスセレクターが Trusted に設定され、ネットワークポリシーとアクセスレベルへのリンク、.env 形式プレースホルダーテキストを表示する環境変数ボックス(環境を使用する誰もが値を見ることができるという注記付き)、新しいセッションが開始され Claude Code が起動する前に実行される Bash スクリプトとして説明されるセットアップスクリプトボックス、キャンセルと環境を作成ボタン。" width="874" height="1372" data-path="images/cloud-environment-dialog.png" />

63 </Frame>63 </Frame>

64 </Step>64 </Step>

65</Steps>65</Steps>


70 70 

71環境変数は `.env` 形式を使用し、1 行に 1 つの `KEY=value` ペアです。プレーン値は引用符が不要で、一致するペアで値を引用符で囲む場合、引用符は値の一部にはなりません。複数行にまたがる値または `#` を含む値を引用符で囲みます。引用符なしの値では、`#` はコメントを開始し、行の残りは削除されます。71環境変数は `.env` 形式を使用し、1 行に 1 つの `KEY=value` ペアです。プレーン値は引用符が不要で、一致するペアで値を引用符で囲む場合、引用符は値の一部にはなりません。複数行にまたがる値または `#` を含む値を引用符で囲みます。引用符なしの値では、`#` はコメントを開始し、行の残りは削除されます。

72 72 

73次の例は 3 つの変数を定義します。73次の例は 3 つの変数を定義しています。

74 74 

75```text theme={null}75```text theme={null}

76NODE_ENV=development76NODE_ENV=development


78DATABASE_URL=postgres://localhost:5432/myapp78DATABASE_URL=postgres://localhost:5432/myapp

79```79```

80 80 

81各セッションは起動時に環境の値を 1 回コピーして、Claude が実行するコマンドが読み取ることができる通常の環境変数にします。実行中のセッションは設定を再度読み込まないため、変数の編集または追加は、その後に開始するセッションに影響します。既に実行中のセッションは、開始時の値を保持します。81各セッションは起動時に環境の値を 1 回コピーして、Claude が実行するコマンドが読み取ることができる通常の環境変数にします。実行中のセッションは設定を再度読み取らないため、変数を編集または追加すると、その後に開始するセッションに影響します。既に実行中のセッションは開始時の値を保持します。

82 82 

83クラウドセッションは、セッション開始時に自身でいくつかの変数も設定します。[`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ja/claude-code-on-the-web#manage-context) の場合、セッションが設定する値は、ここで追加する値をオーバーライドするため、ここでこのキーを追加しても効果がありません。83クラウドセッションは起動時に自身でいくつかの変数も設定します。[`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ja/claude-code-on-the-web#manage-context) の場合、セッションが設定する値はここで追加した値をオーバーライドするため、ここでそのキーを追加しても効果がありません。

84 84 

85環境を使用する誰もが値を読み取ることができます。Pro および Max プランでは、エージェントプロキシがリクエストに添付できるキーについて、代わりに [API 認証情報](#add-api-credentials) を使用してください。[認証情報を取得しないリクエスト](#requests-that-never-get-the-credential) はそこにリストされています。85環境を使用する誰もが値を読み取ることができます。Pro および Max プランでは、エージェントプロキシがリクエストに添付できるキーに対して [API 認証情報](#add-api-credentials) を代わりに使用してください。[認証情報を取得しないリクエスト](#requests-that-never-get-the-credential) はそこにリストされています。

86 86 

87<h3 id="add-api-credentials">87<h3 id="add-api-credentials">

88 API 認証情報を追加する88 API 認証情報を追加する

89</h3>89</h3>

90 90 

91API 認証情報は、クラウド環境に保存する API キーまたはトークンで、Claude が環境内の任意のセッションからそのキーを見ることなく API を呼び出すことができます。Anthropic のエージェントプロキシは、リストしたホストへのリクエストにキーを追加します。各リクエストがセッションの VM を離れた後です。キーは Claude、実行するコマンド、またはセッションの環境変数に到達しません。91API 認証情報は、クラウド環境に保存する API キーまたはトークンで、Claude が環境内の任意のセッションからそのキーを見ることなく API を呼び出すことができます。Anthropic のエージェントプロキシは、セッションの VM を離れた後、リストしたホストへのリクエストにキーを追加します。キーは Claude、実行するコマンド、またはセッションの環境変数に到達しません。

92 92 

93API 認証情報は Pro および Max プランで利用可能です。Team および Enterprise プランではまだ利用できないため、**API credentials** セクションはこれらのプランの環境ダイアログに表示されません。93API 認証情報は Pro および Max プランで利用可能です。Team および Enterprise プランではまだ利用できないため、**API 認証情報** セクションはこれらのプランの環境ダイアログに表示されません。

94 94 

95<h4 id="requirements">95<h4 id="requirements">

96 要件96 要件


98 98 

99これらのうち 2 つは認証情報を追加できるかどうかを決定し、2 つは追加後にエージェントプロキシがそれを使用できるかどうかを決定します。99これらのうち 2 つは認証情報を追加できるかどうかを決定し、2 つは追加後にエージェントプロキシがそれを使用できるかどうかを決定します。

100 100 

101* **Role**: claude.ai 組織の組織管理者ロール101* **ロール**: claude.ai 組織内の組織管理者ロール

102 * Team および Enterprise では、Owner がこれを保持し、Admin は保持しません102 * Team および Enterprise では、Owner がそれを保持し、Admin は保持しません

103 * Pro および Max では、独自の組織でこれを保持します103 * Pro および Max では、独自の組織でそれを保持します

104 * これがない場合、独自の環境でも認証情報リストの代わりにメモが表示されます。Owner に共有環境に認証情報を追加してそこでセッションを実行するよう依頼してください104 * それがない場合、自分の環境でも認証情報リストの代わりにメモが表示されます。Owner に共有環境に認証情報を追加してそこでセッションを実行するよう依頼してください

105* **Environment type**: 既に存在する Anthropic ホスト型クラウド環境。[self-hosted environment](/docs/ja/self-hosted-environments) には API 認証情報がありません105* **環境タイプ**: 既に存在する Anthropic ホスト型クラウド環境。[自己ホスト型環境](/docs/ja/self-hosted-environments) には API 認証情報がありません

106* **API reachability**: API がインターネットからの接続を受け入れます。リクエストは Anthropic のネットワークから離れるためです106* **API 到達可能性**: API がインターネットからの接続を受け入れます。リクエストは Anthropic のネットワークから離れるためです

107* **Encryption keys**: 組織がカスタマー管理暗号化キーを使用する場合、認証情報を保存できません107* **暗号化キー**: 組織がカスタマー管理暗号化キーを使用する場合、認証情報を保存できません

108 108 

109<h4 id="add-a-credential">109<h4 id="add-a-credential">

110 認証情報を追加する110 認証情報を追加する


114 114 

115<Steps>115<Steps>

116 <Step title="環境の API 認証情報を開く">116 <Step title="環境の API 認証情報を開く">

117 [claude.ai/code](https://claude.ai/code) で [環境を編集用に開きます](#configure-your-environment)。**Update cloud environment** ダイアログで、**Environment variables** の下の **API credentials** を見つけます。環境に既にある認証情報が表示され、それぞれが適用されるホストが表示されます。117 [claude.ai/code](https://claude.ai/code) で [環境を編集用に開きます](#configure-your-environment)。**クラウド環境を更新** ダイアログで、**環境変数** の下の **API 認証情報** を見つけます。環境に既にある認証情報が表示され、それぞれが適用されるホストが表示されます。

118 </Step>118 </Step>

119 119 

120 <Step title="認証情報を追加する">120 <Step title="認証情報を追加する">

121 **Add credential** を選択してフォームに入力します。リクエストヘッダーで移動する API キーについてはデフォルトの **Credential type**、**Bearer** を保持し、これらのフィールドに入力します。121 **認証情報を追加** を選択してフォームに入力します。API キーがリクエストヘッダーで移動する場合はデフォルトの **認証情報タイプ**、**Bearer** を保持し、これらのフィールドに入力します。

122 122 

123 * **Name**: `Internal billing API` などの認証情報のラベル123 * **名前**: `Internal billing API` などの認証情報のラベル

124 * **Allowed websites**: `api.example.com` などの API のホスト。先頭の `*.` はすべてのサブドメインに一致します124 * **許可されたウェブサイト**: `api.example.com` などの API のホスト。先頭の `*.` はすべてのサブドメインと一致します

125 * **Custom headers**: キーを運ぶヘッダーの 1 行。行は `Authorization` をヘッダーの **Name** として、`Bearer` を **Prefix** として開始します。キー自体を **Value** として貼り付けます。`X-Api-Key` のようなベア値を取るヘッダーの場合、名前を変更してプレフィックスをクリアします125 * **カスタムヘッダー**: キーを運ぶヘッダーの 1 行。行は `Authorization` をヘッダーの **名前** として、`Bearer` を **プレフィックス** として開始します。キー自体を **値** として貼り付けます。`X-Api-Key` のようなベア値を取得するヘッダーの場合、名前を変更してプレフィックスをクリアします

126 126 

127 別の方法で認証する API の場合、別の **Credential type** を選択します。リストは [Claude Tag](https://claude.com/docs/claude-tag/overview)(Team および Enterprise プランの Slack 統合)が [connections](https://claude.com/docs/claude-tag/admins/add-connections) に提供するものと同じです。127 別の方法で認証する API の場合、別の **認証情報タイプ** を選択します。リストは [Claude Tag](https://claude.com/docs/claude-tag/overview)(Team および Enterprise プランの Slack 統合)が [接続](https://claude.com/docs/claude-tag/admins/add-connections) に提供するものと同じです。

128 </Step>128 </Step>

129 129 

130 <Step title="認証情報を保存する">130 <Step title="認証情報を保存する">

131 **Connect** を選択します。認証情報はリストにホストと共に表示され、ダイアログの **Save changes** ボタンなしで保存されます。保存後に値を再度表示することはできません。131 **接続** を選択します。認証情報はリストにホストと共に表示され、ダイアログの **変更を保存** ボタンなしで保存されます。保存後に値を再度表示することはできません。

132 </Step>132 </Step>

133</Steps>133</Steps>

134 134 

135認証情報が機能することを確認するには、環境でセッションを開始して、Claude に API を呼び出すよう依頼します。例えば `curl` を使用します。API はキーがリクエストにあるかのように応答し、キーはセッションの環境変数またはファイルに表示されません。リストが認証情報を **Not sent** としてマークする場合、その下のメモは理由と対処方法を説明します。ホストが正確に一致せずに重複する 2 つの認証情報はマーカーを取得せず、エージェントプロキシはそのうちの 1 つだけを送信します。135認証情報が機能することを確認するには、環境でセッションを開始して Claude に API を呼び出すよう依頼します。例えば `curl` を使用します。API はキーがリクエストにあるかのように応答し、キーはセッションの環境変数またはファイルに表示されません。リストが認証情報を **送信されていません** とマークしている場合、その下のメモは理由と対処方法を説明しています。ホストが正確に一致せずに重複する 2 つの認証情報はマーカーを取得せず、エージェントプロキシはそのうちの 1 つだけを送信します。

136 136 

137<h4 id="which-requests-get-the-credential">137<h4 id="which-requests-get-the-credential">

138 どのリクエストが認証情報を取得するか138 どのリクエストが認証情報を取得するか

139</h4>139</h4>

140 140 

141エージェントプロキシは、リクエストのホストがその認証情報にリストしたものと一致する場合、リクエストに認証情報を添付します。セッションは、環境の [network access level](#access-levels) がそれ以外の場合は許可しないホストに到達できます。ただし、[認証情報を取得しないホスト](#requests-that-never-get-the-credential) は除きます。認証情報は、削除するまで、それを開始した人に関係なく、環境で実行されるすべてのセッションに適用されます。141エージェントプロキシは、リクエストのホストがその認証情報にリストしたものと一致する場合、認証情報をリクエストに添付します。セッションは、環境の [ネットワークアクセスレベル](#access-levels) がそれ以外の場合は許可しない場合でも、[認証情報を取得しないホスト](#requests-that-never-get-the-credential) を除いて、これらのホストに到達できます。認証情報は、削除するまで、それを開始した人に関係なく、環境で実行されるすべてのセッションに適用されます。

142 142 

143<h4 id="requests-that-never-get-the-credential">143<h4 id="requests-that-never-get-the-credential">

144 認証情報を取得しないリクエスト144 認証情報を取得しないリクエスト

145</h4>145</h4>

146 146 

147エージェントプロキシは、これらのリクエストに追加する認証情報を決してアタッチしません。147エージェントプロキシは、追加した認証情報をこれらのリクエストに添付しません。

148 148 

149* **GitHub**: [GitHub proxy](#github-proxy) は代わりに GitHub へのリクエストを認証するため、GitHub の API 認証情報は不要です149* **GitHub**: [GitHub プロキシ](#github-proxy) は代わりに GitHub へのリクエストを認証するため、GitHub に対して API 認証情報は不要です

150* **Anthropic API およびパブリックパッケージレジストリ**: `api.anthropic.com`、`registry.npmjs.org`、`jsr.io`、`npm.jsr.io`、`pypi.org`、`files.pythonhosted.org`、`index.crates.io`、および `proxy.golang.org`150* **Anthropic API およびパブリックパッケージレジストリ**: `api.anthropic.com`、`registry.npmjs.org`、`jsr.io`、`npm.jsr.io`、`pypi.org`、`files.pythonhosted.org`、`index.crates.io`、および `proxy.golang.org`

151* **Setup script requests**: Claude Code は [setup script](#setup-scripts) が実行された後、起動時にエージェントプロキシに接続します151* **セットアップスクリプトリクエスト**: Claude Code は [セットアップスクリプト](#setup-scripts) が実行された後、起動時にエージェントプロキシに接続します

152 152 

153<h3 id="select-an-environment-from-the-cli">153<h3 id="select-an-environment-from-the-cli">

154 CLI から環境を選択する154 CLI から環境を選択する

155</h3>155</h3>

156 156 

157ターミナルで `/remote-env` を実行して、[`claude --cloud`](/docs/ja/claude-code-on-the-web#from-terminal-to-cloud) などの CLI から作成するクラウドセッションのデフォルト環境を選択します。コマンドは既存の環境のピッカーを開き、選択を [user settings](/docs/ja/settings#where-settings-live) の `remote.defaultEnvironmentId` キーに保存するため、設定を変更するまで、マシン上のすべてのプロジェクトで適用されます。ただし、リポジトリのプロジェクト設定などの高い優先度の [settings layer](/docs/ja/settings#settings-precedence) で同じキーが設定されている場合を除きます。157ターミナルで `/remote-env` を実行して、[`claude --cloud`](/docs/ja/claude-code-on-the-web#from-terminal-to-cloud) などの CLI から作成するクラウドセッションのデフォルト環境を選択します。コマンドは既存の環境のピッカーを開き、選択を [ユーザー設定](/docs/ja/settings#where-settings-live) の `remote.defaultEnvironmentId` キーに保存するため、マシン上のすべてのプロジェクトに適用されます。同じキーが [設定レイヤー](/docs/ja/settings#settings-precedence) の高い優先度で設定されている場合(リポジトリのプロジェクト設定など)を除きます。

158 158 

159[self-hosted environment](/docs/ja/self-hosted-environments) ID(`ccpool_...` の形式)は、より厳密なソースルールに従います。Claude Code がそれを受け入れる設定レイヤーについては、[`remote.defaultEnvironmentId`](/docs/ja/settings-reference#remote-defaultenvironmentid) を参照してください。159[自己ホスト型環境](/docs/ja/self-hosted-environments) ID(`ccpool_...` の形式)は、より厳密なソースルールに従います。Claude Code がそれを受け入れる設定レイヤーについては、[`remote.defaultEnvironmentId`](/docs/ja/settings-reference#remote-defaultenvironmentid) を参照してください。

160 160 

161`/remote-env` はデフォルトのみを設定します。セッションを開始せず、環境を追加または編集することはできません。[environment selector](#configure-your-environment) から管理します。161`/remote-env` はデフォルトのみを設定します。セッションを開始せず、環境を追加または編集することはできません。[環境セレクター](#configure-your-environment) から管理します。

162 162 

163<h3 id="archive-an-environment">163<h3 id="archive-an-environment">

164 環境をアーカイブする164 環境をアーカイブする

165</h3>165</h3>

166 166 

167環境をアーカイブするには、編集用に開いて **Archive** を選択します。環境を削除することはできず、アーカイブのみできます。167独自の環境の 1 つをアーカイブするには、編集用に開いて **アーカイブ** を選択します。Owner は管理設定の **クラウド環境** ページから [共有環境](#organization-shared-environments) をアーカイブします。環境を削除することはできず、アーカイブのみできます。

168 168 

169アーカイブは新しいセッションに影響し、実行中のセッションには影響しません。169アーカイブは新しいセッションに影響し、実行中のセッションには影響しません。

170 170 

171* 環境で既に実行中のセッションは引き続き機能します。171* 環境で既に実行中のセッションは引き続き機能します。

172* 環境はセレクターと `/remote-env` から消えるため、新しいセッションに選択できません。172* 環境はセレクターと `/remote-env` から消えるため、新しいセッション用に選択できません。

173* 環境の API 認証情報は実行中のセッションに添付されたままです。アーカイブする前に、不要になったものを削除してください。173* 環境の API 認証情報は実行中のセッションに添付されたままです。アーカイブする前に不要なものを削除してください。

174* アーカイブされた環境では、どのサーフェスでも新しいセッションを開始できません。環境が保存された [CLI default](#select-an-environment-from-the-cli) だった場合、リストに 1 つがある場合は Anthropic ホスト型環境で Claude Code が CLI クラウドセッションを開始し、そうでない場合は [Remote Control bridge environment](#the-default-environment) ではないリスト内の最初の環境で開始します。[routine](/docs/ja/routines#environments-and-network-access) など環境で明示的に設定されたものは、新しいセッションをそこで開始できません。別の環境を指してください。174* アーカイブされた環境では、どのサーフェスでも新しいセッションを開始できません。環境が保存された [CLI デフォルト](#select-an-environment-from-the-cli) だった場合、リストに 1 つがある場合は Claude Code は Anthropic ホスト型環境で CLI クラウドセッションを開始し、そうでない場合は [Remote Control ブリッジ環境](#the-default-environment) ではないリスト内の最初の環境で開始します。[ルーチン](/docs/ja/routines#environments-and-network-access) など環境で明示的に設定されたものは、新しいセッションをそこで開始できません。別の環境を指してください。

175 175 

176<h3 id="organization-shared-environments">176<h3 id="organization-shared-environments">

177 組織共有環境177 組織共有環境

178</h3>178</h3>

179 179 

180Team および Enterprise プランでは、Owner は組織のすべてのメンバーと共有されるクラウド環境を作成できます。同じロールは **Cloud environments** 管理ページで他のすべてを管理します。[self-hosted environments](/docs/ja/self-hosted-environments) を含みます。Admin ロールはページを開くことができません。それを開くことができるロールの完全なリストは、[managing server-managed settings](/docs/ja/server-managed-settings#access-control) のものです。共有環境は各メンバーの環境セレクターに個人的なものと一緒に表示されるため、チームは各メンバーが再作成する代わりに 1 つの設定で標準化できます。180Team および Enterprise プランでは、Owner は組織のすべてのメンバーと共有されるクラウド環境を作成できます。同じロールは **クラウド環境** 管理ページで他のすべてを管理します。[自己ホスト型環境](/docs/ja/self-hosted-environments) を含みます。Admin ロールはページを開くことができません。それを開くことができるロールの完全なリストは、[サーバー管理設定を管理する](/docs/ja/server-managed-settings#access-control) ためのものです。

181 181 

182[admin settings](https://claude.ai/admin-settings) の **Cloud environments** ページから共有環境を作成、編集、アーカイブします。共有環境は [claude.ai/code](https://claude.ai/code) の [environment selector](#configure-your-environment) からも開きます。Owner はそこで編集できます。他のメンバーは読み取り専用で表示します。各共有環境には名前、[network access level](#access-levels)、`.env` 形式の [environment variables](#set-environment-variables)、および [setup script](#setup-scripts) があります。Owner は [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で組織の [default environment](#the-default-environment) を別途選択します。182共有環境は各メンバーの [環境セレクター](#configure-your-environment) に **組織** 見出しの下に表示され、メンバー独自の環境の下に **個人** が表示されるため、チームは各メンバーが再作成する代わりに 1 つの設定で標準化できます。共有環境の設定アイコンを選択すると、すべてのメンバー(Owner を含む)の設定の読み取り専用サマリーが開きます。

183 183 

184すべてのメンバーのセッションは共有環境でその変数を読み取るため、シークレットを含めないでください。[API credentials](#add-api-credentials)(セッションに読み取ることができないキーを与える)は Team および Enterprise プランではまだ利用できません。184Owner は 2 つの方法のいずれかで環境を組織で利用可能にします。

185 

186* **共有環境を作成する**: [管理設定](https://claude.ai/admin-settings) の **クラウド環境** ページを使用します。これは Owner が共有環境を編集およびアーカイブする場所でもあります。各環境には名前、[ネットワークアクセスレベル](#access-levels)、`.env` 形式の [環境変数](#set-environment-variables)、および [セットアップスクリプト](#setup-scripts) があります。

187* **個人環境を共有する**: 環境セレクターで独自の環境の 1 つを編集用に開き、**それを使用できるユーザー** 行から共有します。環境はその ID を保持するため、既にそれを使用しているセッションとルーチンは影響を受けず、すべてのメンバーはそれを見てセッションを開始できます。

188 

189Owner は [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で組織の [デフォルト環境](#the-default-environment) を別途選択します。

190 

191すべてのメンバーのセッションは共有環境でその変数を読み取るため、シークレットを含めないでください。[API 認証情報](#add-api-credentials)(セッションが読み取ることができないキーを提供)は Team および Enterprise プランではまだ利用できません。

185 192 

186<h3 id="set-the-environment-a-claude-tag-channel-uses">193<h3 id="set-the-environment-a-claude-tag-channel-uses">

187 Claude Tag チャネルが使用する環境を設定する194 Claude Tag チャネルが使用する環境を設定する

188</h3>195</h3>

189 196 

190[Claude Tag](https://claude.com/docs/claude-tag/overview) チャネルでは、Claude は任意のメンバーではなく組織の共有アイデンティティとして機能するため、チャネルセッションは組織レベルの環境のみを使用します。共有環境または [self-hosted environments](/docs/ja/self-hosted-environments)。チャネルに [pre-installed](#installed-tools) ではないツールチェーン(.NET など)を与えるには、Owner は **Cloud environments** 管理ページから [shared environment](#organization-shared-environments) を作成し、[setup script](#setup-scripts) でそれをインストールできます。チャネルを環境に指す方法は 2 つあります。197[Claude Tag](https://claude.com/docs/claude-tag/overview) チャネルでは、Claude はメンバーではなく組織の共有アイデンティティとして機能するため、チャネルセッションは組織レベルの環境のみを使用します。共有環境または [自己ホスト型環境](/docs/ja/self-hosted-environments)。チャネルに .NET などの [事前インストール](#installed-tools) されていないツールチェーンを提供するには、Owner は **クラウド環境** 管理ページから [共有環境](#organization-shared-environments) を作成し、それをインストールする [セットアップスクリプト](#setup-scripts) を使用できます。チャネルを環境に指す 2 つの方法のいずれかで:

191 198 

192* 共有環境または self-hosted 環境を [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で組織の [default environment](#the-default-environment) として設定します。199* [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で共有環境または自己ホスト型環境を組織の [デフォルト環境](#the-default-environment) として設定します。

193* [Claude Tag 管理設定でチャネルに 1 つをピンします](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one)。200* Claude Tag 管理設定で [チャネルに 1 つをピンする](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one)。

194 201 

195<h2 id="network-access">202<h2 id="network-access">

196 ネットワークアクセス203 ネットワークアクセス


198 205 

199各環境は 1 つのネットワークアクセスレベルを設定し、セッションが行える送信接続を制御します。デフォルトレベルの **Trusted** はパッケージレジストリおよび他の [許可リストドメイン](#default-allowed-domains) を許可します。**Custom** は独自のドメインリストを取ります。206各環境は 1 つのネットワークアクセスレベルを設定し、セッションが行える送信接続を制御します。デフォルトレベルの **Trusted** はパッケージレジストリおよび他の [許可リストドメイン](#default-allowed-domains) を許可します。**Custom** は独自のドメインリストを取ります。

200 207 

201環境のネットワークアクセスを変更するには、[編集用に開いて](#configure-your-environment) ダイアログの **Network access** セレクタを使用します。セレクタを開くクラウドアイコンは、[Default 環境](#the-default-environment) の下にリストされたアプリサーフェスおよび [ルーチンエディタ](/docs/ja/routines#environments-and-network-access) に表示されます。個人環境は claude.ai アカウント設定に別のページを持ちません。208環境のネットワークアクセスを変更するには、[編集用に開いて](#configure-your-environment) ダイアログの **Network access** セレクタを使用します。[共有環境](#organization-shared-environments) は読み取り専用で開くため、Owner は [admin settings](https://claude.ai/admin-settings) の **Cloud environments** ページからそのネットワークアクセスを変更します。セレクタを開くクラウドアイコンは、[Default 環境](#the-default-environment) の下にリストされたアプリサーフェスおよび [ルーチンエディタ](/docs/ja/routines#environments-and-network-access) に表示されます。個人環境は claude.ai アカウント設定に別のページを持ちません。

202 209 

203<Note>210<Note>

204 セッションまたはルーチンで有効にする MCP コネクタは、コネクタホストを **Allowed domains** に追加しなくても機能します。コネクタトラフィックはセッションのネットワークではなく Anthropic のサーバーを通じて移動するためです。これは [セキュリティと分離](/docs/ja/claude-code-on-the-web#security-and-isolation) の下に記載されている同じ Anthropic バウンドチャネルに依存します。Claude が到達できるツールを制限するために不要なコネクタをオフにします。211 セッションまたはルーチンで有効にする MCP コネクタは、コネクタホストを **Allowed domains** に追加しなくても機能します。コネクタトラフィックはセッションのネットワークではなく Anthropic のサーバーを通じて移動するためです。これは [セキュリティと分離](/docs/ja/claude-code-on-the-web#security-and-isolation) の下に記載されている同じ Anthropic バウンドチャネルに依存します。Claude が到達できるツールを制限するために不要なコネクタをオフにします。

errors.md +2 −0

Details

1740 1740 

1741**対応方法:**1741**対応方法:**

1742 1742 

1743これらのステップは、お客様自身の環境の 1 つを変更します。[組織共有環境](/docs/ja/cloud-environments#organization-shared-environments) はセレクターで読み取り専用で開くため、[管理設定](https://claude.ai/admin-settings) の **Cloud environments** ページからオーナーにネットワークアクセスを変更するよう依頼してください。

1744 

1743* ルーチンを編集用に開くか、クラウドセッションを開始してください。**Default** などの環境の名前を示すクラウドアイコンを選択して、セレクターを開きます。環境の上にマウスを置き、設定アイコンをクリックしてください。1745* ルーチンを編集用に開くか、クラウドセッションを開始してください。**Default** などの環境の名前を示すクラウドアイコンを選択して、セレクターを開きます。環境の上にマウスを置き、設定アイコンをクリックしてください。

1744* **Update cloud environment** ダイアログで、**Network access** を **Trusted** から **Custom** に変更し、ブロックされたドメインを **Allowed domains** に追加してください。1 行に 1 つのドメインを入力してください。**Also include default list of common package managers** をチェックして、カスタムドメインと共に [デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains) を保持してください。無制限のアクセスが必要な場合は、代わりに **Full** を選択してください。1746* **Update cloud environment** ダイアログで、**Network access** を **Trusted** から **Custom** に変更し、ブロックされたドメインを **Allowed domains** に追加してください。1 行に 1 つのドメインを入力してください。**Also include default list of common package managers** をチェックして、カスタムドメインと共に [デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains) を保持してください。無制限のアクセスが必要な場合は、代わりに **Full** を選択してください。

1745* **Save changes** をクリックしてください。次の実行は更新された許可リストを使用します。1747* **Save changes** をクリックしてください。次の実行は更新された許可リストを使用します。

Details

328 328 

329v2.1.158 から v2.1.206 では、これらのプロバイダーで自動モードはオフでした。`CLAUDE_CODE_ENABLE_AUTO_MODE=1` を設定するまで、Claude Code はこれらのプロバイダーで `defaultMode: "auto"` を無視していました。変数は互換性のために依然として受け入れられ、v2.1.207 以降は効果がありません。329v2.1.158 から v2.1.206 では、これらのプロバイダーで自動モードはオフでした。`CLAUDE_CODE_ENABLE_AUTO_MODE=1` を設定するまで、Claude Code はこれらのプロバイダーで `defaultMode: "auto"` を無視していました。変数は互換性のために依然として受け入れられ、v2.1.207 以降は効果がありません。

330 330 

331<h4 id="server-side-classifier-review">331<h3 id="server-side-classifier-review">

332 サーバー側クラシファイアレビュー332 サーバー側クラシファイアレビュー

333</h4>333</h3>

334 

335Enterprise プランおよび Claude API を使用するアカウント、[AWS 上の Claude Platform](/docs/ja/claude-platform-on-aws)、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、および `ANTHROPIC_BASE_URL` を[LLM ゲートウェイまたはプロキシ](/docs/ja/llm-gateway)に指す場合、自動モードの Claude Code はサーバーに[クラシファイアに送信されるアクション](#how-the-classifier-evaluates-actions)をセッションのモデルリクエストの一部としてレビューするよう要求します。サーバーがそれらをレビューする場所では、その判定がこれらのアクションを決定します。レビューしない場所では、通常はゲートウェイまたはプロキシがトラフィックに干渉するため、プラットフォーム、リージョン、または認証情報がまだサーバー側チェックを持たないため、Claude Code は独自のクラシファイアリクエストにフォールバックします。そのフォールバックがセッションの残りの間保持されると、これらのリクエストが請求されるアカウントで[クラシファイアリクエスト料金に関する通知](/docs/ja/auto-mode-classifier-billing)を表示します。サーバーに質問することをスキップして、常に Claude Code 独自のクラシファイアリクエストを使用するには、[`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/ja/env-vars) を設定します。変数は Anthropic API への直接接続では読み取られません。`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` を設定し、`CLAUDE_CODE_AUTO_MODE_SERVER` を設定しないままにする場合、Claude Code もサーバーに質問することを停止します。

334 336 

335Amazon Bedrock、Google Cloud の Agent Platform、および Microsoft Foundry では、Claude Code はデフォルトで独自のクラシファイアリクエストで自動モードアクションをレビューします。プラットフォームのサーバー側クラシファイアが[クラシファイアに送信されるアクション](#how-the-classifier-evaluates-actions)をセッションのモデルリクエストの一部としてレビューするようにするには、[`CLAUDE_CODE_AUTO_MODE_SERVER=1`](/docs/ja/env-vars) を設定します。プラットフォームがクラシファイアを実行する場所では、その判定がこれらのアクションを決定します。実行しない場所では、Claude Code は独自のクラシファイアリクエストにフォールバックします。v2.1.271 と v2.1.272 では、プラットフォームに質問することがこれらのプロバイダーのデフォルトでした。337デフォルトでサーバーに質問することには Claude Code v2.1.278 以降が必要です。

336 338 

337<h3 id="what-the-classifier-blocks-by-default">339<h3 id="what-the-classifier-blocks-by-default">

338 クラシファイアがデフォルトでブロックするもの340 クラシファイアがデフォルトでブロックするもの


517 519 

518 セッションの最初の自動モードリクエストは Sonnet 5 デフォルトを検証します。リクエストが成功する場合、Sonnet 5 はセッションのクラシファイアモデルのままです。リクエストがモデルが利用できないため失敗する場合、セッションは代わりにフォールバックを使用します。その検証が解決した後、クラシファイアのモデルはセッション用に変更されません。520 セッションの最初の自動モードリクエストは Sonnet 5 デフォルトを検証します。リクエストが成功する場合、Sonnet 5 はセッションのクラシファイアモデルのままです。リクエストがモデルが利用できないため失敗する場合、セッションは代わりにフォールバックを使用します。その検証が解決した後、クラシファイアのモデルはセッション用に変更されません。

519 521 

520 Enterprise プランおよび Claude API を使用するアカウント、[AWS 上の Claude Platform](/docs/ja/claude-platform-on-aws)、Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では、クラシファイア呼び出しはトークン使用量にカウントされます。各チェックはトランスクリプトの一部と保留中のアクションを送信し、実行前にラウンドトリップを追加します。読み取りと保護されたパス外の作業ディレクトリ編集はクラシファイアをスキップするため、オーバーヘッドは主にシェルコマンドとネットワーク操作から来ます。Amazon Bedrock、Google Cloud の Agent Platform、および Microsoft Foundry では、レビューをセッションのモデルリクエストに移動できます。[サーバー側クラシファイアレビュー](#server-side-classifier-review)を参照してください。522 Enterprise プランおよび Claude API を使用するアカウント、[AWS 上の Claude Platform](/docs/ja/claude-platform-on-aws)、Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では、クラシファイア呼び出しはトークン使用量にカウントされます。各チェックはトランスクリプトの一部と保留中のアクションを送信し、実行前にラウンドトリップを追加します。読み取りと保護されたパス外の作業ディレクトリ編集はクラシファイアをスキップするため、オーバーヘッドは主にシェルコマンドとネットワーク操作から来ます。サーバーがアクションをレビューする場所では、セッションのモデルリクエストの一部として行われるため、カウントする別のクラシファイア呼び出しはありません。[サーバー側クラシファイアレビュー](#server-side-classifier-review)を参照してください。

521 523 

522 サンドボックス化されたネットワークアクセスは、コマンドごとのクラシファイアリクエストを追加しません。クラシファイアは[コマンドが名前を付けるホスト](/docs/ja/sandboxing#per-command-allowed-domains-in-auto-mode)をコマンドと一緒に判定し、Claude Code は承認されたリストに対して各接続をチェックします。クラシファイアを再度呼び出さずに。524 サンドボックス化されたネットワークアクセスは、コマンドごとのクラシファイアリクエストを追加しません。クラシファイアは[コマンドが名前を付けるホスト](/docs/ja/sandboxing#per-command-allowed-domains-in-auto-mode)をコマンドと一緒に判定し、Claude Code は承認されたリストに対して各接続をチェックします。クラシファイアを再度呼び出さずに。

523 </Accordion>525 </Accordion>

routines.md +44 −29

Details

45**ライブラリポート。** GitHub トリガーは `pull_request.closed` で実行され、1 つの SDK リポジトリのマージされた PR にフィルタリングされます。ルーティンは別の言語の並列 SDK に変更をポートし、マッチング PR を開き、人間が各変更を再実装することなく 2 つのライブラリを同期させます。45**ライブラリポート。** GitHub トリガーは `pull_request.closed` で実行され、1 つの SDK リポジトリのマージされた PR にフィルタリングされます。ルーティンは別の言語の並列 SDK に変更をポートし、マッチング PR を開き、人間が各変更を再実装することなく 2 つのライブラリを同期させます。

46 46 

47<h2 id="create-a-routine">47<h2 id="create-a-routine">

48 ルーティンを作成する48 ルーチンを作成する

49</h2>49</h2>

50 50 

51Web の [claude.ai/code/routines](https://claude.ai/code/routines)、Desktop アプリ、または CLI からルーティンを作成します。3 つのサーフェスすべてが同じクラウドアカウントに書き込むため、1 つで作成したルーティンは他のサーフェスに即座に表示されます。Desktop アプリの **Code** タブで、サイドバーの **Routines** をクリックするか、サイドバーの **More** メニューで **New routine** をクリックしてから、**Cloud** を選択します。代わりに **Local** を選択すると、[Desktop スケジュール済みタスク](/docs/ja/desktop-scheduled-tasks) が作成されます。これはクラウドではなくマシンで実行されます。51[claude.ai/code/routines](https://claude.ai/code/routines) のウェブから、Desktop アプリから、または CLI から、ルーチンを作成できます。3 つのサーフェスすべてが同じクラウドアカウントに書き込まれるため、1 つで作成したルーチンは他のサーフェスにすぐに表示されます。Desktop アプリの **Code** タブで、サイドバーまたはサイドバーの **More** メニューの **Routines** をクリックしてから **New routine** を選択し、**Cloud** を選択します。代わりに **Local** を選択すると、[Desktop scheduled task](/docs/ja/desktop-scheduled-tasks) が作成されます。これはクラウドではなくマシン上で実行されます。

52 52 

53作成フォームは、ルーティンのプロンプト、リポジトリ、環境、コネクタ、トリガーを設定します。53作成フォームは、ルーチンのプロンプト、リポジトリ、環境、コネクタ、およびトリガーを設定します。

54 54 

55ルーティンは完全な Claude Code クラウドセッションとして自律的に実行されます。権限モードピッカーはなく、実行中の承認プロンプトもありません。セッションはシェルコマンドを実行でき、クローンされたリポジトリにコミットされた [スキル](/docs/ja/skills) を使用でき、含めたすべてのコネクタを呼び出すことができます。ルーティンが到達できるものは、選択したリポジトリ、[環境](/docs/ja/cloud-environments) のネットワークアクセスと変数、および含めたコネクタによって決定されます。これらのそれぞれをルーティンが実際に必要とするものにスコープします。55ルーチンは完全な Claude Code クラウドセッションとして自律的に実行されます。権限モードピッカーはなく、セッションはシェルコマンドを実行し、クローンされたリポジトリにコミットされた [skills](/docs/ja/skills) を使用し、含めたコネクタを呼び出します。すべて承認を求めずに実行されます。ただし、一部の [artifact](/docs/ja/artifacts) アクションは除きます。

56 56 

57ルーティンは個別の claude.ai アカウントに属します。チームメイトと共有されず、アカウントの日次実行許容量に対してカウントされます。ルーティンが接続された GitHub ID またはコネクタを通じて行うことはすべて、あなたとして表示されます。コミットとプルリクエストは GitHub ユーザーを持ち、Slack メッセージ、Linear チケット、またはその他のコネクタアクションはそれらのサービスのリンクされたアカウントを使用します。57ルーチンが到達できる範囲は、選択したリポジトリ、[環境](/docs/ja/cloud-environments) のネットワークアクセスと変数、および含めたコネクタによって決定されます。これらのそれぞれをルーチンが実際に必要とするものにスコープします。

58 

59ルーチンのスケジュールまたは **Run now** が実行を開始するとき、Claude は以下のすべてが当てはまる場合にのみ、既存の artifact を再公開します。承認を求めません。

60 

61* artifact を編集でき、自分の組織に属している

62* artifact は公開共有されておらず、特定の人または組織と共有されていない。または、最新バージョンが閲覧者が見るバージョンとして選択されていない

63* 公開は、ページのみを含み、サポートファイルやその他のものは追加されず、新しいバージョンを強制的に上書きしない

64* ページは、[connector calls](/docs/ja/artifacts#pull-live-data-with-mcp-connectors) などのページを超えて到達する権限を保持していない

65 

66その他のすべての場合(新しい artifact を公開する場合を含む)、Claude は最初に確認します。ルーチンの仕事がページを最新に保つことである場合、既に公開した artifact を与えます。

67 

68ルーチンは個別の claude.ai アカウントに属します。チームメイトと共有されず、アカウントの日次実行許容量に対してカウントされます。ルーチンが接続された GitHub ID またはコネクタを通じて実行するすべてのことは、あなたとして表示されます。コミットとプルリクエストは GitHub ユーザーを含み、Slack メッセージ、Linear チケット、またはその他のコネクタアクションはこれらのサービスのリンクされたアカウントを使用します。

58 69 

59<h3 id="create-from-the-web">70<h3 id="create-from-the-web">

60 Web から作成する71 ウェブから作成する

61</h3>72</h3>

62 73 

63<Steps>74<Steps>


65 [claude.ai/code/routines](https://claude.ai/code/routines) にアクセスして、**New routine** をクリックします。76 [claude.ai/code/routines](https://claude.ai/code/routines) にアクセスして、**New routine** をクリックします。

66 </Step>77 </Step>

67 78 

68 <Step title="ルーティンに名前を付けてプロンプトを書く">79 <Step title="ルーチンに名前を付けてプロンプトを書く">

69 ルーティンに説明的な名前を付け、Claude が毎回実行するプロンプトを書きます。プロンプトが最も重要な部分です。ルーティンは自律的に実行されるため、プロンプトは自己完結型で、何をするか、成功がどのように見えるかについて明示的である必要があります。80 ルーチンに説明的な名前を付け、Claude が毎回実行するプロンプトを書きます。プロンプトが最も重要な部分です。ルーチンは自律的に実行されるため、プロンプトは自己完結型で、何をするか、成功がどのように見えるかについて明確である必要があります。

70 81 

71 トリガーが発火すると、セッションはルーティンの保存されたプロンプトを割り当てられたタスクとして受け取り、会話の途中に到着した信頼できないコンテンツとして扱うのではなく、それを実行します。トリガーは、プロンプトがあなたのアカウント上の認可されたセッションによって事前に保存されたことのみを証明するため、発火したプロンプトはライブユーザー入力ではなく、実行中のアクションの承認または同意として機能することはできません。セッションが実行中に取得するコンテンツは、通常の処理を保持します。v2.1.213 より前では、セッションは同じプロンプトを信頼できないバックグラウンド通知としてフレーム化して受け取り、それに対して行動することを拒否する可能性がありました。82 トリガーが発火すると、セッションはルーチンの保存されたプロンプトを割り当てられたタスクとして受け取り、それを実行します。会話の途中に到着した信頼できないコンテンツとして扱うのではなく。トリガーは、プロンプトがアカウント上の認可されたセッションによって事前に保存されたことのみを証明するため、発火したプロンプトはライブユーザー入力ではなく、実行中のアクションの承認または同意として機能することはできません。セッションが実行中に取得するコンテンツは、通常の処理を保持します。v2.1.213 より前では、セッションは同じプロンプトを信頼できないバックグラウンド通知としてフレーム化して受け取り、それに対して行動することを拒否する可能性がありました。

72 83 

73 プロンプト入力にはモデルセレクタが含まれます。Claude は毎回実行時に選択されたモデルを使用します。84 プロンプト入力にはモデルセレクタが含まれます。Claude は毎回実行時に選択されたモデルを使用します。

74 </Step>85 </Step>

75 86 

76 <Step title="リポジトリを選択する">87 <Step title="リポジトリを選択する">

77 Claude が作業する 1 つ以上の GitHub リポジトリを追加します。各リポジトリは実行の開始時にクローンされ、デフォルトブランチから開始されます。Claude は変更用に `claude/` プレフィックス付きブランチを作成します。88 Claude が作業するための 1 つ以上の GitHub リポジトリを追加します。各リポジトリは実行の開始時にクローンされ、デフォルトブランチから開始されます。Claude は変更用に `claude/` プレフィックス付きブランチを作成します。

78 </Step>89 </Step>

79 90 

80 <Step title="環境を選択する">91 <Step title="環境を選択する">

81 ルーティン用に [クラウド環境](/docs/ja/cloud-environments) を選択します。環境は、クラウドセッションがアクセスできるものを制御します。92 ルーチン用の [cloud environment](/docs/ja/cloud-environments) を選択します。環境は、クラウドセッションがアクセスできるものを制御します。

82 93 

83 * **ネットワークアクセス**: 各実行中に利用可能なインターネットアクセスのレベルを設定94 * **Network access**: 各実行中に利用可能なインターネットアクセスのレベルを設定します

84 * **環境変数**: Claude が実行中に使用できる値を提供します。これらは [環境を使用する誰にでも表示される](/docs/ja/cloud-environments#what-carries-over-from-your-setup) ため、Pro および Max プランでは、Claude が実行中に呼び出す API のキーを [API 認証情報](/docs/ja/cloud-environments#add-api-credentials) として保存します。そのセクションには、認証情報を取得しないリクエストもリストされています。95 * **Environment variables**: Claude が各実行中に使用できる値を提供します。これらは [環境を使用する誰もが見ることができます](/docs/ja/cloud-environments#what-carries-over-from-your-setup)。Pro および Max プランでは、Claude が実行中に呼び出す API のキーを [API credentials](/docs/ja/cloud-environments#add-api-credentials) として保存してください。そのセクションには、認証情報を取得しないリクエストもリストされています

85 * **セットアップスクリプト**: ルーティンが必要とする依存関係とツールをインストールします。結果は [キャッシュされ](/docs/ja/cloud-environments#environment-caching)、スクリプトはすべてのセッションで再実行されません。96 * **Setup script**: ルーチンが必要とする依存関係とツールをインストールします。結果は [cached](/docs/ja/cloud-environments#environment-caching) されるため、スクリプトはセッションごとに再実行されません

86 97 

87 **Default** 環境が提供されており、**Trusted** ネットワークアクセスがあります。これにより、[デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains) のパッケージレジストリ、クラウドプロバイダー API、コンテナレジストリ、および一般的な開発ドメインのみがセッションのネットワークを通じて許可されます。ルーティンに追加するコネクタは Anthropic のサーバーを通じてそれらのサービスに到達するため、許可リストの変更は必要ありません。ルーティンが独自のサービスまたはそのリストの外のドメインに直接到達する必要がある場合は、実行前に環境の [ネットワークアクセス](/docs/ja/cloud-environments#network-access) を編集します。別の環境を使用するには、[最初に 1 つを作成](/docs/ja/cloud-environments#configure-your-environment) します。98 **Default** 環境は **Trusted** ネットワークアクセスで提供されます。これにより、[default allowlist](/docs/ja/cloud-environments#default-allowed-domains) のパッケージレジストリ、クラウドプロバイダー API、コンテナレジストリ、および一般的な開発ドメインのみがセッションのネットワークを通じて許可されます。ルーチンに追加するコネクタは Anthropic のサーバーを通じてサービスに到達するため、許可リストの変更は必要ありません。ルーチンが独自のサービスに直接到達する必要がある場合、またはそのリスト外のドメインに到達する必要がある場合は、実行前に環境の [network access](/docs/ja/cloud-environments#network-access) を編集してください。別の環境を使用するには、最初に [create one](/docs/ja/cloud-environments#configure-your-environment) してください。

88 </Step>99 </Step>

89 100 

90 <Step title="トリガーを選択する">101 <Step title="トリガーを選択する">

91 **Select a trigger** で、ルーティンの開始方法を選択します。1 つのトリガータイプを選択することも、複数を組み合わせることもできます。102 **Select a trigger** で、ルーチンの開始方法を選択します。1 つのトリガータイプを選択するか、複数を組み合わせることができます。

92 103 

93 <Tabs>104 <Tabs>

94 <Tab title="Schedule">105 <Tab title="Schedule">

95 定期実行のプリセット周波数を選択するか、特定のタイムスタンプで 1 回限りの実行をスケジュールします。タイムゾーン処理、スタガー、カスタム cron 間隔、および 1 回限りの実行については、[スケジュールトリガーを追加](#add-a-schedule-trigger) を参照してください。106 定期実行のプリセット頻度を選択するか、特定のタイムスタンプで 1 回限りの実行をスケジュールします。タイムゾーン処理、スタッガー、カスタム cron 間隔、および 1 回限りの実行については、[Add a schedule trigger](#add-a-schedule-trigger) を参照してください。

96 </Tab>107 </Tab>

97 108 

98 <Tab title="GitHub event">109 <Tab title="GitHub event">

99 リポジトリ、反応するイベント、オプションのフィルタを選択します。サポートされているイベントとフィルタフィールドの完全なリストについては、[GitHub トリガーを追加](#add-a-github-trigger) を参照してください。110 リポジトリ、反応するイベント、およびオプションのフィルタを選択します。サポートされているイベントとフィルタフィールドの完全なリストについては、[Add a GitHub trigger](#add-a-github-trigger) を参照してください。

100 </Tab>111 </Tab>

101 112 

102 <Tab title="API">113 <Tab title="API">

103 ここで **API** を選択してから、ルーティンを保存します。URL とトークンはルーティンが保存された後に生成されます。ルーティン ID に依存するためです。URL をコピーしてトークンを生成するには、[API トリガーを追加](#add-an-api-trigger) を参照してください。114 ここで **API** を選択してから、ルーチンを保存します。URL とトークンはルーチンが保存された後に生成されます。ルーチン ID に依存するためです。URL をコピーしてトークンを生成するには、[Add an API trigger](#add-an-api-trigger) を参照してください。

104 </Tab>115 </Tab>

105 </Tabs>116 </Tabs>

106 </Step>117 </Step>

107 118 

108 <Step title="コネクタをレビューする">119 <Step title="コネクタを確認する">

109 フォームの下部にある **Connectors** で、接続されたすべての [MCP コネクタ](/docs/ja/mcp) はデフォルトで含まれます。ルーティンが必要としないものを削除します。Claude は実行中にパーミッションを求めることなく、含まれたコネクタからすべてのツール(書き込みを含む)を使用できます。120 フォームの下部の **Connectors** で、接続されたすべての [MCP connectors](/docs/ja/mcp) がデフォルトで含まれます。ルーチンが必要としないものを削除します。Claude は、実行中に権限を求めずに、含まれたコネクタからすべてのツール(書き込みを含む)を使用できます。

110 </Step>121 </Step>

111 122 

112 <Step title="ルーティンを作成する">123 <Step title="ルーチンを作成する">

113 **Create** をクリックします。ルーティンはリストに表示され、次回トリガーの 1 つが一致したときに実行されます。すぐに実行を開始するには、ルーティンの詳細ページで **Run now** をクリックします。124 **Create** をクリックします。ルーチンはリストに表示され、トリガーの 1 つが一致する次の時間に実行されます。すぐに実行を開始するには、ルーチンの詳細ページで **Run now** をクリックします。

114 125 

115 各実行は他のセッションと並んで新しいセッションを作成します。Claude が何をしたかを確認し、変更をレビューし、プルリクエストを作成できます。126 各実行は、他のセッションの横に新しいセッションを作成します。Claude が何をしたかを確認し、変更を確認し、プルリクエストを作成できます。

116 </Step>127 </Step>

117</Steps>128</Steps>

118 129 


120 CLI から作成する131 CLI から作成する

121</h3>132</h3>

122 133 

123任意のセッションで `/schedule` を実行して、スケジュール済みルーティンを会話形式で作成します。`/schedule daily PR review at 9am` のような定期ルーティンや `/schedule clean up feature flag in one week` のような 1 回限りのルーティンのように、説明を直接渡すこともできます。Claude は Web フォームが収集するのと同じ情報を通じて、ルーティンをアカウントに保存します。コマンドはエイリアス `/routines` でも利用可能です。134任意のセッションで `/schedule` を実行して、スケジュール済みルーチンを会話形式で作成します。説明を直接渡すこともできます。`/schedule daily PR review at 9am` のような定期ルーチンまたは `/schedule clean up feature flag in one week` のような 1 回限りのルーチンの場合です。Claude はウェブフォームが収集するのと同じ情報(スケジュール、リポジトリ、プロンプト)について質問を進め、ルーチンをアカウントに保存します。コマンドは `/routines` というエイリアスでも利用可能です。

124 135 

125成功した開始は会話のように見えます。Claude はスケジュール、リポジトリ、プロンプトについてのフォローアップ質問をしてから保存します。代わりに Claude が認証が必要であるか、リモート claude.ai アカウントに接続できないと返信した場合、ルーティンは作成されていません。[トラブルシューティング](#troubleshooting) を参照してください。136成功した開始は会話のように見えます。Claude はスケジュール、リポジトリ、プロンプトについてのフォローアップ質問をしてから保存します。代わりに Claude が認証が必要であるか、リモート claude.ai アカウントに接続できないと返信する場合、ルーチンは作成されていません。[Troubleshooting](#troubleshooting) を参照してください。

126 137 

127CLI の `/schedule` はスケジュール済みルーティンを作成します。API トリガーを追加するには、[claude.ai/code/routines](https://claude.ai/code/routines) で Web 上のルーティンを編集します。[GitHub トリガー](#add-a-github-trigger) は Web または CLI から追加できます。CLI パスには Claude Code v2.1.225 以降が必要です。138CLI の `/schedule` はスケジュール済みルーチンを作成します。API トリガーを追加するには、[claude.ai/code/routines](https://claude.ai/code/routines) のウェブでルーチンを編集します。ウェブまたは CLI から [GitHub trigger](#add-a-github-trigger) を追加できます。CLI パスには Claude Code v2.1.225 以降が必要です。

128 139 

129スケジュールトリガーがないルーティン(API 呼び出しまたは GitHub イベントのみで開始されるもの)には次の実行時刻がなく、Claude がそれを保存または更新するときに CLI は何も表示しません。v2.1.211 より前では、CLI はこれらのルーティンについて年 1 の次の実行時刻を報告していました。140スケジュールトリガーがないルーチン(API 呼び出しまたは GitHub イベントによってのみ開始されるなど)には次の実行時間がなく、Claude がそれを保存または更新するときに CLI は何も表示しません。v2.1.211 より前では、CLI はこれらのルーチンの年 1 の次の実行時間を報告していました。

130 141 

131<h2 id="configure-triggers">142<h2 id="configure-triggers">

132 トリガーを構成する143 トリガーを構成する


349 360 

350ルーチンはリポジトリをクローンするために GitHub アクセスが必要です。CLI で `/schedule` を使用してルーチンを作成する場合、Claude はアカウントが実行元のリポジトリに対して GitHub アクセスを持っているかどうかを確認し、持っていない場合はアクセスを許可する方法を名前付きで示すセットアップノートを追加します。アクセスを許可する 2 つの方法については、[GitHub 認証オプション](/docs/ja/claude-code-on-the-web#github-authentication-options)を参照してください。361ルーチンはリポジトリをクローンするために GitHub アクセスが必要です。CLI で `/schedule` を使用してルーチンを作成する場合、Claude はアカウントが実行元のリポジトリに対して GitHub アクセスを持っているかどうかを確認し、持っていない場合はアクセスを許可する方法を名前付きで示すセットアップノートを追加します。アクセスを許可する 2 つの方法については、[GitHub 認証オプション](/docs/ja/claude-code-on-the-web#github-authentication-options)を参照してください。

351 362 

363GitHub 接続が実行予定時に不足しているか期限切れの場合、ルーチンは最大 72 時間まで実行をスキップします。その期間内に GitHub を再接続すると、ルーチンは自動的に再開されます。接続なしで 72 時間経過すると、ルーチンはオフになり、GitHub を再接続した後に再度オンにします。

364 

352追加する各リポジトリは、すべての実行でクローンされます。Claude はリポジトリのデフォルトブランチから開始します。ただし、プロンプトで別の方法を指定する場合を除きます。365追加する各リポジトリは、すべての実行でクローンされます。Claude はリポジトリのデフォルトブランチから開始します。ただし、プロンプトで別の方法を指定する場合を除きます。

353 366 

354Claude はその作業を `claude/` で始まるブランチにプッシュします。これらは常に受け入れられます。プロンプトが Claude に別のブランチにプッシュするよう指示する場合、Claude Code は最初にプッシュをチェックし、以下のいずれかが当てはまる場合は拒否します。367Claude はその作業を `claude/` で始まるブランチにプッシュします。これらは常に受け入れられます。プロンプトが Claude に別のブランチにプッシュするよう指示する場合、Claude Code は最初にプッシュをチェックし、以下のいずれかが当てはまる場合は拒否します。


377 390 

378**Default** 環境は **Trusted** ネットワークアクセスを使用します。これにより、セッションのネットワークを通じて [デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains)のみが許可されます。そのパスの外のホストへのリクエストは `403` と `x-deny-reason: host_not_allowed` で失敗します。MCP コネクタトラフィックは Anthropic のサーバーを通じてルーティングされるため、ルーチンに追加するコネクタは **Allowed domains** にホストを追加しなくても機能します。[コネクタ](#connectors)の下で不要なコネクタを削除します。391**Default** 環境は **Trusted** ネットワークアクセスを使用します。これにより、セッションのネットワークを通じて [デフォルト許可リスト](/docs/ja/cloud-environments#default-allowed-domains)のみが許可されます。そのパスの外のホストへのリクエストは `403` と `x-deny-reason: host_not_allowed` で失敗します。MCP コネクタトラフィックは Anthropic のサーバーを通じてルーティングされるため、ルーチンに追加するコネクタは **Allowed domains** にホストを追加しなくても機能します。[コネクタ](#connectors)の下で不要なコネクタを削除します。

379 392 

380追加のドメインを許可するには、以下を実行します。3931 つ以上の独自の環境で追加のドメインを許可するには、以下の手順に従います。[組織共有環境](/docs/ja/cloud-environments#organization-shared-environments)はここで読み取り専用で開くため、所有者は [管理設定](https://claude.ai/admin-settings)の **Cloud environments** ページからそのネットワークアクセスを変更します。

381 394 

382<Steps>395<Steps>

383 <Step title="ルーチンを編集用に開く">396 <Step title="ルーチンを編集用に開く">


413 426 

4141 回限りの実行は日次ルーティン実行上限にはカウントされません。他のセッションと同じように通常のサブスクリプション使用量を削減します。4271 回限りの実行は日次ルーティン実行上限にはカウントされません。他のセッションと同じように通常のサブスクリプション使用量を削減します。

415 428 

429サブスクリプションが一時停止されている間、ルーティンは保留中になり、実行されません。サブスクリプションが再度アクティブになったら、ルーティンを再度有効にしてください。

430 

416<h2 id="troubleshooting">431<h2 id="troubleshooting">

417 トラブルシューティング432 トラブルシューティング

418</h2>433</h2>

Details

168* ランナーは `GCM_INTERACTIVE=never` を設定するため、Git Credential Manager はサインインダイアログを開きません。168* ランナーは `GCM_INTERACTIVE=never` を設定するため、Git Credential Manager はサインインダイアログを開きません。

169* ランナーは `core.askPass` をクリアするため、askpass ヘルパーを使用する場合は、`GIT_ASKPASS` 環境変数を通じて設定してください。169* ランナーは `core.askPass` をクリアするため、askpass ヘルパーを使用する場合は、`GIT_ASKPASS` 環境変数を通じて設定してください。

170 170 

171git ホストが認証情報を拒否するか、認証情報を設定しなかった場合、ランナーは数回再試行してから失敗します。ランナーはこれらの設定をセッション環境に渡しません。171git ホストが認証情報を拒否するか、認証情報を設定しなかった場合、ランナーは数回再試行してから失敗します。リポジトリがセッションがプッシュする結果のリポジトリである場合、ランナーはリポジトリ準備に失敗します。セッションが読み取り専用のリポジトリの場合、[トラブルシューティング](#troubleshooting)はランナーがスキップする場合をカバーしています。ランナーはこれらの設定をセッション環境に渡しません。

172 172 

173チェックアウトディレクトリがランナープロセスと異なる uid で所有されている場合、git は操作を拒否します。`safe.directory` を追加してください:173チェックアウトディレクトリがランナープロセスと異なる uid で所有されている場合、git は操作を拒否します。`safe.directory` を追加してください:

174 174 


531* **セッションが認証エグレスプロキシ経由でネットワークに到達できない**:[`--proxy-authorization-command` または `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) で設定したソースが失敗する場合、30 秒後にタイムアウトする場合、または空の値を生成する場合、ランナーはその接続に `502 Bad Gateway` で応答し、理由をログに記録します。ランナーはそのログでコマンドの stderr を編集し、ヘッダー値をログに記録しません。`--proxy-authorization-command` を使用する場合、ホスト上でコマンド自体を実行して、stdout 全体のヘッダー値を出力することを確認してください。ランナーが代わりに `could not start the proxy-authorization listener` で起動時に終了する場合、ループバックリスナーを開くことができませんでした。531* **セッションが認証エグレスプロキシ経由でネットワークに到達できない**:[`--proxy-authorization-command` または `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) で設定したソースが失敗する場合、30 秒後にタイムアウトする場合、または空の値を生成する場合、ランナーはその接続に `502 Bad Gateway` で応答し、理由をログに記録します。ランナーはそのログでコマンドの stderr を編集し、ヘッダー値をログに記録しません。`--proxy-authorization-command` を使用する場合、ホスト上でコマンド自体を実行して、stdout 全体のヘッダー値を出力することを確認してください。ランナーが代わりに `could not start the proxy-authorization listener` で起動時に終了する場合、ループバックリスナーを開くことができませんでした。

532* **ランナーが `rejecting the malformed poll response` を含む `Poll failed` 行をログに記録する**:ランナーは、本体がキューの予期された JSON ではないワークポール応答を受け取りました。最も一般的には、インターセプティングプロキシやキャプティブポータルなど、ランナーと `api.anthropic.com` の間の何かが独自のページで応答したためです。ランナーは応答を拒否し、`claude_code_self_hosted_runner_poll_errors_total` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)の `transport` 種別の下でカウントし、[セッションライフサイクル](/docs/ja/self-hosted-environments#session-lifecycle)で説明されている失敗したポールスケジュールで再試行します。ランナーはライブセッションを提供し続けます。`api.anthropic.com` からの応答を変更されずに通すようにプロキシを設定してください。v2.1.246 より前では、ランナーはそのような応答を空のワークキューとして読み取り、ライブセッションを終了するか、終了させる可能性がありました。532* **ランナーが `rejecting the malformed poll response` を含む `Poll failed` 行をログに記録する**:ランナーは、本体がキューの予期された JSON ではないワークポール応答を受け取りました。最も一般的には、インターセプティングプロキシやキャプティブポータルなど、ランナーと `api.anthropic.com` の間の何かが独自のページで応答したためです。ランナーは応答を拒否し、`claude_code_self_hosted_runner_poll_errors_total` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)の `transport` 種別の下でカウントし、[セッションライフサイクル](/docs/ja/self-hosted-environments#session-lifecycle)で説明されている失敗したポールスケジュールで再試行します。ランナーはライブセッションを提供し続けます。`api.anthropic.com` からの応答を変更されずに通すようにプロキシを設定してください。v2.1.246 より前では、ランナーはそのような応答を空のワークキューとして読み取り、ライブセッションを終了するか、終了させる可能性がありました。

533* **セッションのブランチがリモートに存在しなくなった**:セッションが読み取り専用の git ソースの場合、ランナーはそのソースをスキップして残りのソースで続行します。セッションが結果をプッシュするソースの場合、削除されたブランチ(通常はマージされて自動削除されたため)はセッションを失敗させ、リポジトリとブランチを名前付けするエラーを表示し、ブランチを復元して再試行するよう求めます。ランナーはスキップするとリポジトリがまったくなくなる場合、同じエラーでセッションを失敗させます。v2.1.228 より前では、そのようなセッションは空のディレクトリで開始されました。533* **セッションのブランチがリモートに存在しなくなった**:セッションが読み取り専用の git ソースの場合、ランナーはそのソースをスキップして残りのソースで続行します。セッションが結果をプッシュするソースの場合、削除されたブランチ(通常はマージされて自動削除されたため)はセッションを失敗させ、リポジトリとブランチを名前付けするエラーを表示し、ブランチを復元して再試行するよう求めます。ランナーはスキップするとリポジトリがまったくなくなる場合、同じエラーでセッションを失敗させます。v2.1.228 より前では、そのようなセッションは空のディレクトリで開始されました。

534* **セッションがそのリポジトリの 1 つなしで開始される**:[`checkout` hook](/docs/ja/self-hosted-environments-configuration#checkout) がないランナーでは、git ホストはセッションが読み取り専用のリポジトリのランナーのアクセスチェックを拒否できます。ランナーはそのリポジトリをスキップし、拒否を名前付けする `[runner:warn] could not access context source` 行をログに記録し、残りのリポジトリでセッションを開始します。

535 

536 ランナーはクリアな拒否のみをスキップします:ホストがリポジトリが見つからないことを答える、git がホストの認証情報を見つけない、または認証が失敗します。ネットワーク障害、タイムアウト、または HTTP `403` はセッション開始を失敗させます。セッションが結果をプッシュするリポジトリの拒否も同様です。ランナーはスキップするとリポジトリがまったくなくなるセッションを失敗させます。[`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy) を使用する場合、ランナーは git プロキシ自体が拒否するリポジトリのみをスキップします。

537 

538 アクセスチェックはセッションがランナーで開始されるたびに再度実行されるため、ランナーの git アイデンティティが読み取りアクセスを持つと、次の開始でリポジトリをクローンします。v2.1.274 より前では、これらの拒否のそれぞれがセッション開始を失敗させました。

534* **セッションの開始に数分かかる**:初期クローンが通常支配的です。`claude_code_self_hosted_runner_session_init_duration_seconds` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)を監視して確認し、[事前にウォーミングされたチェックアウト](#reuse-a-pre-warmed-checkout)またはより小さい `CLAUDE_RUNNER_FETCH_DEPTH` でクローンを削減してください。539* **セッションの開始に数分かかる**:初期クローンが通常支配的です。`claude_code_self_hosted_runner_session_init_duration_seconds` [メトリクス](/docs/ja/self-hosted-environments-reference#prometheus-metrics)を監視して確認し、[事前にウォーミングされたチェックアウト](#reuse-a-pre-warmed-checkout)またはより小さい `CLAUDE_RUNNER_FETCH_DEPTH` でクローンを削減してください。

540* **ターンが 401 で失敗する**:各セッションは、ランナーが Anthropic から取得し、セッションの stdin 経由でローテーションする短命の [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ja/self-hosted-environments-configuration#wrapper-scripts) を使用してモデル呼び出しを認証します。ターンがモデル API から 401 または 403 で終了する場合、ランナーは新しいトークンを取得し、セッションに渡します。失敗したターンは再試行されません。

541 

542 フェッチが失敗する場合、ランナーは `inference_token refresh failed` 行をログに記録し、いつ再試行するかを示し、セッションが実行されている限り再試行を続けます。

543 

544 セッションの約 30 分後にすべての呼び出しが失敗し始める場合、ラッパースクリプトがセッションの stdin を切断した可能性があります。そのため、トークンローテーションがそれに到達できません。[stdin とファイルディスクリプタ 3 を接続したままにする](/docs/ja/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached)を参照してください。

545 

546 v2.1.274 より前では、ランナーは数回の試行後に失敗したフェッチの再試行を停止し、次のスケジュール済みのものを待ちました。失敗したターンはフェッチをトリガーしなかったため、次のスケジュール済みフェッチまで、すべてのターンが 401 で失敗しました。

535* **ポッドがドレイン中に強制終了される**:`terminationGracePeriodSeconds` をランナーが起動時にログに記録する値以上に引き上げてください。[シャットダウンタイミング](#shutdown-timing)を参照してください。547* **ポッドがドレイン中に強制終了される**:`terminationGracePeriodSeconds` をランナーが起動時にログに記録する値以上に引き上げてください。[シャットダウンタイミング](#shutdown-timing)を参照してください。

536 548 

537ログが初期化されると、ランナーはそのライフサイクルログ(`[runner:fatal]` 行を含む)を stdout に書き込み、デバッグ出力を stderr に書き込みます。すべて JSON ではなくプレーンテキスト行として。上記のトラブルシューティングエントリで説明されている起動失敗はその前に stderr に出力されます。`--log-file` で両方のストリームをキャプチャします。これにより `self-hosted-runner doctor` がそれらをテールできるようになり、またはプラットフォームのログ収集で。549ログが初期化されると、ランナーはそのライフサイクルログ(`[runner:fatal]` 行を含む)を stdout に書き込み、デバッグ出力を stderr に書き込みます。すべて JSON ではなくプレーンテキスト行として。上記のトラブルシューティングエントリで説明されている起動失敗はその前に stderr に出力されます。`--log-file` で両方のストリームをキャプチャします。これにより `self-hosted-runner doctor` がそれらをテールできるようになり、またはプラットフォームのログ収集で。

Details

103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | バックグラウンドタスクが終了した後、その結果を読み取る後続ターンが開始されていない間、ランナーがセッションをビジーと見なす時間。[`--drain-wait-sec` および `--release-idle-session-min` 行](#runner-cli-flags) はドレインおよびアイドルリリース時にホールドが適用される場所を説明し、[ランナーライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle) は `--retire-at` リタイアメント時に適用される場所を説明しています。`0` または使用不可能な値はデフォルトにフォールバックするため、ホールドをオフにすることはできません。Claude Code v2.1.228 以降が必要です。 |103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | バックグラウンドタスクが終了した後、その結果を読み取る後続ターンが開始されていない間、ランナーがセッションをビジーと見なす時間。[`--drain-wait-sec` および `--release-idle-session-min` 行](#runner-cli-flags) はドレインおよびアイドルリリース時にホールドが適用される場所を説明し、[ランナーライフサイクル](/docs/ja/self-hosted-environments#runner-lifecycle) は `--retire-at` リタイアメント時に適用される場所を説明しています。`0` または使用不可能な値はデフォルトにフォールバックするため、ホールドをオフにすることはできません。Claude Code v2.1.228 以降が必要です。 |

104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | ランナーのスタートアップスナップショットにキャプチャされ、各セッションの `CLAUDE_CONFIG_DIR` にシードされるディレクトリ。ディスク上の変更はランナーの再起動後に適用されます。変数を設定すると、ランナーが [MCP シーディング](/docs/ja/self-hosted-environments-configuration#mcp-servers) 用に `.claude.json` を読み取る場所も移動します。設定すると、独自のデフォルトを含めて、その検索を再配置します。空のディレクトリを指してシーディングを完全に無効にします。 |104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | ランナーのスタートアップスナップショットにキャプチャされ、各セッションの `CLAUDE_CONFIG_DIR` にシードされるディレクトリ。ディスク上の変更はランナーの再起動後に適用されます。変数を設定すると、ランナーが [MCP シーディング](/docs/ja/self-hosted-environments-configuration#mcp-servers) 用に `.claude.json` を読み取る場所も移動します。設定すると、独自のデフォルトを含めて、その検索を再配置します。空のディレクトリを指してシーディングを完全に無効にします。 |

105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | セッションが `--kill-session-after-min` 制限に達した後、実行中のターンが終了するか、リリースが完了するのを待つ時間。その後、ランナーはセッションを終了します。 |105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | セッションが `--kill-session-after-min` 制限に達した後、実行中のターンが終了するか、リリースが完了するのを待つ時間。その後、ランナーはセッションを終了します。 |

106| `SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS` | `7000` | ターンが終了した後、セッションのプロセスがターンの終了を Anthropic に報告している間、ランナーが `--drain-wait-sec` ドレイン用にセッションをビジーとしてカウントする時間の上限。`0` または使用不可能な値はデフォルトにフォールバックするため、ホールドをオフにすることはできません。Claude Code v2.1.275 以降が必要です。 |

106| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | ランナーが割り込み不可能な I/O でスタックしている子に `SIGKILL` を配信するのを待つ時間。その後、ランナー自体が終了します。`--post-session-hook-timeout-sec` プラス 15 秒でフロアされ、`--push-outcome-on-release` が設定されている場合は 30 秒追加されます。有効な最小値はデフォルトで 75 秒です。 |107| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | ランナーが割り込み不可能な I/O でスタックしている子に `SIGKILL` を配信するのを待つ時間。その後、ランナー自体が終了します。`--post-session-hook-timeout-sec` プラス 15 秒でフロアされ、`--push-outcome-on-release` が設定されている場合は 30 秒追加されます。有効な最小値はデフォルトで 75 秒です。 |

107| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | 新規クローン用の Git フェッチ深度。正の整数、または完全なフェッチ用に `full` または `0` を設定します。ワークスペースに既に存在するリポジトリは既存の深度を保持します。 |108| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | 新規クローン用の Git フェッチ深度。正の整数、または完全なフェッチ用に `full` または `0` を設定します。ワークスペースに既に存在するリポジトリは既存の深度を保持します。 |

108| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | 未設定 | `1` の場合、`checkout` フック実行後の `.git` 存在チェックをスキップします。フックが非 git ソースを具体化する場合は、これを設定します。 |109| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | 未設定 | `1` の場合、`checkout` フック実行後の `.git` 存在チェックをスキップします。フックが非 git ソースを具体化する場合は、これを設定します。 |

slack.md +3 −1

Details

231 231 

232このエントリは [Claude Tag](https://claude.com/docs/claude-tag/overview) を使用しているワークスペースに適用されます。Claude Tag では、Claude はメンバーのアカウントではなく、組織の共有 ID としてチャネルで機能します。[claude.ai/code](https://claude.ai/code) でチャネルのクラウド環境を作成した場合、それはあなたの個人アカウントに属しており、Claude は個人環境でチャネルセッションを開始できません。Claude Code はセッションを直ちに失敗させ、再試行しても役に立ちません。232このエントリは [Claude Tag](https://claude.com/docs/claude-tag/overview) を使用しているワークスペースに適用されます。Claude Tag では、Claude はメンバーのアカウントではなく、組織の共有 ID としてチャネルで機能します。[claude.ai/code](https://claude.ai/code) でチャネルのクラウド環境を作成した場合、それはあなたの個人アカウントに属しており、Claude は個人環境でチャネルセッションを開始できません。Claude Code はセッションを直ちに失敗させ、再試行しても役に立ちません。

233 233 

234Owner の場合は、[admin settings](https://claude.ai/admin-settings) の **Cloud environments** ページから環境を [organization-shared environment](/docs/ja/cloud-environments#organization-shared-environments) として再作成してください。次の 2 つの方法で適用できます。234Owner の場合で環境があなたのものである場合は、環境セレクターから [組織と共有](/docs/ja/cloud-environments#organization-shared-environments)してください。それ以外の場合は、Owner が [admin settings](https://claude.ai/admin-settings) の **Cloud environments** ページから組織共有環境として再作成します。

235 

236次の 2 つの方法で適用できます。

235 237 

236* [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で組織のデフォルトとして設定します。238* [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で組織のデフォルトとして設定します。

237* Claude Tag admin settings で [チャネルに設定](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one)します。239* Claude Tag admin settings で [チャネルに設定](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one)します。

Details

196<Steps>196<Steps>

197 <Step title="diff ビューを開く">197 <Step title="diff ビューを開く">

198 diff インジケーターはセッション全体で追加および削除された行を表示します(例:`+42 -18`)。それを選択して diff ビューを開き、左側にファイルリスト、右側に変更が表示されます。198 diff インジケーターはセッション全体で追加および削除された行を表示します(例:`+42 -18`)。それを選択して diff ビューを開き、左側にファイルリスト、右側に変更が表示されます。

199 

200 diff はデフォルトではセッションの変更をベースブランチと比較します。別のブランチと比較するには、**Compare against** を選択して 1 つを選びます。

199 </Step>201 </Step>

200 202 

201 <Step title="インラインコメントを残す">203 <Step title="インラインコメントを残す">

202 diff 内の任意の行を選択し、フィードバックを入力して Enter キーを押します。コメントは次のメッセージを送信するまでキューに入り、その後バンドルされます。Claude は'`src/auth.ts:47` で、ここでエラーをキャッチしないでください'をメインの指示と一緒に見るため、問題がどこにあるかを説明する必要はありません。204 diff 内の任意の行を選択し、フィードバックを入力して Enter キーを押します。コメントは次のメッセージを送信するまでキューに入り、その後バンドルされます。Claude は「`src/auth.ts:47` で、ここでエラーをキャッチしないでください」をメインの指示と一緒に見るため、問題がどこにあるかを説明する必要はありません。

203 </Step>205 </Step>

204 206 

205 <Step title="pull request を作成">207 <Step title="pull request を作成">