SpyBara
Go Premium

Documentation 2026-07-20 23:01 UTC to 2026-07-21 23:00 UTC

7 files changed +297 −282. View all changes and history on the product overview
2026
Sat 25 01:57 Fri 24 23:01 Thu 23 23:57 Wed 22 23:59 Tue 21 23:00 Mon 20 23:01 Sat 18 16:02 Fri 17 22:57 Thu 16 22:59 Wed 15 22:00 Tue 14 23:01 Mon 13 23:57 Sat 11 19:03 Fri 10 17:00 Thu 9 23:58 Wed 8 16:02 Tue 7 16:02 Mon 6 23:57 Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01
Details

6 6 

7> IdP にゲートウェイを登録し、コンテナをビルドして Kubernetes または Cloud Run にデプロイし、ヘルスチェック、シークレットローテーション、アップグレード、セキュリティを運用します。7> IdP にゲートウェイを登録し、コンテナをビルドして Kubernetes または Cloud Run にデプロイし、ヘルスチェック、シークレットローテーション、アップグレード、セキュリティを運用します。

8 8 

9このページでは、[Claude apps gateway](/ja/claude-apps-gateway) の運用側について説明します。ID プロバイダー(IdP)で OAuth クライアントを登録し、ゲートウェイをコンテナとしてデプロイし、日々運用します。ゲートウェイが起動時に読み込む `gateway.yaml` ファイルのすべてのオプションについては、[設定リファレンス](/ja/claude-apps-gateway-config) を参照してください。9このページでは、[Claude apps gateway](/docs/ja/claude-apps-gateway) の運用側について説明します。ID プロバイダー(IdP)で OAuth クライアントを登録し、ゲートウェイをコンテナとしてデプロイし、日々運用します。ゲートウェイが起動時に読み込む `gateway.yaml` ファイルのすべてのオプションについては、[設定リファレンス](/docs/ja/claude-apps-gateway-config) を参照してください。

10 10 

11本番環境のデプロイメントは順序立てた 4 つのステップに従い、以下のセクションがそれに対応しています。最初の 2 つは選択を行う場所です。後の 2 つは、実行中に参照するリファレンス資料です。11本番環境のデプロイメントは順序立てた 4 つのステップに従い、以下のセクションがそれに対応しています。最初の 2 つは選択を行う場所です。後の 2 つは、実行中に参照するリファレンス資料です。

12 12 


31 31 

32任意の OIDC 準拠 IdP が機能します:Okta、Microsoft Entra ID、Google Workspace、Keycloak、Dex、PingFederate など。IdP は 3 つの要件を満たす必要があります:32任意の OIDC 準拠 IdP が機能します:Okta、Microsoft Entra ID、Google Workspace、Keycloak、Dex、PingFederate など。IdP は 3 つの要件を満たす必要があります:

33 33 

34* `/.well-known/openid-configuration` を提供します。本番環境では HTTPS 経由です。ゲートウェイは [`http://` issuer](/ja/claude-apps-gateway-config#oidc) を受け入れ、ループバック issuer は追加で `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` が必要です34* `/.well-known/openid-configuration` を提供します。本番環境では HTTPS 経由です。ゲートウェイは [`http://` issuer](/docs/ja/claude-apps-gateway-config#oidc) を受け入れ、ループバック issuer は追加で `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` が必要です

35* 認可コードフローをサポートします。PKCE(Proof Key for Code Exchange)はデフォルトで有効です。サポートしない IdP の場合は `oidc.use_pkce: false` で無効にします35* 認可コードフローをサポートします。PKCE(Proof Key for Code Exchange)はデフォルトで有効です。サポートしない IdP の場合は `oidc.use_pkce: false` で無効にします

36* id\_token で `email` と必要に応じて `groups` を返すか、`oidc.userinfo_fallback: true` で userinfo エンドポイントから提供します36* id\_token で `email` と必要に応じて `groups` を返すか、`oidc.userinfo_fallback: true` で userinfo エンドポイントから提供します

37 37 


41 41 

42* **Okta**:`https://example.okta.com` の org 認可サーバーは、`email` と `groups` を省略した薄い id\_token を返すため、issuer として使用する場合は常に `oidc.userinfo_fallback: true` を設定します。`https://example.okta.com/oauth2/default` などのカスタム認可サーバーは、id\_token に `email` と必要に応じて `groups` を含め、直接発行し、フォールバックは不要です。Okta は `oidc.scopes` で `groups` スコープがリクエストされ、アプリのグループクレームフィルターが許可する場合にのみ `groups` を発行します。`userinfo_fallback` は IdP がリクエストされなかったクレームを埋めることはできません。42* **Okta**:`https://example.okta.com` の org 認可サーバーは、`email` と `groups` を省略した薄い id\_token を返すため、issuer として使用する場合は常に `oidc.userinfo_fallback: true` を設定します。`https://example.okta.com/oauth2/default` などのカスタム認可サーバーは、id\_token に `email` と必要に応じて `groups` を含め、直接発行し、フォールバックは不要です。Okta は `oidc.scopes` で `groups` スコープがリクエストされ、アプリのグループクレームフィルターが許可する場合にのみ `groups` を発行します。`userinfo_fallback` は IdP がリクエストされなかったクレームを埋めることはできません。

43* **Microsoft Entra ID**:`issuer` = `https://login.microsoftonline.com/<tenant-id>/v2.0`。Entra はグループ名ではなくグループオブジェクト ID を発行するため、`managed.policies.match.groups` で GUID を使用するか、人間が読める名前のためにアプリロールを使用します。テナントが `groups` の代わりに `roles` の下でロールを発行する場合は、`oidc.groups_claim: roles` を設定します。43* **Microsoft Entra ID**:`issuer` = `https://login.microsoftonline.com/<tenant-id>/v2.0`。Entra はグループ名ではなくグループオブジェクト ID を発行するため、`managed.policies.match.groups` で GUID を使用するか、人間が読める名前のためにアプリロールを使用します。テナントが `groups` の代わりに `roles` の下でロールを発行する場合は、`oidc.groups_claim: roles` を設定します。

44* **Google Workspace**:`issuer` = `https://accounts.google.com`。Google の id\_token はグループを含みません。Google を IdP として、グループベースの `allowed_groups` または `managed.policies` を使用するには、[`oidc.google_groups`](/ja/claude-apps-gateway-config#oidc) を設定します。これは、ドメイン全体の委任を持つサービスアカウントを使用して Admin SDK Directory API を通じて各ユーザーのグループを検索します。これなしで、メンバーシップゲーティングに `oidc.allowed_email_domains` を使用し、ポリシー割り当てに `managed.policies.match.email_domain` を使用します。Google は標準の `offline_access` スコープも無視します。リフレッシュトークンの場合は、`oidc.scopes: [openid, profile, email]` と `oidc.extra_auth_params: { access_type: offline, prompt: consent }` を設定します。44* **Google Workspace**:`issuer` = `https://accounts.google.com`。Google の id\_token はグループを含みません。Google を IdP として、グループベースの `allowed_groups` または `managed.policies` を使用するには、[`oidc.google_groups`](/docs/ja/claude-apps-gateway-config#oidc) を設定します。これは、ドメイン全体の委任を持つサービスアカウントを使用して Admin SDK Directory API を通じて各ユーザーのグループを検索します。これなしで、メンバーシップゲーティングに `oidc.allowed_email_domains` を使用し、ポリシー割り当てに `managed.policies.match.email_domain` を使用します。Google は標準の `offline_access` スコープも無視します。リフレッシュトークンの場合は、`oidc.scopes: [openid, profile, email]` と `oidc.extra_auth_params: { access_type: offline, prompt: consent }` を設定します。

45 45 

46上記で説明されていない ID プロバイダーのサポートについては、[トラブルシューティング](#troubleshooting) を参照してください。46上記で説明されていない ID プロバイダーのサポートについては、[トラブルシューティング](#troubleshooting) を参照してください。

47 47 

48<Warning>48<Warning>

49 リフレッシュトークンにより、ゲートウェイは開発者のセッションをサイレントに更新でき、開発者をブラウザに戻す必要がありません。また、IdP がユーザーを無効にすると、次のリフレッシュが失敗し、セッションは `ttl_hours` 内に終了するため、プロビジョニング解除を駆動します。ゲートウェイはデフォルトでリフレッシュトークンを取得するために `offline_access` をリクエストします。IdP がオフラインアクセスに明示的な同意を必要とする場合は、OAuth クライアントを設定してそれを許可します。49 リフレッシュトークンにより、ゲートウェイは開発者のセッションをサイレントに更新でき、開発者をブラウザに戻す必要がありません。また、IdP がユーザーを無効にすると、次のリフレッシュが失敗し、セッションは `ttl_hours` 内に終了するため、プロビジョニング解除を駆動します。ゲートウェイはデフォルトでリフレッシュトークンを取得するために `offline_access` をリクエストします。IdP がオフラインアクセスに明示的な同意を必要とする場合は、OAuth クライアントを設定してそれを許可します。

50 50 

51 IdP がリフレッシュトークンをまったく発行できない場合、ゲートウェイは引き続き機能しますが、サイレント更新がないため、開発者はセッションの有効期限が切れるとブラウザログインを再実行します。これが 1 時間ごとに発生するのを防ぐには、[`session.ttl_hours`](/ja/claude-apps-gateway-config#session) を `8` または `12` に上げます。トレードオフはプロビジョニング解除の遅延です。リフレッシュトークンなしでは、無効にされたユーザーはより長い TTL が経過するまでアクセスを保持します。51 IdP がリフレッシュトークンをまったく発行できない場合、ゲートウェイは引き続き機能しますが、サイレント更新がないため、開発者はセッションの有効期限が切れるとブラウザログインを再実行します。これが 1 時間ごとに発生するのを防ぐには、[`session.ttl_hours`](/docs/ja/claude-apps-gateway-config#session) を `8` または `12` に上げます。トレードオフはプロビジョニング解除の遅延です。リフレッシュトークンなしでは、無効にされたユーザーはより長い TTL が経過するまでアクセスを保持します。

52</Warning>52</Warning>

53 53 

54<h2 id="deployment">54<h2 id="deployment">


62デプロイメントを実行する場所を超えて形作るいくつかの決定があります:62デプロイメントを実行する場所を超えて形作るいくつかの決定があります:

63 63 

64* **コスト**:ゲートウェイの個別ライセンスまたはシートごとの料金はありません。これは `claude` バイナリの一部です。既存のクラウドまたは Anthropic コミットメントを通じて推論に対して支払い、コンテナのコンピュートとテレメトリコレクターを支払います。64* **コスト**:ゲートウェイの個別ライセンスまたはシートごとの料金はありません。これは `claude` バイナリの一部です。既存のクラウドまたは Anthropic コミットメントを通じて推論に対して支払い、コンテナのコンピュートとテレメトリコレクターを支払います。

65* **バイパス**:ゲートウェイは、モデルへの唯一のルートがそれを通過することを強制しません。独自の認証情報を持つ開発者は引き続きプロバイダーを直接呼び出すことができるため、そのパスを閉じることはネットワークポリシーの決定です。例えば、`api.anthropic.com` へのエグレスをゲートウェイ以外からブロックします。そのエグレスをブロックすると、各開発者のマシンから `api.anthropic.com` を呼び出す [WebFetch ドメインセーフティチェック](/ja/data-usage#webfetch-domain-safety-check) も破壊されます。管理ポリシーで `skipWebFetchPreflight: true` を設定して無効にします。65* **バイパス**:ゲートウェイは、モデルへの唯一のルートがそれを通過することを強制しません。独自の認証情報を持つ開発者は引き続きプロバイダーを直接呼び出すことができるため、そのパスを閉じることはネットワークポリシーの決定です。例えば、`api.anthropic.com` へのエグレスをゲートウェイ以外からブロックします。そのエグレスをブロックすると、各開発者のマシンから `api.anthropic.com` を呼び出す [WebFetch ドメインセーフティチェック](/docs/ja/data-usage#webfetch-domain-safety-check) も破壊されます。管理ポリシーで `skipWebFetchPreflight: true` を設定して無効にします。

66* **複数ゲートウェイ**:各ゲートウェイは独自の設定を持つ個別のデプロイメントです。CLI はゲートウェイホスト名ごとに信頼フィンガープリントと認証情報を保存するため、異なるチームは競合なしに異なるゲートウェイに接続できます。複数の OIDC issuer を提供するには、個別のインスタンスを実行します。66* **複数ゲートウェイ**:各ゲートウェイは独自の設定を持つ個別のデプロイメントです。CLI はゲートウェイホスト名ごとに信頼フィンガープリントと認証情報を保存するため、異なるチームは競合なしに異なるゲートウェイに接続できます。複数の OIDC issuer を提供するには、個別のインスタンスを実行します。

67* **サーバーレス**:Cloud Run は機能します。`min-instances: 1` を設定して、コールド OIDC ディスカバリーを回避します。Lambda と Cloud Functions は機能しません。ゲートウェイは長時間実行 HTTP サーバーであるためです。67* **サーバーレス**:Cloud Run は機能します。`min-instances: 1` を設定して、コールド OIDC ディスカバリーを回避します。Lambda と Cloud Functions は機能しません。ゲートウェイは長時間実行 HTTP サーバーであるためです。

68 68 

69ここのすべての本番トポロジーは、L7 プロキシ(Ingress、Cloud Run のフロントエンド、ALB など)をプレーン HTTP レプリカの前に配置します。[`listen.trusted_proxies`](/ja/claude-apps-gateway-config#listen) をプロキシのソース範囲に設定して、ゲートウェイが `X-Forwarded-For` からクライアント IP を読み込みます。ゲートウェイは TCP ピアが信頼されている場合にのみヘッダーを尊重します。[Google Cloud の実装例](/ja/claude-apps-gateway-on-gcp) はトポロジーごとに具体的な値を持っています。信頼されたプロキシなしでは、すべてのリクエストはプロキシの IP から来ているように見え、IP ごとのレート制限を 1 つの共有バケットに折りたたみ、監査イベントにプロキシの IP を記録します。69ここのすべての本番トポロジーは、L7 プロキシ(Ingress、Cloud Run のフロントエンド、ALB など)をプレーン HTTP レプリカの前に配置します。[`listen.trusted_proxies`](/docs/ja/claude-apps-gateway-config#listen) をプロキシのソース範囲に設定して、ゲートウェイが `X-Forwarded-For` からクライアント IP を読み込みます。ゲートウェイは TCP ピアが信頼されている場合にのみヘッダーを尊重します。[Google Cloud の実装例](/docs/ja/claude-apps-gateway-on-gcp) はトポロジーごとに具体的な値を持っています。信頼されたプロキシなしでは、すべてのリクエストはプロキシの IP から来ているように見え、IP ごとのレート制限を 1 つの共有バケットに折りたたみ、監査イベントにプロキシの IP を記録します。

70 70 

71<h3 id="container-image">71<h3 id="container-image">

72 コンテナイメージ72 コンテナイメージ


74 74 

75標準 Claude Code リリースのネイティブ `claude` バイナリの周りに独自のイメージをビルドします:75標準 Claude Code リリースのネイティブ `claude` バイナリの周りに独自のイメージをビルドします:

76 76 

771. ピン留めされたリリースからイメージアーキテクチャの Linux ビルドをダウンロードします。ダウンロード URL については、[特定のバージョンをインストールする](/ja/setup#install-a-specific-version) を参照してください。771. ピン留めされたリリースからイメージアーキテクチャの Linux ビルドをダウンロードします。ダウンロード URL については、[特定のバージョンをインストールする](/docs/ja/setup#install-a-specific-version) を参照してください。

782. [バイナリの整合性とコード署名](/ja/setup#binary-integrity-and-code-signing) で説明されているように、リリースの GPG 署名付き `manifest.json` に対して検証します。782. [バイナリの整合性とコード署名](/docs/ja/setup#binary-integrity-and-code-signing) で説明されているように、リリースの GPG 署名付き `manifest.json` に対して検証します。

793. ビルドコンテキストにコピーします。793. ビルドコンテキストにコピーします。

80 80 

81ビルドがリリースホストに到達できない場合は、リリースを内部レジストリにミラーリングし、フロートが実行するバージョンをピン留めします。81ビルドがリリースホストに到達できない場合は、リリースを内部レジストリにミラーリングし、フロートが実行するバージョンをピン留めします。

82 82 

83バイナリを超えて、イメージは以下が必要です:83バイナリを超えて、イメージは以下が必要です:

84 84 

85* **glibc ベースのイメージ**:glibc ビルドの唯一の動的依存関係は glibc ライブラリです。Musl ベースのイメージは `linux-x64-musl` または `linux-arm64-musl` ビルドと追加パッケージが必要です。[Alpine Linux セットアップ](/ja/setup#alpine-linux-and-musl-based-distributions) を参照してください。85* **glibc ベースのイメージ**:glibc ビルドの唯一の動的依存関係は glibc ライブラリです。Musl ベースのイメージは `linux-x64-musl` または `linux-arm64-musl` ビルドと追加パッケージが必要です。[Alpine Linux セットアップ](/docs/ja/setup#alpine-linux-and-musl-based-distributions) を参照してください。

86* **書き込み可能な状態ディレクトリ**:ゲートウェイは任意のユーザーとして実行されますが、最小限のイメージには書き込み可能なホームがありません。`CLAUDE_CONFIG_DIR` を `/tmp/.claude` などの書き込み可能なパスに設定します。86* **書き込み可能な状態ディレクトリ**:ゲートウェイは任意のユーザーとして実行されますが、最小限のイメージには書き込み可能なホームがありません。`CLAUDE_CONFIG_DIR` を `/tmp/.claude` などの書き込み可能なパスに設定します。

87* **コンテナコマンド**:`claude gateway --config /etc/claude/gateway.yaml`。設定ファイルは読み取り専用でマウントされ、シークレットは環境変数として提供されます。ゲートウェイは `listen.port` でリッスンします。デフォルトは `8080` です。87* **コンテナコマンド**:`claude gateway --config /etc/claude/gateway.yaml`。設定ファイルは読み取り専用でマウントされ、シークレットは環境変数として提供されます。ゲートウェイは `listen.port` でリッスンします。デフォルトは `8080` です。

88 88 


99<Note>99<Note>

100 **ワークロードアイデンティティ**100 **ワークロードアイデンティティ**

101 101 

102 静的キーよりもプラットフォームのワークロードアイデンティティを優先します:EKS 上の Bedrock の場合は IRSA、GKE 上の Agent Platform の場合は Workload Identity、AKS 上の Foundry の場合はワークロードアイデンティティ。上流ブロックで `auth: {}` を設定するか、Foundry の場合は `use_azure_ad: true` を設定し、ゲートウェイはそのプロバイダーのデフォルト認証情報チェーンを通じてポッドのアイデンティティを取得します。GKE 上の Bedrock 上流など、クロスクラウドペアリングの場合は、上流の `auth` ブロックで明示的な認証情報を設定します。[`upstreams` リファレンス](/ja/claude-apps-gateway-config#upstreams) にはプラットフォームごとのセットアップ詳細があります。102 静的キーよりもプラットフォームのワークロードアイデンティティを優先します:EKS 上の Bedrock の場合は IRSA、GKE 上の Agent Platform の場合は Workload Identity、AKS 上の Foundry の場合はワークロードアイデンティティ。上流ブロックで `auth: {}` を設定するか、Foundry の場合は `use_azure_ad: true` を設定し、ゲートウェイはそのプロバイダーのデフォルト認証情報チェーンを通じてポッドのアイデンティティを取得します。GKE 上の Bedrock 上流など、クロスクラウドペアリングの場合は、上流の `auth` ブロックで明示的な認証情報を設定します。[`upstreams` リファレンス](/docs/ja/claude-apps-gateway-config#upstreams) にはプラットフォームごとのセットアップ詳細があります。

103</Note>103</Note>

104 104 

105<h3 id="cloud-run">105<h3 id="cloud-run">


109サービスを以下のように設定します:109サービスを以下のように設定します:

110 110 

111* `listen.port` をデフォルトの `8080` のままにします。これは Cloud Run のデフォルト `PORT` と一致するか、`port: ${PORT}` を設定します111* `listen.port` をデフォルトの `8080` のままにします。これは Cloud Run のデフォルト `PORT` と一致するか、`port: ${PORT}` を設定します

112* `public_url` を外部到達可能なオリジンに設定します。本番環境では、これは通常、内部ロードバランサーのホスト名です。`/login` は [パブリックアドレスを拒否](/ja/claude-apps-gateway#prerequisites) し、`*.run.app` URL はそれに解決するため、Cloud Run URL だけは `curl` またはブラウザスモークテストにのみ機能します。例外は、`*.run.app` が Private Service Connect と Cloud DNS プライベートゾーンを通じてプライベートに解決するネットワークです。そのトポロジーでは、Cloud Run URL は有効な `public_url` です。[Google Cloud の実装例](/ja/claude-apps-gateway-on-gcp#deploy-the-gateway) は両方をカバーしています。112* `public_url` を外部到達可能なオリジンに設定します。本番環境では、これは通常、内部ロードバランサーのホスト名です。`/login` は [パブリックアドレスを拒否](/docs/ja/claude-apps-gateway#prerequisites) し、`*.run.app` URL はそれに解決するため、Cloud Run URL だけは `curl` またはブラウザスモークテストにのみ機能します。例外は、`*.run.app` が Private Service Connect と Cloud DNS プライベートゾーンを通じてプライベートに解決するネットワークです。そのトポロジーでは、Cloud Run URL は有効な `public_url` です。[Google Cloud の実装例](/docs/ja/claude-apps-gateway-on-gcp#deploy-the-gateway) は両方をカバーしています。

113* シークレットボリュームとして設定をマウントします113* シークレットボリュームとして設定をマウントします

114* `min-instances: 1` を設定して、最初のリクエストでコールド OIDC ディスカバリーを回避します114* `min-instances: 1` を設定して、最初のリクエストでコールド OIDC ディスカバリーを回避します

115 115 

116<Note>116<Note>

117 Google Cloud での完全な実装例(Cloud Run または GKE、Cloud SQL、Secret Manager をカバー)については、[Google Cloud にデプロイする](/ja/claude-apps-gateway-on-gcp) を参照してください。117 Google Cloud での完全な実装例(Cloud Run または GKE、Cloud SQL、Secret Manager をカバー)については、[Google Cloud にデプロイする](/docs/ja/claude-apps-gateway-on-gcp) を参照してください。

118</Note>118</Note>

119 119 

120<h3 id="push-the-gateway-url-to-developer-machines">120<h3 id="push-the-gateway-url-to-developer-machines">

121 ゲートウェイ URL を開発者マシンにプッシュする121 ゲートウェイ URL を開発者マシンにプッシュする

122</h3>122</h3>

123 123 

124ゲートウェイがサービスを提供したら、MDM を通じて、または OS ごとの `managed-settings.json` を直接書き込むことで、管理設定を通じて各開発者のマシンに `forceLoginMethod` と `forceLoginGatewayUrl` をプッシュします。これなしでは、`/login` はゲートウェイオプションなしで標準アカウントピッカーを表示します。ファイルパスについては、[クライアント側の管理設定](/ja/claude-apps-gateway-config#client-side-managed-settings) を参照してください。124ゲートウェイがサービスを提供したら、MDM を通じて、または OS ごとの `managed-settings.json` を直接書き込むことで、管理設定を通じて各開発者のマシンに `forceLoginMethod` と `forceLoginGatewayUrl` をプッシュします。これなしでは、`/login` はゲートウェイオプションなしで標準アカウントピッカーを表示します。ファイルパスについては、[クライアント側の管理設定](/docs/ja/claude-apps-gateway-config#client-side-managed-settings) を参照してください。

125 125 

126<h2 id="operations">126<h2 id="operations">

127 運用127 運用


160 160 

161* **既存セッション**:ベアラートークンは JWT シークレットでローカルに検証され、セッション更新はストアに触れず、ゲートウェイプロセスは引き続き推論を提供できます161* **既存セッション**:ベアラートークンは JWT シークレットでローカルに検証され、セッション更新はストアに触れず、ゲートウェイプロセスは引き続き推論を提供できます

162* **新しいサインイン**:Postgres が回復するまで失敗します。デバイスフローとそのレート制限カウンターは Postgres に存在するため162* **新しいサインイン**:Postgres が回復するまで失敗します。デバイスフローとそのレート制限カウンターは Postgres に存在するため

163* **[支出制限の実装](/ja/claude-apps-gateway-spend-limits#postgres-availability)**:デフォルトでは障害中に失敗してオープンになるため、推論は引き続き流れます。ブロックするのを好む場合は、失敗を閉じるようにフリップします163* **[支出制限の実装](/docs/ja/claude-apps-gateway-spend-limits#postgres-availability)**:デフォルトでは障害中に失敗してオープンになるため、推論は引き続き流れます。ブロックするのを好む場合は、失敗を閉じるようにフリップします

164* **Readiness**:`/readyz` は障害中に not-ready を報告するため、readiness でトラフィックをゲートするオーケストレーターはすべてのレプリカを一度にローテーションから削除します。そのトポロジーでは、ゲートウェイが引き続き提供できる推論を含むすべてのトラフィックは、Postgres が回復するまでロードバランサーで失敗します。`/healthz` の liveness プローブは引き続き合格するため、レプリカは再起動されません。ストア障害を通じてサインイン済みの開発者が機能し続けるようにしたい場合は、readiness プローブを `/healthz` に指定します。コストは新しいサインインが引き続き ready を報告するレプリカに対して失敗することです。164* **Readiness**:`/readyz` は障害中に not-ready を報告するため、readiness でトラフィックをゲートするオーケストレーターはすべてのレプリカを一度にローテーションから削除します。そのトポロジーでは、ゲートウェイが引き続き提供できる推論を含むすべてのトラフィックは、Postgres が回復するまでロードバランサーで失敗します。`/healthz` の liveness プローブは引き続き合格するため、レプリカは再起動されません。ストア障害を通じてサインイン済みの開発者が機能し続けるようにしたい場合は、readiness プローブを `/healthz` に指定します。コストは新しいサインインが引き続き ready を報告するレプリカに対して失敗することです。

165 165 

166IdP がダウンした場合、既存セッションは `ttl_hours` まで機能し、新しいログインと更新は失敗します。IdP が頻繁なメンテナンスウィンドウを持つ場合は、より長い `ttl_hours` を設定します。166IdP がダウンした場合、既存セッションは `ttl_hours` まで機能し、新しいログインと更新は失敗します。IdP が頻繁なメンテナンスウィンドウを持つ場合は、より長い `ttl_hours` を設定します。


191| `admin_audit` | Admin API ミューテーショントレイル | `admin.audit_retention_days`、デフォルト 365 |191| `admin_audit` | Admin API ミューテーショントレイル | `admin.audit_retention_days`、デフォルト 365 |

192| `principal_emails` | 各プリンシパルの最後に見たメール、表示名、IdP グループ。PII を含みます。 | `admin.identity_retention_days` 最後のアクティビティ以来、デフォルト 90 |192| `principal_emails` | 各プリンシパルの最後に見たメール、表示名、IdP グループ。PII を含みます。 | `admin.identity_retention_days` 最後のアクティビティ以来、デフォルト 90 |

193 193 

19430 秒ループは TTL を超えた `kv` 行を期限切れにし、1 時間のスイープは支出テーブルの保持ウィンドウを実装するため、何も無制限に成長しません。[支出制限](/ja/claude-apps-gateway-spend-limits) が設定されていない場合、`kv` のみが書き込まれます。セキュリティポリシーがアプリケーションロールからの DDL を禁止する場合は、これらのテーブルと `_migrations` を管理ロールで事前作成し、各テーブルに `SELECT, INSERT, UPDATE, DELETE` をアプリロールに付与します。19430 秒ループは TTL を超えた `kv` 行を期限切れにし、1 時間のスイープは支出テーブルの保持ウィンドウを実装するため、何も無制限に成長しません。[支出制限](/docs/ja/claude-apps-gateway-spend-limits) が設定されていない場合、`kv` のみが書き込まれます。セキュリティポリシーがアプリケーションロールからの DDL を禁止する場合は、これらのテーブルと `_migrations` を管理ロールで事前作成し、各テーブルに `SELECT, INSERT, UPDATE, DELETE` をアプリロールに付与します。

195 195 

196支出制限が使用されている場合、失われたデータベースは失われた支出追跡とキャップを意味し、開発者の再ログインだけではないため、定期的なバックアップを実行します。保持を待つのではなく、出発した開発者を直ちに削除するには、`DELETE FROM principal_emails WHERE principal = '<sub>'` を直接実行します。これはメール、名前、グループを保持する唯一のテーブルを削除します。`spend` と `admin_audit` 行は疑似匿名 OIDC `sub` のみを参照します。196支出制限が使用されている場合、失われたデータベースは失われた支出追跡とキャップを意味し、開発者の再ログインだけではないため、定期的なバックアップを実行します。保持を待つのではなく、出発した開発者を直ちに削除するには、`DELETE FROM principal_emails WHERE principal = '<sub>'` を直接実行します。これはメール、名前、グループを保持する唯一のテーブルを削除します。`spend` と `admin_audit` 行は疑似匿名 OIDC `sub` のみを参照します。

197 197 


218| データ | パス | ゲートウェイによって Anthropic に送信 |218| データ | パス | ゲートウェイによって Anthropic に送信 |

219| ------------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------- |219| ------------------------------------------------------------------------------- | ----------------------------------------------------- | --------------------------- |

220| 推論(プロンプト、完了) | CLI → ゲートウェイ → 上流 | Anthropic API が設定された上流の場合のみ |220| 推論(プロンプト、完了) | CLI → ゲートウェイ → 上流 | Anthropic API が設定された上流の場合のみ |

221| テレメトリ(OTLP メトリクス、プラス [オプトイン ログとトレース](/ja/claude-apps-gateway-config#telemetry)) | CLI → ゲートウェイ → コレクター | なし |221| テレメトリ(OTLP メトリクス、プラス [オプトイン ログとトレース](/docs/ja/claude-apps-gateway-config#telemetry)) | CLI → ゲートウェイ → コレクター | なし |

222| アイデンティティ(メール、グループ、sub) | IdP → ゲートウェイ → JWT → CLI。CLI はそれを OTLP エクスポートにスタンプします | なし |222| アイデンティティ(メール、グループ、sub) | IdP → ゲートウェイ → JWT → CLI。CLI はそれを OTLP エクスポートにスタンプします | なし |

223| 管理設定 | ゲートウェイ YAML → CLI | なし |223| 管理設定 | ゲートウェイ YAML → CLI | なし |

224| 監査ログ | ゲートウェイ stderr → アグリゲーター | なし |224| 監査ログ | ゲートウェイ stderr → アグリゲーター | なし |


237 237 

2382 つの脅威は、インフラストラクチャを保護するためのものであるため、スコープ外です:2382 つの脅威は、インフラストラクチャを保護するためのものであるため、スコープ外です:

239 239 

240* **侵害されたゲートウェイホスト**:ホストは上流認証情報を保持し、[管理設定](/ja/claude-apps-gateway-config#managed) をすべての接続された開発者に配布するため、ゲートウェイの設定の制御は MDM の制御に匹敵します。CLI の 1 回限りの承認ダイアログはシェル対応設定のサイレント変更を制限しますが、ホストセキュリティに置き換わりません。240* **侵害されたゲートウェイホスト**:ホストは上流認証情報を保持し、[管理設定](/docs/ja/claude-apps-gateway-config#managed) をすべての接続された開発者に配布するため、ゲートウェイの設定の制御は MDM の制御に匹敵します。CLI の 1 回限りの承認ダイアログはシェル対応設定のサイレント変更を制限しますが、ホストセキュリティに置き換わりません。

241* **悪意のある OIDC プロバイダー**:プロバイダーはゲートウェイが信頼する id\_token に署名するため、任意のアイデンティティを主張できます。IdP の検証と保護はあなたの責任です。241* **悪意のある OIDC プロバイダー**:プロバイダーはゲートウェイが信頼する id\_token に署名するため、任意のアイデンティティを主張できます。IdP の検証と保護はあなたの責任です。

242 242 

243<h3 id="user-code-brute-force-resistance">243<h3 id="user-code-brute-force-resistance">


246 246 

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

248 248 

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

250 250 

251<h3 id="compliance-posture">251<h3 id="compliance-posture">

252 コンプライアンス体制252 コンプライアンス体制


255* **データレジデンシー**:ゲートウェイ自体のデータプレーンは、Anthropic API が設定された上流の場合を除き、Anthropic に何も送信しません。その場合、既存のデータ処理契約が推論パスに適用されます。テレメトリ、監査、アイデンティティ、設定は設定した宛先にのみ行きます。255* **データレジデンシー**:ゲートウェイ自体のデータプレーンは、Anthropic API が設定された上流の場合を除き、Anthropic に何も送信しません。その場合、既存のデータ処理契約が推論パスに適用されます。テレメトリ、監査、アイデンティティ、設定は設定した宛先にのみ行きます。

256* **ホストプロセストラフィック**:ホストプロセスは Claude Code CLI です。スタートアップ分析と更新チェックを Anthropic に送信できます。厳密なエグレスデプロイメントの場合は、ゲートウェイのコンテナ環境で `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` を設定します。256* **ホストプロセストラフィック**:ホストプロセスは Claude Code CLI です。スタートアップ分析と更新チェックを Anthropic に送信できます。厳密なエグレスデプロイメントの場合は、ゲートウェイのコンテナ環境で `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` を設定します。

257* **クライアント分析**:CLI はゲートウェイにサインインしている間、独自の使用分析を無効にし、エラー報告はサードパーティ API サーフェスでデフォルトでオフです。257* **クライアント分析**:CLI はゲートウェイにサインインしている間、独自の使用分析を無効にし、エラー報告はサードパーティ API サーフェスでデフォルトでオフです。

258* **クライアントマシン**:開発者の CLI は、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` と `skipWebFetchPreflight: true` が設定されていない限り、WebFetch ホスト名チェックとバージョンチェックを Anthropic に送信し続けます。[データ使用](/ja/data-usage) を参照してください。258* **クライアントマシン**:開発者の CLI は、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1` と `skipWebFetchPreflight: true` が設定されていない限り、WebFetch ホスト名チェックとバージョンチェックを Anthropic に送信し続けます。[データ使用](/docs/ja/data-usage) を参照してください。

259* **サーベイ評価**:ゲートウェイ認証情報は Anthropic バウンド評価シンクを無効にするため、評価は Anthropic に送信されません。259* **サーベイ評価**:ゲートウェイ認証情報は Anthropic バウンド評価シンクを無効にするため、評価は Anthropic に送信されません。

260* **トランスクリプト共有**:サーベイのトランスクリプト共有プロンプトで「はい」を選択すると、Anthropic にアップロードする代わりに `~/.claude/feedback-bundles/` の下にローカルファイルを書き込みます。260* **トランスクリプト共有**:サーベイのトランスクリプト共有プロンプトで「はい」を選択すると、Anthropic にアップロードする代わりに `~/.claude/feedback-bundles/` の下にローカルファイルを書き込みます。

261* **クライアント更新**:更新チェックはゲートウェイトラフィックとは別です。独自の配布を通じてバージョンをピン留めし、ラップトップがリリースをフェッチしてはいけない場合は `DISABLE_UPDATES` を設定します。`DISABLE_AUTOUPDATER` はバックグラウンド更新のみを停止し、`claude update` は引き続き機能します。261* **クライアント更新**:更新チェックはゲートウェイトラフィックとは別です。独自の配布を通じてバージョンをピン留めし、ラップトップがリリースをフェッチしてはいけない場合は `DISABLE_UPDATES` を設定します。`DISABLE_AUTOUPDATER` はバックグラウンド更新のみを停止し、`claude update` は引き続き機能します。

262* **TLS**:本番環境で `public_url` を HTTPS 経由で提供します。ゲートウェイ自体のリスナー経由で `listen.tls` を使用するか、プレーン HTTP レプリカの前の TLS 終了 ingress から `listen.public_url` を設定します。ゲートウェイはプレーン HTTP を拒否しません。IdP は本番環境で HTTPS を提供する必要があり、Postgres は `?sslmode=require` をサポートします。ingress で `Strict-Transport-Security` を設定します。262* **TLS**:本番環境で `public_url` を HTTPS 経由で提供します。ゲートウェイ自体のリスナー経由で `listen.tls` を使用するか、プレーン HTTP レプリカの前の TLS 終了 ingress から `listen.public_url` を設定します。ゲートウェイはプレーン HTTP を拒否しません。IdP は本番環境で HTTPS を提供する必要があり、Postgres は `?sslmode=require` をサポートします。ingress で `Strict-Transport-Security` を設定します。

263* **脆弱性開示**:[セキュリティ問題の報告](/ja/security#reporting-security-issues) に従います263* **脆弱性開示**:[セキュリティ問題の報告](/docs/ja/security#reporting-security-issues) に従います

264 264 

265<h2 id="troubleshooting">265<h2 id="troubleshooting">

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


272* **ログイン問題**:開発者は `claude --debug-file ./claude-debug.txt` を実行し、再現し、そのファイルとゲートウェイの同じウィンドウの監査ログを送信します272* **ログイン問題**:開発者は `claude --debug-file ./claude-debug.txt` を実行し、再現し、そのファイルとゲートウェイの同じウィンドウの監査ログを送信します

273* **推論問題**:リクエストされたモデル、設定された上流、リクエストのゲートウェイ監査ログ。どの上流がそれを提供したか、応答ステータスを記録します273* **推論問題**:リクエストされたモデル、設定された上流、リクエストのゲートウェイ監査ログ。どの上流がそれを提供したか、応答ステータスを記録します

274 274 

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

276 

275| 症状 | 原因 | 修正 |277| 症状 | 原因 | 修正 |

276| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |278| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

278| スタートアップは `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` を表示 | インストールされた Claude Code ビルドはゲートウェイサポートより前 | 開発者に Claude Code を Cloud gateway サポートを含むリリースに更新させます |280| スタートアップは `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` を表示 | インストールされた Claude Code ビルドはゲートウェイサポートより前 | 開発者に Claude Code を Cloud gateway サポートを含むリリースに更新させます |

279| CLI `/login`:`Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | ゲートウェイホスト名は少なくとも 1 つのパブリック IP アドレスに解決されます。Claude Code は各解決されたアドレスをチェックし、すべてがプライベートであることを要求します。一般的な原因は、1 つのファミリーがパブリックアドレスに解決するデュアルスタック名です。AWS 内部デュアルスタックロードバランサーを含み、パブリック範囲 AAAA アドレスを返します。Anthropic が運用するパブリックゲートウェイエンドポイントはチェックから除外され、`/login` は `https://` 経由でそれらを受け入れます。v2.1.206 より前では、`/login` は他のパブリックアドレスと同様にそれらを拒否しました | ゲートウェイ名が開発者マシンでプライベートアドレスのみに解決されるようにします。デュアルスタック名の場合は、パブリック範囲レコードをドロップするか、個別の内部専用 DNS 名を提供します。[プライベートネットワーク前提条件](/ja/claude-apps-gateway#prerequisites) を参照してください。 |281| CLI `/login`:`Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | ゲートウェイホスト名は少なくとも 1 つのパブリック IP アドレスに解決されます。Claude Code は各解決されたアドレスをチェックし、すべてがプライベートであることを要求します。一般的な原因は、1 つのファミリーがパブリックアドレスに解決するデュアルスタック名です。AWS 内部デュアルスタックロードバランサーを含み、パブリック範囲 AAAA アドレスを返します。Anthropic が運用するパブリックゲートウェイエンドポイントはチェックから除外され、`/login` は `https://` 経由でそれらを受け入れます。v2.1.206 より前では、`/login` は他のパブリックアドレスと同様にそれらを拒否しました | ゲートウェイ名が開発者マシンでプライベートアドレスのみに解決されるようにします。デュアルスタック名の場合は、パブリック範囲レコードをドロップするか、個別の内部専用 DNS 名を提供します。[プライベートネットワーク前提条件](/docs/ja/claude-apps-gateway#prerequisites) を参照してください。 |

280| CLI `/login`:`Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | `HTTPS_PROXY` または `HTTP_PROXY` がゲートウェイホストに適用され、プロキシのホスト名がパブリックアドレスに解決されます。ホスト名がプライベートアドレスのみに解決するプロキシは許可され、このエラーをトリガーしません | ゲートウェイホストを開発者のマシンの `NO_PROXY` に追加して、接続が直接になるようにするか、ホスト名がプライベートアドレスに解決するプロキシを使用します |282| CLI `/login`:`Gateway login requires a direct connection and does not support connecting through an HTTP proxy` | `HTTPS_PROXY` または `HTTP_PROXY` がゲートウェイホストに適用され、プロキシのホスト名がパブリックアドレスに解決されます。ホスト名がプライベートアドレスのみに解決するプロキシは許可され、このエラーをトリガーしません | ゲートウェイホストを開発者のマシンの `NO_PROXY` に追加して、接続が直接になるようにするか、ホスト名がプライベートアドレスに解決するプロキシを使用します |

281| CLI `/login`:`Could not resolve gateway host <host>` | マシンはゲートウェイの内部 DNS 名を解決できません。通常、企業ネットワークにないため | 開発者にネットワークまたは VPN に接続させ、`/login` を再試行します |283| CLI `/login`:`Could not resolve gateway host <host>` | マシンはゲートウェイの内部 DNS 名を解決できません。通常、企業ネットワークにないため | 開発者にネットワークまたは VPN に接続させ、`/login` を再試行します |

282| ブートは `store.postgres_url` という名前の設定検証エラーで終了 | Postgres が設定されていません。ゲートウェイは Postgres が必要です | `store.postgres_url` を設定します。ローカル開発の場合は、使い捨てコンテナを使用します:`docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |284| ブートは `store.postgres_url` という名前の設定検証エラーで終了 | Postgres が設定されていません。ゲートウェイは Postgres が必要です | `store.postgres_url` を設定します。ローカル開発の場合は、使い捨てコンテナを使用します:`docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`。 |

283| ブートは終了:`requires the native binary` | Node の代わりにネイティブバイナリの下で実行 | [スタンドアロンインストール方法](/ja/setup) の 1 つで Claude Code をインストールします |285| ブートは終了:`requires the native binary` | Node の代わりにネイティブバイナリの下で実行 | [スタンドアロンインストール方法](/docs/ja/setup) の 1 つで Claude Code をインストールします |

284| ブートは `config.load` の後の OIDC ディスカバリーエラーで終了 | `oidc.issuer` に到達不可、または TLS チェーンが信頼されていない | issuer がポッドから到達可能で `/.well-known/openid-configuration` を提供することを確認します。プライベート PKI の場合は `ca_cert_pem` を設定します。 |286| ブートは `config.load` の後の OIDC ディスカバリーエラーで終了 | `oidc.issuer` に到達不可、または TLS チェーンが信頼されていない | issuer がポッドから到達可能で `/.well-known/openid-configuration` を提供することを確認します。プライベート PKI の場合は `ca_cert_pem` を設定します。 |

285| ブートは Postgres パーミッションエラーで終了 | アプリロールに `CREATE TABLE` がない | 管理ロールでスキーマを事前作成し、アプリロールに DML を付与するか、新しいマイグレーションを適用するブートのために DDL を一時的に付与します |287| ブートは Postgres パーミッションエラーで終了 | アプリロールに `CREATE TABLE` がない | 管理ロールでスキーマを事前作成し、アプリロールに DML を付与するか、新しいマイグレーションを適用するブートのために DDL を一時的に付与します |

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


293| サインインは IdP で完了しますが、コールバックは失敗します。Chrome で CSP エラーまたは Safari で「this sign-in link has expired」 | IdP は `response_mode=form_post` を通じてコードを返しました。これは `/oauth/callback` にクロスオリジン POST を通じて自動送信します。Chrome はそれを厳密な CSP の下でブロックします。Safari は送信を許可しますが、コールバックはクエリ文字列のみを読み込みます。 | IdP が `response_mode=query` を尊重することを確認します。ゲートウェイは明示的にリクエストするため、コールバックはプレーンリダイレクトです |295| サインインは IdP で完了しますが、コールバックは失敗します。Chrome で CSP エラーまたは Safari で「this sign-in link has expired」 | IdP は `response_mode=form_post` を通じてコードを返しました。これは `/oauth/callback` にクロスオリジン POST を通じて自動送信します。Chrome はそれを厳密な CSP の下でブロックします。Safari は送信を許可しますが、コールバックはクエリ文字列のみを読み込みます。 | IdP が `response_mode=query` を尊重することを確認します。ゲートウェイは明示的にリクエストするため、コールバックはプレーンリダイレクトです |

294| ログインはローカルで機能しますが、ALB の背後で失敗します | `public_url` が設定されていないため、IdP は内部 `http://` オリジンを `redirect_uri` として取得します | `listen.public_url` を外部 `https://` オリジンに設定します |296| ログインはローカルで機能しますが、ALB の背後で失敗します | `public_url` が設定されていないため、IdP は内部 `http://` オリジンを `redirect_uri` として取得します | `listen.public_url` を外部 `https://` オリジンに設定します |

295| 開発者は信頼プロンプトを繰り返し見ます | TLS 証明書はレプリカごと、またはリクエストごとにローテーションしています | ingress で安定した証明書を使用するか、TLS を 1 回終了し、レプリカをプレーン HTTP で内部で実行します |297| 開発者は信頼プロンプトを繰り返し見ます | TLS 証明書はレプリカごと、またはリクエストごとにローテーションしています | ingress で安定した証明書を使用するか、TLS を 1 回終了し、レプリカをプレーン HTTP で内部で実行します |

296| CLI `/login`:「Could not verify the gateway's TLS certificate」または `SELF_SIGNED_CERT_IN_CHAIN` | ゲートウェイの TLS チェーンは、CLI ホストの信頼ストアにないプライベート CA によって署名されています | Claude Code はデフォルトでネイティブバイナリで OS 信頼ストアを読み込み、Node 22.15 以降で読み込みます。[`CLAUDE_CODE_CERT_STORE`](/ja/network-config#ca-certificate-store) はこの動作を制御します。CA が OS 信頼ストアにインストールされている場合は、開発者が現在のランタイムにいることを確認します。そうでない場合は、起動する前に `NODE_EXTRA_CA_CERTS` を CA 証明書 PEM に設定します。最初の接続フィンガープリントプロンプトは引き続き適用されます。 |298| CLI `/login`:「Could not verify the gateway's TLS certificate」または `SELF_SIGNED_CERT_IN_CHAIN` | ゲートウェイの TLS チェーンは、CLI ホストの信頼ストアにないプライベート CA によって署名されています | Claude Code はデフォルトでネイティブバイナリで OS 信頼ストアを読み込み、Node 22.15 以降で読み込みます。[`CLAUDE_CODE_CERT_STORE`](/docs/ja/network-config#ca-certificate-store) はこの動作を制御します。CA が OS 信頼ストアにインストールされている場合は、開発者が現在のランタイムにいることを確認します。そうでない場合は、起動する前に `NODE_EXTRA_CA_CERTS` を CA 証明書 PEM に設定します。最初の接続フィンガープリントプロンプトは引き続き適用されます。 |

297 299 

298<h2 id="related">300<h2 id="related">

299 関連301 関連

300</h2>302</h2>

301 303 

302* [Claude apps gateway の概要](/ja/claude-apps-gateway):クイックスタートと開発者接続304* [Claude apps gateway の概要](/docs/ja/claude-apps-gateway):クイックスタートと開発者接続

303* [設定リファレンス](/ja/claude-apps-gateway-config):すべての `gateway.yaml` オプション305* [設定リファレンス](/docs/ja/claude-apps-gateway-config):すべての `gateway.yaml` オプション

commands.md +77 −77

Details

10 10 

11`/` と入力すると、利用可能なすべてのコマンドが表示されます。または `/` の後に文字を入力してフィルタリングできます。11`/` と入力すると、利用可能なすべてのコマンドが表示されます。または `/` の後に文字を入力してフィルタリングできます。

12 12 

13コマンドはメッセージの開始時にのみ認識されます。コマンド名の後に続くテキストは引数として渡されます。v2.1.199 以降、[スキル](/ja/skills#pass-arguments-to-skills)は例外です。スキル呼び出しの後に別のスキルが続く場合(例:`/skill-a /skill-b do XYZ`)、開始時に指定されたすべてのスキルが読み込まれ、末尾のテキストが各スキルに引数として渡されます。最大 6 つのスキルをチェーンできます。13コマンドはメッセージの開始時にのみ認識されます。コマンド名の後に続くテキストは引数として渡されます。v2.1.199 以降、[スキル](/docs/ja/skills#pass-arguments-to-skills)は例外です。スキル呼び出しの後に別のスキルが続く場合(例:`/skill-a /skill-b do XYZ`)、開始時に指定されたすべてのスキルが読み込まれ、末尾のテキストが各スキルに引数として渡されます。最大 6 つのスキルをチェーンできます。

14 14 

15Claude が応答中にコマンドを送信した場合、そのコマンドはキューに入り、現在のターンが終了した後に実行されます。`/status`、`/tasks`、`/usage` などの一部のコマンドは、応答を中断することなく直ちに実行されます。15Claude が応答中にコマンドを送信した場合、そのコマンドはキューに入り、現在のターンが終了した後に実行されます。`/status`、`/tasks`、`/usage` などの一部のコマンドは、応答を中断することなく直ちに実行されます。

16 16 


20 20 

21ほとんどのコマンドはセッション内の特定の時点で有用です。プロジェクトのセットアップから変更のリリースまでです。21ほとんどのコマンドはセッション内の特定の時点で有用です。プロジェクトのセットアップから変更のリリースまでです。

22 22 

23**リポジトリでの最初のセッション。** `/init` を実行してスターター `CLAUDE.md` を生成し、その後 `/memory` を実行して改善します。`/mcp` を使用してプロジェクトが必要とするサーバーをセットアップし、Claude に作成してほしい[サブエージェント](/ja/sub-agents)を依頼し、`/permissions` を実行して承認ルールを設定します。23**リポジトリでの最初のセッション。** `/init` を実行してスターター `CLAUDE.md` を生成し、その後 `/memory` を実行して改善します。`/mcp` を使用してプロジェクトが必要とするサーバーをセットアップし、Claude に作成してほしい[サブエージェント](/docs/ja/sub-agents)を依頼し、`/permissions` を実行して承認ルールを設定します。

24 24 

25**タスク中。** `/plan` は大きな変更の前に Plan Mode に切り替えます。`/model` と `/effort` は使用しているモデルと適用する推論量を調整します。会話が長くなったら、`/context` はウィンドウを埋めているものを表示し、`/compact` はそれを要約してスペースを解放します。`/btw` を使用して、会話履歴に追加すべきではない素早い脇道を作成します。25**タスク中。** `/plan` は大きな変更の前に Plan Mode に切り替えます。`/model` と `/effort` は使用しているモデルと適用する推論量を調整します。会話が長くなったら、`/context` はウィンドウを埋めているものを表示し、`/compact` はそれを要約してスペースを解放します。`/btw` を使用して、会話履歴に追加すべきではない素早い脇道を作成します。

26 26 

27**並行して作業を実行する。** Claude は副次的なタスクを[サブエージェント](/ja/sub-agents)に委譲し、`/tasks` は現在のセッションのバックグラウンドで実行されているものをリストします。サブエージェントが完了したものも含みます。`/background` はセッション全体をデタッチして[バックグラウンドエージェント](/ja/agent-view)として実行し続け、ターミナルを解放します。コードベース全体にまたがる大きな変更の場合、`/batch` はそれを独立したユニットに分解し、各ユニットを独自の[worktree](/ja/worktrees)で実行します。これらのアプローチがどのように関連しているかについては、[エージェントを並行して実行する](/ja/agents)を参照してください。27**並行して作業を実行する。** Claude は副次的なタスクを[サブエージェント](/docs/ja/sub-agents)に委譲し、`/tasks` は現在のセッションのバックグラウンドで実行されているものをリストします。サブエージェントが完了したものも含みます。`/background` はセッション全体をデタッチして[バックグラウンドエージェント](/docs/ja/agent-view)として実行し続け、ターミナルを解放します。コードベース全体にまたがる大きな変更の場合、`/batch` はそれを独立したユニットに分解し、各ユニットを独自の[worktree](/docs/ja/worktrees)で実行します。これらのアプローチがどのように関連しているかについては、[エージェントを並行して実行する](/docs/ja/agents)を参照してください。

28 28 

29**リリース前。** `/diff` は変更内容を表示し、`/code-review` は diff の正確性のバグをチェックしてクリーンアップを行い、`--fix` で検出結果を適用できます。`/review` は GitHub プルリクエストの高速な単一パスの読み取り専用レビューを提供し、`/code-review <level> <pr#>` はマルチエージェントレビューを実行し、`/security-review` は diff のセキュリティ脆弱性をチェックします。`/code-review ultra` はクラウドでマルチエージェントレビューを実行します。29**リリース前。** `/diff` は変更内容を表示し、`/code-review` は diff の正確性のバグをチェックしてクリーンアップを行い、`--fix` で検出結果を適用できます。`/review` は GitHub プルリクエストの高速な単一パスの読み取り専用レビューを提供し、`/code-review <level> <pr#>` はマルチエージェントレビューを実行し、`/security-review` は diff のセキュリティ脆弱性をチェックします。`/code-review ultra` はクラウドでマルチエージェントレビューを実行します。

30 30 


38 38 

39以下の表は Claude Code に含まれるすべてのコマンドをリストしています。ほとんどは CLI にコード化された動作を持つ組み込みコマンドです。2 つの種類のエントリがマークされています。39以下の表は Claude Code に含まれるすべてのコマンドをリストしています。ほとんどは CLI にコード化された動作を持つ組み込みコマンドです。2 つの種類のエントリがマークされています。

40 40 

41* **[スキル](/ja/skills#bundled-skills)**: バンドルされたスキル。自分で作成するスキルと同じように機能します。Claude に渡されるプロンプトであり、Claude は関連する場合に自動的に呼び出すこともできます。41* **[スキル](/docs/ja/skills#bundled-skills)**: バンドルされたスキル。自分で作成するスキルと同じように機能します。Claude に渡されるプロンプトであり、Claude は関連する場合に自動的に呼び出すこともできます。

42* **[ワークフロー](/ja/workflows#bundled-workflows)**: バンドルされた[動的ワークフロー](/ja/workflows)。多くのサブエージェント間で作業をファンアウトし、バックグラウンドで実行されます。42* **[ワークフロー](/docs/ja/workflows#bundled-workflows)**: バンドルされた[動的ワークフロー](/docs/ja/workflows)。多くのサブエージェント間で作業をファンアウトし、バックグラウンドで実行されます。

43 43 

44独自のコマンドを追加するには、[スキル](/ja/skills)を参照してください。44独自のコマンドを追加するには、[スキル](/docs/ja/skills)を参照してください。

45 45 

46以下の表では、`<arg>` は必須引数を示し、`[arg]` はオプション引数を示します。46以下の表では、`<arg>` は必須引数を示し、`[arg]` はオプション引数を示します。

47 47 


51 51 

52| コマンド | 目的 |52| コマンド | 目的 |

53| :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |53| :--------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

54| `/add-dir <path>` | 現在のセッション中にファイルアクセス用の作業ディレクトリを追加します。部分的なパスを入力すると、一致するディレクトリの提案が表示されます。`Tab` を押して 1 つを受け入れます。ほとんどの `.claude/` 設定は追加されたディレクトリから[検出されません](/ja/permissions#additional-directories-grant-file-access-not-configuration)。後で `--continue` または `--resume` を使用して、追加されたディレクトリからセッションを再開できます |54| `/add-dir <path>` | 現在のセッション中にファイルアクセス用の作業ディレクトリを追加します。部分的なパスを入力すると、一致するディレクトリの提案が表示されます。`Tab` を押して 1 つを受け入れます。ほとんどの `.claude/` 設定は追加されたディレクトリから[検出されません](/docs/ja/permissions#additional-directories-grant-file-access-not-configuration)。後で `--continue` または `--resume` を使用して、追加されたディレクトリからセッションを再開できます |

55| `/advisor [model\|off]` | [アドバイザーツール](/ja/advisor)を有効または無効にします。このツールはタスク中の重要な瞬間に 2 番目のモデルに相談して指導を受けます。`opus`、`sonnet`、`fable`({/* min-version: 2.1.170 */}v2.1.170+)、または完全なモデル ID を受け入れます。引数なしで、ピッカーを開きます |55| `/advisor [model\|off]` | [アドバイザーツール](/docs/ja/advisor)を有効または無効にします。このツールはタスク中の重要な瞬間に 2 番目のモデルに相談して指導を受けます。`opus`、`sonnet`、`fable`({/* min-version: 2.1.170 */}v2.1.170+)、または完全なモデル ID を受け入れます。引数なしで、ピッカーを開きます |

56| `/agents` | {/* min-version: 2.1.198 */}v2.1.198 以降、`/agents` を実行すると、Claude に[サブエージェント](/ja/sub-agents)を作成または管理するよう依頼するか、`.claude/agents/` または `~/.claude/agents/` を直接編集するよう促すリマインダーが出力されます。{/* max-version: 2.1.197 */}v2.1.197 以前では、サブエージェント設定を作成および管理するためのインタラクティブインターフェースを開きます |56| `/agents` | {/* min-version: 2.1.198 */}v2.1.198 以降、`/agents` を実行すると、Claude に[サブエージェント](/docs/ja/sub-agents)を作成または管理するよう依頼するか、`.claude/agents/` または `~/.claude/agents/` を直接編集するよう促すリマインダーが出力されます。{/* max-version: 2.1.197 */}v2.1.197 以前では、サブエージェント設定を作成および管理するためのインタラクティブインターフェースを開きます |

57| `/autofix-pr [prompt]` | 現在のブランチの PR を監視し、CI が失敗するか、レビュアーがコメントを残したときに修正をプッシュする [Claude Code on the web](/ja/claude-code-on-the-web#auto-fix-pull-requests) セッションを生成します。`gh pr view` で開いている PR を検出します。別の PR を監視するには、最初にそのブランチをチェックアウトしてください。デフォルトでは、クラウドセッションはすべての CI 失敗とレビューコメントを修正するよう指示されます。プロンプトを渡して異なる指示を与えることができます。例えば `/autofix-pr only fix lint and type errors`。`gh` CLI と [Claude Code on the web](/ja/claude-code-on-the-web) へのアクセスが必要です |57| `/autofix-pr [prompt]` | 現在のブランチの PR を監視し、CI が失敗するか、レビュアーがコメントを残したときに修正をプッシュする [Claude Code on the web](/docs/ja/claude-code-on-the-web#auto-fix-pull-requests) セッションを生成します。`gh pr view` で開いている PR を検出します。別の PR を監視するには、最初にそのブランチをチェックアウトしてください。デフォルトでは、クラウドセッションはすべての CI 失敗とレビューコメントを修正するよう指示されます。プロンプトを渡して異なる指示を与えることができます。例えば `/autofix-pr only fix lint and type errors`。`gh` CLI と [Claude Code on the web](/docs/ja/claude-code-on-the-web) へのアクセスが必要です |

58| `/background [prompt]` | 現在のセッションをデタッチして[バックグラウンドエージェント](/ja/agent-view)として実行し、このターミナルを解放します。デタッチする前に 1 つ以上の指示を送信するためにプロンプトを渡します。`claude agents` でセッションを監視します。エイリアス: `/bg` |58| `/background [prompt]` | 現在のセッションをデタッチして[バックグラウンドエージェント](/docs/ja/agent-view)として実行し、このターミナルを解放します。デタッチする前に 1 つ以上の指示を送信するためにプロンプトを渡します。`claude agents` でセッションを監視します。エイリアス: `/bg` |

59| `/batch <instruction>` | **[スキル](/ja/skills#bundled-skills)。** コードベース全体にわたる大規模な変更を並列で調整します。コードベースを調査し、作業を 5 ~ 30 個の独立したユニットに分解し、計画を提示します。承認されると、分離された [git worktree](/ja/worktrees) 内の各ユニットごとに 1 つの[バックグラウンドサブエージェント](/ja/sub-agents#run-subagents-in-foreground-or-background)を生成します。各サブエージェントはそのユニットを実装し、テストを実行し、プルリクエストを開きます。git リポジトリが必要です。例: `/batch migrate src/ from Solid to React` |59| `/batch <instruction>` | **[スキル](/docs/ja/skills#bundled-skills)。** コードベース全体にわたる大規模な変更を並列で調整します。コードベースを調査し、作業を 5 ~ 30 個の独立したユニットに分解し、計画を提示します。承認されると、分離された [git worktree](/docs/ja/worktrees) 内の各ユニットごとに 1 つの[バックグラウンドサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)を生成します。各サブエージェントはそのユニットを実装し、テストを実行し、プルリクエストを開きます。git リポジトリが必要です。例: `/batch migrate src/ from Solid to React` |

60| `/branch [name]` | この時点で現在の会話のブランチを作成します。ブランチに切り替え、元の会話を保持します。`/resume` で戻ることができます。サイドタスクをバックグラウンドサブエージェントに渡す代わりに自分自身をコピーに切り替えるには、`/fork` を使用します |60| `/branch [name]` | この時点で現在の会話のブランチを作成します。ブランチに切り替え、元の会話を保持します。`/resume` で戻ることができます。サイドタスクをバックグラウンドサブエージェントに渡す代わりに自分自身をコピーに切り替えるには、`/fork` を使用します |

61| `/btw <question>` | 会話に追加せずに[サイドクエスチョン](/ja/interactive-mode#side-questions-with-%2Fbtw)として素早く質問します |61| `/btw <question>` | 会話に追加せずに[サイドクエスチョン](/docs/ja/interactive-mode#side-questions-with-%2Fbtw)として素早く質問します |

62| `/cd <path>` | {/* min-version: 2.1.169 */}このセッションを新しい作業ディレクトリに移動します。会話のプロンプトキャッシュは保持されます。新しいディレクトリの [`CLAUDE.md`](/ja/memory) はシステムプロンプトを再構築する代わりにメッセージとして追加されます。セッションは新しいディレクトリのプロジェクトストレージに再配置されるため、`--resume` と `--continue` はそこから見つかります。以前に作業していないディレクトリを信頼するよう求めます。{/* min-version: 2.1.206 */}部分的なパスを入力すると、一致するディレクトリの提案が表示されます。`Tab` を押して 1 つを受け入れます。提案には Claude Code v2.1.206 以降が必要です。セッションを移動せずに追加ディレクトリへのアクセスを許可するには、`/add-dir` を使用します。[`Cd` 権限ルール](/ja/permissions#cd)で `/cd` ターゲットを制限または無効にします。Claude Code v2.1.169 以降が必要です。以前のバージョンは `Unknown command: /cd` を報告します |62| `/cd <path>` | {/* min-version: 2.1.169 */}このセッションを新しい作業ディレクトリに移動します。会話のプロンプトキャッシュは保持されます。新しいディレクトリの [`CLAUDE.md`](/docs/ja/memory) はシステムプロンプトを再構築する代わりにメッセージとして追加されます。セッションは新しいディレクトリのプロジェクトストレージに再配置されるため、`--resume` と `--continue` はそこから見つかります。以前に作業していないディレクトリを信頼するよう求めます。{/* min-version: 2.1.206 */}部分的なパスを入力すると、一致するディレクトリの提案が表示されます。`Tab` を押して 1 つを受け入れます。提案には Claude Code v2.1.206 以降が必要です。セッションを移動せずに追加ディレクトリへのアクセスを許可するには、`/add-dir` を使用します。[`Cd` 権限ルール](/docs/ja/permissions#cd)で `/cd` ターゲットを制限または無効にします。Claude Code v2.1.169 以降が必要です。以前のバージョンは `Unknown command: /cd` を報告します |

63| `/chrome` | [Chrome の Claude](/ja/chrome) 設定を構成します |63| `/chrome` | [Chrome の Claude](/docs/ja/chrome) 設定を構成します |

64| `/claude-api [migrate\|managed-agents-onboard]` | **[スキル](/ja/skills#bundled-skills)。** プロジェクトの言語(Python、TypeScript、Java、Go、Ruby、C#、PHP、または cURL)と Managed Agents リファレンス用の Claude API リファレンス資料を読み込みます。ツール使用、ストリーミング、バッチ、構造化出力、および一般的な落とし穴をカバーしています。また、コードが `anthropic` または `@anthropic-ai/sdk` をインポートするときに自動的にアクティブになります。`/claude-api migrate` を実行して、既存の Claude API コードを新しいモデルにアップグレードします。Claude はスキャンするファイルとターゲットモデルを尋ね、モデル ID、思考設定、およびバージョン間で変更されたその他のパラメータを更新します。`/claude-api managed-agents-onboard` を実行して、新しい Managed Agent をゼロから作成するインタラクティブなウォークスルーを実施します |64| `/claude-api [migrate\|managed-agents-onboard]` | **[スキル](/docs/ja/skills#bundled-skills)。** プロジェクトの言語(Python、TypeScript、Java、Go、Ruby、C#、PHP、または cURL)と Managed Agents リファレンス用の Claude API リファレンス資料を読み込みます。ツール使用、ストリーミング、バッチ、構造化出力、および一般的な落とし穴をカバーしています。また、コードが `anthropic` または `@anthropic-ai/sdk` をインポートするときに自動的にアクティブになります。`/claude-api migrate` を実行して、既存の Claude API コードを新しいモデルにアップグレードします。Claude はスキャンするファイルとターゲットモデルを尋ね、モデル ID、思考設定、およびバージョン間で変更されたその他のパラメータを更新します。`/claude-api managed-agents-onboard` を実行して、新しい Managed Agent をゼロから作成するインタラクティブなウォークスルーを実施します |

65| `/clear [name]` | 空のコンテキストで新しい会話を開始します。前の会話にラベルを付けるために名前を渡します。`/resume` ピッカーで前の会話を再開できます。同じ会話を続けながらコンテキストを解放するには、代わりに `/compact` を使用してください。前の会話を `/resume` で再開するか、同じ Claude Code プロセス内で、{/* min-version: 2.1.191 */}}[巻き戻しメニューの前のセッションエントリ](/ja/checkpointing#rewind-past-a-cleared-conversation)から復元します。エイリアス: `/reset`、`/new` |65| `/clear [name]` | 空のコンテキストで新しい会話を開始します。前の会話にラベルを付けるために名前を渡します。`/resume` ピッカーで前の会話を再開できます。同じ会話を続けながらコンテキストを解放するには、代わりに `/compact` を使用してください。前の会話を `/resume` で再開するか、同じ Claude Code プロセス内で、{/* min-version: 2.1.191 */}}[巻き戻しメニューの前のセッションエントリ](/docs/ja/checkpointing#rewind-past-a-cleared-conversation)から復元します。エイリアス: `/reset`、`/new` |

66| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[スキル](/ja/skills#bundled-skills)。** 現在の diff を正確性バグについてレビューし、再利用、簡潔化、効率化のクリーンアップについてレビューします。`--fix` を渡して結果を作業ツリーに適用し、`--comment` を渡して GitHub PR にインラインコメントとして投稿し、`ultra` を渡してディープ[クラウドレビュー](/ja/ultrareview)を実行します。{/* min-version: 2.1.154 */}v2.1.154 以降、`/simplify` は別のクリーンアップのみのレビューを実行し、バグを探さずに修正を適用します。[diff をローカルでレビュー](/ja/code-review#review-a-diff-locally)を参照して、努力レベルとターゲット設定を確認してください |66| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [target]` | **[スキル](/docs/ja/skills#bundled-skills)。** 現在の diff を正確性バグについてレビューし、再利用、簡潔化、効率化のクリーンアップについてレビューします。`--fix` を渡して結果を作業ツリーに適用し、`--comment` を渡して GitHub PR にインラインコメントとして投稿し、`ultra` を渡してディープ[クラウドレビュー](/docs/ja/ultrareview)を実行します。{/* min-version: 2.1.154 */}v2.1.154 以降、`/simplify` は別のクリーンアップのみのレビューを実行し、バグを探さずに修正を適用します。[diff をローカルでレビュー](/docs/ja/code-review#review-a-diff-locally)を参照して、努力レベルとターゲット設定を確認してください |

67| `/color [color\|default]` | 現在のセッションのプロンプトバーのカラーを設定します。利用可能なカラー: `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。`default` を使用してリセットするか、引数なしで実行するとランダムなカラーを選択します。[リモートコントロール](/ja/remote-control)が接続されている場合、カラーは claude.ai/code に同期されます。{/* min-version: 2.1.205 */}非対話モード(`-p`)でも利用可能です。Claude Code v2.1.205 以降が必要です |67| `/color [color\|default]` | 現在のセッションのプロンプトバーのカラーを設定します。利用可能なカラー: `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。`default` を使用してリセットするか、引数なしで実行するとランダムなカラーを選択します。[リモートコントロール](/docs/ja/remote-control)が接続されている場合、カラーは claude.ai/code に同期されます。{/* min-version: 2.1.205 */}非対話モード(`-p`)でも利用可能です。Claude Code v2.1.205 以降が必要です |

68| `/compact [instructions]` | 会話をここまで要約してコンテキストを解放します。オプションで要約のフォーカス指示を渡します。[コンパクション時にルール、スキル、メモリファイルがどのように処理されるか](/ja/context-window#what-survives-compaction)を参照してください |68| `/compact [instructions]` | 会話をここまで要約してコンテキストを解放します。オプションで要約のフォーカス指示を渡します。[コンパクション時にルール、スキル、メモリファイルがどのように処理されるか](/docs/ja/context-window#what-survives-compaction)を参照してください |

69| `/config [key=value ...]` | [設定](/ja/settings)インターフェースを開いて、テーマ、モデル、[出力スタイル](/ja/output-styles)、およびその他の設定を調整します。{/* min-version: 2.1.181 */}v2.1.181 以降、1 つ以上の `key=value` ペアを渡して、インターフェースを開かずに設定を直接設定できます。例えば `/config thinking=false`。{/* min-version: 2.1.182 */}v2.1.182 以降、`/config theme=dark` や `/config model=sonnet` などの名前付きショートハンドキーも受け入れられます。`key=value` 形式は非対話モード(`-p`)と[リモートコントロール](/ja/remote-control)からも機能します。`/config --help` を実行して設定できるキーをリストします。エイリアス: `/settings` |69| `/config [key=value ...]` | [設定](/docs/ja/settings)インターフェースを開いて、テーマ、モデル、[出力スタイル](/docs/ja/output-styles)、およびその他の設定を調整します。{/* min-version: 2.1.181 */}v2.1.181 以降、1 つ以上の `key=value` ペアを渡して、インターフェースを開かずに設定を直接設定できます。例えば `/config thinking=false`。{/* min-version: 2.1.182 */}v2.1.182 以降、`/config theme=dark` や `/config model=sonnet` などの名前付きショートハンドキーも受け入れられます。`key=value` 形式は非対話モード(`-p`)と[リモートコントロール](/docs/ja/remote-control)からも機能します。`/config --help` を実行して設定できるキーをリストします。エイリアス: `/settings` |

70| `/context [all]` | 現在のコンテキスト使用状況をカラーグリッドとして視覚化します。コンテキストが多いツール、メモリ肥大化、容量警告の最適化提案を表示します。[フルスクリーンモード](/ja/fullscreen)では、項目ごとの内訳はグリッドを表示したままにするために折りたたまれます。`all` を渡して展開します |70| `/context [all]` | 現在のコンテキスト使用状況をカラーグリッドとして視覚化します。コンテキストが多いツール、メモリ肥大化、容量警告の最適化提案を表示します。[フルスクリーンモード](/docs/ja/fullscreen)では、項目ごとの内訳はグリッドを表示したままにするために折りたたまれます。`all` を渡して展開します |

71| `/copy [N]` | 最後のアシスタント応答をクリップボードにコピーします。数字 `N` を渡して N 番目に新しい応答をコピーします。`/copy 2` は 2 番目に新しい応答をコピーします。コードブロックが存在する場合、個別ブロックまたは完全な応答を選択するインタラクティブピッカーを表示します。ピッカーで `w` を押して、クリップボードの代わりにファイルに選択内容を書き込みます。SSH 経由で便利です |71| `/copy [N]` | 最後のアシスタント応答をクリップボードにコピーします。数字 `N` を渡して N 番目に新しい応答をコピーします。`/copy 2` は 2 番目に新しい応答をコピーします。コードブロックが存在する場合、個別ブロックまたは完全な応答を選択するインタラクティブピッカーを表示します。ピッカーで `w` を押して、クリップボードの代わりにファイルに選択内容を書き込みます。SSH 経由で便利です |

72| `/cost` | `/usage` のエイリアス |72| `/cost` | `/usage` のエイリアス |

73| `/dataviz [request]` | **[スキル](/ja/skills#bundled-skills)。** チャート、グラフ、ダッシュボードの設計ガイダンス。Claude はデータのチャート形式を選択し、役割別にカラーを割り当て、バンドルされたスクリプトで色覚異常対応と対比をパレットで検証し、マーク、相互作用、アクセシビリティルールを適用します。ブランド中立的なプレースホルダーパレットを使用します。これを独自のパレットに置き換えます。{/* min-version: 2.1.198 */}Claude Code v2.1.198 以降が必要です |73| `/dataviz [request]` | **[スキル](/docs/ja/skills#bundled-skills)。** チャート、グラフ、ダッシュボードの設計ガイダンス。Claude はデータのチャート形式を選択し、役割別にカラーを割り当て、バンドルされたスクリプトで色覚異常対応と対比をパレットで検証し、マーク、相互作用、アクセシビリティルールを適用します。ブランド中立的なプレースホルダーパレットを使用します。これを独自のパレットに置き換えます。{/* min-version: 2.1.198 */}Claude Code v2.1.198 以降が必要です |

74| `/debug [description]` | **[スキル](/ja/skills#bundled-skills)。** 現在のセッションのデバッグログを有効にし、セッションデバッグログを読むことで問題をトラブルシューティングします。デバッグログはデフォルトではオフです。`claude --debug` で開始した場合を除き、セッション中に `/debug` を実行するとその時点からログのキャプチャを開始します。オプションで問題を説明して分析にフォーカスを当てます |74| `/debug [description]` | **[スキル](/docs/ja/skills#bundled-skills)。** 現在のセッションのデバッグログを有効にし、セッションデバッグログを読むことで問題をトラブルシューティングします。デバッグログはデフォルトではオフです。`claude --debug` で開始した場合を除き、セッション中に `/debug` を実行するとその時点からログのキャプチャを開始します。オプションで問題を説明して分析にフォーカスを当てます |

75| `/deep-research <question>` | **[ワークフロー](/ja/workflows#bundled-workflows)。** 質問に関するウェブ検索をファンアウトし、ソースをフェッチして相互検証し、引用されたレポートを合成します |75| `/deep-research <question>` | **[ワークフロー](/docs/ja/workflows#bundled-workflows)。** 質問に関するウェブ検索をファンアウトし、ソースをフェッチして相互検証し、引用されたレポートを合成します |

76| `/design-login` | `/design-sync` のための design-system アクセスを claude.ai アカウントで認可します |76| `/design-login` | `/design-sync` のための design-system アクセスを claude.ai アカウントで認可します |

77| `/design-sync [hint]` | **[スキル](/ja/skills#bundled-skills)。** リポジトリの React デザインシステムを変換して [Claude Design](https://claude.ai/design) にアップロードします。これにより、デザインが実際のコンポーネントを使用するようになります。オプションでデザインシステムに名前を付けます。例えば `/design-sync Acme DS`。初回同期はすべてのコンポーネントを検証し、大規模なリポジトリでは数時間かかる場合があります。Anthropic API で利用可能です。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、Claude Platform on AWS では、基盤となるツールが claude.ai に到達できないため、コマンドは利用できません |77| `/design-sync [hint]` | **[スキル](/docs/ja/skills#bundled-skills)。** リポジトリの React デザインシステムを変換して [Claude Design](https://claude.ai/design) にアップロードします。これにより、デザインが実際のコンポーネントを使用するようになります。オプションでデザインシステムに名前を付けます。例えば `/design-sync Acme DS`。初回同期はすべてのコンポーネントを検証し、大規模なリポジトリでは数時間かかる場合があります。Anthropic API で利用可能です。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、Claude Platform on AWS では、基盤となるツールが claude.ai に到達できないため、コマンドは利用できません |

78| `/desktop` | 現在のセッションを Claude Code デスクトップアプリで続行します。macOS と Windows が必要で、Claude サブスクリプションが必要です。エイリアス: `/app` |78| `/desktop` | 現在のセッションを Claude Code デスクトップアプリで続行します。macOS と Windows が必要で、Claude サブスクリプションが必要です。エイリアス: `/app` |

79| `/diff` | コミットされていない変更と各ターンの diff を表示するインタラクティブ diff ビューアを開きます。左右矢印を使用して現在の git diff と個別の Claude ターンを切り替え、上下矢印でファイルをブラウズします。Enter キーを押して選択したファイルの diff を開き、上下または PageUp/PageDown でスクロールし、Esc キーを押してファイルリストに戻ります。{/* min-version: 2.1.198 */}v2.1.198 以降、開いているビューアは、別のターミナルでのブランチ切り替えやコミットなど、セッション外でリポジトリの git 状態が変更されたときに自動的に更新されます |79| `/diff` | コミットされていない変更と各ターンの diff を表示するインタラクティブ diff ビューアを開きます。左右矢印を使用して現在の git diff と個別の Claude ターンを切り替え、上下矢印でファイルをブラウズします。Enter キーを押して選択したファイルの diff を開き、上下または PageUp/PageDown でスクロールし、Esc キーを押してファイルリストに戻ります。{/* min-version: 2.1.198 */}v2.1.198 以降、開いているビューアは、別のターミナルでのブランチ切り替えやコミットなど、セッション外でリポジトリの git 状態が変更されたときに自動的に更新されます |

80| `/doctor` | **[スキル](/ja/skills#bundled-skills)。** セットアップチェックアップを実行して、問題を診断し、修正できます。インストール正常性をチェックします。重複またはレフトオーバーインストール、`PATH` の問題、解析不可能な設定ファイルを含みます。未使用のスキル、MCP サーバー、プラグインとそのコンテキストコストを見つけ、遅い[フック](/ja/hooks)にフラグを立て、新しいバージョンをチェックします。ローカル `CLAUDE.md` ファイルをチェックイン済みのものに対して重複排除し、チェックイン済みの [`CLAUDE.md`](/ja/memory) ファイルをトリミングしてコンテキストコストを削減し、常に読み込まれるガイダンスを[スキル](/ja/skills)と必要に応じて読み込まれるネストされた `CLAUDE.md` ファイルに移行します。トリミングはディレクトリレイアウト、依存関係リスト、アーキテクチャ概要などのセクションを削除し、ツールのデフォルトと異なる落とし穴、根拠、規約を保持します。また、[自動モード](/ja/permissions#permission-modes)をデフォルトにすることを提案し、頻繁に拒否される読み取り専用コマンドを[事前承認](/ja/permissions)することを提案します。最初に結果を報告し、何かを変更する前に確認を求めます。ターミナルから、`claude doctor` は読み取り専用インストール診断を出力し、セッションを開始しません。エイリアス: `/checkup`。{/* min-version: 2.1.206 */}}`CLAUDE.md` トリミングチェックには Claude Code v2.1.206 以降が必要です。v2.1.206 より前では、バージョンチェックは [インストール済みの cask のチャネル](/ja/setup#configure-release-channel)ではなく `autoUpdatesChannel` 設定に対して Homebrew インストールを比較していました。{/* min-version: 2.1.205 */}v2.1.205 より前では、`/doctor` は読み取り専用診断画面を開き、`f` を押すとレポートを Claude に送信しました |80| `/doctor` | **[スキル](/docs/ja/skills#bundled-skills)。** セットアップチェックアップを実行して、問題を診断し、修正できます。インストール正常性をチェックします。重複またはレフトオーバーインストール、`PATH` の問題、解析不可能な設定ファイルを含みます。未使用のスキル、MCP サーバー、プラグインとそのコンテキストコストを見つけ、遅い[フック](/docs/ja/hooks)にフラグを立て、新しいバージョンをチェックします。ローカル `CLAUDE.md` ファイルをチェックイン済みのものに対して重複排除し、チェックイン済みの [`CLAUDE.md`](/docs/ja/memory) ファイルをトリミングしてコンテキストコストを削減し、常に読み込まれるガイダンスを[スキル](/docs/ja/skills)と必要に応じて読み込まれるネストされた `CLAUDE.md` ファイルに移行します。トリミングはディレクトリレイアウト、依存関係リスト、アーキテクチャ概要などのセクションを削除し、ツールのデフォルトと異なる落とし穴、根拠、規約を保持します。また、[自動モード](/docs/ja/permissions#permission-modes)をデフォルトにすることを提案し、頻繁に拒否される読み取り専用コマンドを[事前承認](/docs/ja/permissions)することを提案します。最初に結果を報告し、何かを変更する前に確認を求めます。ターミナルから、`claude doctor` は読み取り専用インストール診断を出力し、セッションを開始しません。エイリアス: `/checkup`。{/* min-version: 2.1.206 */}}`CLAUDE.md` トリミングチェックには Claude Code v2.1.206 以降が必要です。v2.1.206 より前では、バージョンチェックは [インストール済みの cask のチャネル](/docs/ja/setup#configure-release-channel)ではなく `autoUpdatesChannel` 設定に対して Homebrew インストールを比較していました。{/* min-version: 2.1.205 */}v2.1.205 より前では、`/doctor` は読み取り専用診断画面を開き、`f` を押すとレポートを Claude に送信しました |

81| `/effort [level\|auto]` | モデルの[努力レベル](/ja/model-config#adjust-effort-level)を設定します。`low`、`medium`、`high`、`xhigh`、`max`、または `ultracode` を受け入れます。利用可能なレベルはモデルに依存し、`max` と `ultracode` はセッションのみです。`ultracode` は Claude Code 設定で、`xhigh` 推論と自動[ワークフロー](/ja/workflows#let-claude-decide-with-ultracode)オーケストレーションを組み合わせています。`auto` はモデルのデフォルトにリセットします。引数なしで、インタラクティブスライダーを開きます。左右矢印でレベルを選択し、`Enter` で適用します。現在の応答の完了を待たずに即座に有効になります。{/* min-version: 2.1.205 */}非対話モード(`-p`)でもレベル引数で利用可能です。現在のセッションのみに適用され、デフォルトとして保存されません。Claude Code v2.1.205 以降が必要です。Fable 5、Opus 4.8、Opus 4.7 では、非対話的な `/effort` は [モデルデフォルト努力ホールド](/ja/model-config#adjust-effort-level)が有効な間は `Not applied` を報告するため、代わりに起動時に `--effort` を渡してください |81| `/effort [level\|auto]` | モデルの[努力レベル](/docs/ja/model-config#adjust-effort-level)を設定します。`low`、`medium`、`high`、`xhigh`、`max`、または `ultracode` を受け入れます。利用可能なレベルはモデルに依存し、`max` と `ultracode` はセッションのみです。`ultracode` は Claude Code 設定で、`xhigh` 推論と自動[ワークフロー](/docs/ja/workflows#let-claude-decide-with-ultracode)オーケストレーションを組み合わせています。`auto` はモデルのデフォルトにリセットします。引数なしで、インタラクティブスライダーを開きます。左右矢印でレベルを選択し、`Enter` で適用します。現在の応答の完了を待たずに即座に有効になります。{/* min-version: 2.1.205 */}非対話モード(`-p`)でもレベル引数で利用可能です。現在のセッションのみに適用され、デフォルトとして保存されません。Claude Code v2.1.205 以降が必要です。Fable 5、Opus 4.8、Opus 4.7 では、非対話的な `/effort` は [モデルデフォルト努力ホールド](/docs/ja/model-config#adjust-effort-level)が有効な間は `Not applied` を報告するため、代わりに起動時に `--effort` を渡してください |

82| `/exit` | CLI を終了します。接続されている[バックグラウンドセッション](/ja/agent-view#attach-to-a-session)では、これはデタッチされ、セッションは実行を続けます。エイリアス: `/quit` |82| `/exit` | CLI を終了します。接続されている[バックグラウンドセッション](/docs/ja/agent-view#attach-to-a-session)では、これはデタッチされ、セッションは実行を続けます。エイリアス: `/quit` |

83| `/export [filename]` | 現在の会話をプレーンテキストとしてエクスポートします。ファイル名を指定すると、そのファイルに直接書き込みます。指定しない場合、クリップボードにコピーするか、ファイルに保存するダイアログを開きます |83| `/export [filename]` | 現在の会話をプレーンテキストとしてエクスポートします。ファイル名を指定すると、そのファイルに直接書き込みます。指定しない場合、クリップボードにコピーするか、ファイルに保存するダイアログを開きます |

84| `/fast [on\|off]` | [高速モード](/ja/fast-mode)のオン/オフを切り替えます。{/* min-version: 2.1.205 */}非対話モード(`-p`)では、`/fast` は高速モードを [`--settings`](/ja/cli-reference#cli-flags) 値で起動したセッションでのみ機能します。例えば `claude -p --settings '{"fastMode": true}'`。トグルは現在のセッションのみに適用され、デフォルトとして保存されません。他の非対話セッションでは、コマンドは高速モードが利用できないことを報告します。Claude Code v2.1.205 以降が必要です |84| `/fast [on\|off]` | [高速モード](/docs/ja/fast-mode)のオン/オフを切り替えます。{/* min-version: 2.1.205 */}非対話モード(`-p`)では、`/fast` は高速モードを [`--settings`](/docs/ja/cli-reference#cli-flags) 値で起動したセッションでのみ機能します。例えば `claude -p --settings '{"fastMode": true}'`。トグルは現在のセッションのみに適用され、デフォルトとして保存されません。他の非対話セッションでは、コマンドは高速モードが利用できないことを報告します。Claude Code v2.1.205 以降が必要です |

85| `/feedback [report]` | フィードバックを送信し、バグを報告するか、会話を共有します。Anthropic への送信には[認証](/ja/authentication)が必要です。エイリアス: `/bug`、`/share` |85| `/feedback [report]` | フィードバックを送信し、バグを報告するか、会話を共有します。Anthropic への送信には[認証](/docs/ja/authentication)が必要です。エイリアス: `/bug`、`/share` |

86| `/fewer-permission-prompts` | **[スキル](/ja/skills#bundled-skills)。** トランスクリプトで一般的な読み取り専用 Bash と MCP ツール呼び出しをスキャンし、プロジェクト `.claude/settings.json` に優先度付きの許可リストを追加して権限プロンプトを削減します |86| `/fewer-permission-prompts` | **[スキル](/docs/ja/skills#bundled-skills)。** トランスクリプトで一般的な読み取り専用 Bash と MCP ツール呼び出しをスキャンし、プロジェクト `.claude/settings.json` に優先度付きの許可リストを追加して権限プロンプトを削減します |

87| `/focus` | フォーカスビューを切り替えます。最後のプロンプト、編集 diffstats を含む 1 行のツール呼び出し要約、および最終応答のみを表示します。{/* min-version: 2.1.198 */}v2.1.198 以降、ツール呼び出し要約はターン内で起動されたサブエージェントの数もカウントし、完了したバックグラウンドタスク通知を単一のカウントに折りたたみます。選択は複数セッション間で保持されます。設定で [`viewMode`](/ja/settings#available-settings) を設定してオーバーライドします。[フルスクリーンレンダリング](/ja/fullscreen)でのみ利用可能です |87| `/focus` | フォーカスビューを切り替えます。最後のプロンプト、編集 diffstats を含む 1 行のツール呼び出し要約、および最終応答のみを表示します。{/* min-version: 2.1.198 */}v2.1.198 以降、ツール呼び出し要約はターン内で起動されたサブエージェントの数もカウントし、完了したバックグラウンドタスク通知を単一のカウントに折りたたみます。選択は複数セッション間で保持されます。設定で [`viewMode`](/docs/ja/settings#available-settings) を設定してオーバーライドします。[フルスクリーンレンダリング](/docs/ja/fullscreen)でのみ利用可能です |

88| `/fork <directive>` | {/* min-version: 2.1.161 */}[フォークされたサブエージェント](/ja/sub-agents#fork-the-current-conversation)を生成します。完全な会話を継承し、指示に対して作業するバックグラウンドサブエージェント。その結果は完了時に会話に戻ります。会話自体のコピーに切り替えるには、`/branch` を使用します。v2.1.161 より前では、`/fork` は `/branch` のエイリアスです |88| `/fork <directive>` | {/* min-version: 2.1.161 */}[フォークされたサブエージェント](/docs/ja/sub-agents#fork-the-current-conversation)を生成します。完全な会話を継承し、指示に対して作業するバックグラウンドサブエージェント。その結果は完了時に会話に戻ります。会話自体のコピーに切り替えるには、`/branch` を使用します。v2.1.161 より前では、`/fork` は `/branch` のエイリアスです |

89| `/goal [condition\|clear]` | [目標](/ja/goal)を設定します。Claude は条件が満たされるまでターン間で作業を続けます。引数なしで、現在または最後に達成された目標を表示します。`clear`、`stop`、`off`、`reset`、`none`、または `cancel` はアクティブな目標を早期に削除します |89| `/goal [condition\|clear]` | [目標](/docs/ja/goal)を設定します。Claude は条件が満たされるまでターン間で作業を続けます。引数なしで、現在または最後に達成された目標を表示します。`clear`、`stop`、`off`、`reset`、`none`、または `cancel` はアクティブな目標を早期に削除します |

90| `/heapdump` | JavaScript ヒープスナップショットとメモリ分析を `~/Desktop` に書き込んで、高いメモリ使用量を診断します。Linux で Desktop フォルダがない場合はホームディレクトリに書き込みます。[トラブルシューティング](/ja/troubleshooting#high-cpu-or-memory-usage)を参照してください |90| `/heapdump` | JavaScript ヒープスナップショットとメモリ分析を `~/Desktop` に書き込んで、高いメモリ使用量を診断します。Linux で Desktop フォルダがない場合はホームディレクトリに書き込みます。`.heapsnapshot` ファイルには完全な会話と認証情報が含まれているため、共有しないでください。[トラブルシューティング](/docs/ja/troubleshooting#high-cpu-or-memory-usage)を参照してください |

91| `/help` | ヘルプと利用可能なコマンドを表示します |91| `/help` | ヘルプと利用可能なコマンドを表示します |

92| `/hooks` | ツールイベント用の[フック](/ja/hooks)設定を表示します |92| `/hooks` | ツールイベント用の[フック](/docs/ja/hooks)設定を表示します |

93| `/ide` | IDE 統合を管理し、ステータスを表示します |93| `/ide` | IDE 統合を管理し、ステータスを表示します |

94| `/init` | `CLAUDE.md` ガイドでプロジェクトを初期化します。スキル、フック、個人メモリファイルをウォークスルーするインタラクティブフローについては、`CLAUDE_CODE_NEW_INIT=1` を設定します |94| `/init` | `CLAUDE.md` ガイドでプロジェクトを初期化します。スキル、フック、個人メモリファイルをウォークスルーするインタラクティブフローについては、`CLAUDE_CODE_NEW_INIT=1` を設定します |

95| `/insights` | Claude Code セッションを分析するレポートを生成します。プロジェクト領域、相互作用パターン、および摩擦点を含みます |95| `/insights` | Claude Code セッションを分析するレポートを生成します。プロジェクト領域、相互作用パターン、および摩擦点を含みます |

96| `/install-github-app` | リポジトリ用の Claude GitHub App をインストールします。オプションで [GitHub Actions](/ja/github-actions) ワークフローとシークレットをセットアップするステップを含みます。リポジトリを選択して統合を構成するプロセスをガイドします |96| `/install-github-app` | リポジトリ用の Claude GitHub App をインストールします。オプションで [GitHub Actions](/docs/ja/github-actions) ワークフローとシークレットをセットアップするステップを含みます。リポジトリを選択して統合を構成するプロセスをガイドします |

97| `/install-slack-app` | Claude Slack アプリをインストールします。OAuth フローを完了するためにブラウザを開きます |97| `/install-slack-app` | Claude Slack アプリをインストールします。OAuth フローを完了するためにブラウザを開きます |

98| `/keybindings` | キーバインディング設定ファイルを開きます |98| `/keybindings` | キーバインディング設定ファイルを開きます |

99| `/login` | Anthropic アカウントにサインインします |99| `/login` | Anthropic アカウントにサインインします |

100| `/logout` | Anthropic アカウントからサインアウトします |100| `/logout` | Anthropic アカウントからサインアウトします |

101| `/loop [interval] [prompt]` | **[スキル](/ja/skills#bundled-skills)。** セッションが開いている間、プロンプトを繰り返し実行します。間隔を省略すると Claude は反復間で自動的にペースを調整します。プロンプトを省略すると、[利用可能な場合](/ja/scheduled-tasks#run-the-built-in-maintenance-prompt)、Claude は自律的なメンテナンスチェックを実行するか、`.claude/loop.md` のプロンプトを実行します。例: `/loop 5m check if the deploy finished`。[スケジュールに従ってプロンプトを実行](/ja/scheduled-tasks)を参照してください。エイリアス: `/proactive` |101| `/loop [interval] [prompt]` | **[スキル](/docs/ja/skills#bundled-skills)。** セッションが開いている間、プロンプトを繰り返し実行します。間隔を省略すると Claude は反復間で自動的にペースを調整します。プロンプトを省略すると、[利用可能な場合](/docs/ja/scheduled-tasks#run-the-built-in-maintenance-prompt)、Claude は自律的なメンテナンスチェックを実行するか、`.claude/loop.md` のプロンプトを実行します。例: `/loop 5m check if the deploy finished`。[スケジュールに従ってプロンプトを実行](/docs/ja/scheduled-tasks)を参照してください。エイリアス: `/proactive` |

102| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | MCP サーバー接続と OAuth 認証を管理します。引数なしで実行してインタラクティブリストを開くか、`reconnect <server>` を渡して 1 つの切断されたサーバーを再接続するか、`enable`/`disable` をサーバー名または `all` で渡してダイアログを開かずに接続状態を変更します。{/* min-version: 2.1.205 */}非対話モード(`-p`)でも利用可能です。引数なしで実行するとリストを開く代わりにサーバーステータスのテキスト要約を出力します。Claude Code v2.1.205 以降が必要です |102| `/mcp [reconnect <server>\|enable\|disable [<server>\|all]]` | MCP サーバー接続と OAuth 認証を管理します。引数なしで実行してインタラクティブリストを開くか、`reconnect <server>` を渡して 1 つの切断されたサーバーを再接続するか、`enable`/`disable` をサーバー名または `all` で渡してダイアログを開かずに接続状態を変更します。{/* min-version: 2.1.205 */}非対話モード(`-p`)でも利用可能です。引数なしで実行するとリストを開く代わりにサーバーステータスのテキスト要約を出力します。Claude Code v2.1.205 以降が必要です |

103| `/memory` | `CLAUDE.md` メモリファイルを編集し、[自動メモリ](/ja/memory#auto-memory)を有効または無効にし、自動メモリエントリを表示します |103| `/memory` | `CLAUDE.md` メモリファイルを編集し、[自動メモリ](/docs/ja/memory#auto-memory)を有効または無効にし、自動メモリエントリを表示します |

104| `/mobile` | Claude モバイルアプリをダウンロードするための QR コードを表示します。エイリアス: `/ios`、`/android` |104| `/mobile` | Claude モバイルアプリをダウンロードするための QR コードを表示します。エイリアス: `/ios`、`/android` |

105| `/model [model]` | AI モデルを切り替えて、新しいセッションのデフォルトとして保存します。サポートしているモデルの場合、左右矢印を使用して[努力レベルを調整](/ja/model-config#adjust-effort-level)します。引数なしで、ピッカーを開きます。`s` をピッカーの行で押して、現在のセッションのみのモデルを切り替えます。会話に前の出力がある場合、ピッカーは確認を求めます。次の応答はキャッシュされたコンテキストなしで完全な履歴を再読み込みするためです。確認されると、現在の応答の完了を待たずに変更が適用されます。{/* min-version: 2.1.205 */}非対話モード(`-p`)でもモデル引数で利用可能です。現在のセッションのみに適用され、デフォルトとして保存されません。Claude Code v2.1.205 以降が必要です |105| `/model [model]` | AI モデルを切り替えて、新しいセッションのデフォルトとして保存します。サポートしているモデルの場合、左右矢印を使用して[努力レベルを調整](/docs/ja/model-config#adjust-effort-level)します。引数なしで、ピッカーを開きます。`s` をピッカーの行で押して、現在のセッションのみのモデルを切り替えます。会話に前の出力がある場合、ピッカーは確認を求めます。次の応答はキャッシュされたコンテキストなしで完全な履歴を再読み込みするためです。確認されると、現在の応答の完了を待たずに変更が適用されます。{/* min-version: 2.1.205 */}非対話モード(`-p`)でもモデル引数で利用可能です。現在のセッションのみに適用され、デフォルトとして保存されません。Claude Code v2.1.205 以降が必要です |

106| `/passes` | Claude Code の無料 1 週間を友人と共有します。アカウントが対象の場合のみ表示されます |106| `/passes` | Claude Code の無料 1 週間を友人と共有します。アカウントが対象の場合のみ表示されます |

107| `/permissions` | ツール権限のアクセス許可、確認、および拒否ルールを管理します。スコープ別にルールを表示し、ルールを追加または削除し、作業ディレクトリを管理し、[最近の自動モード拒否](/ja/auto-mode-config#review-denials)を確認できるインタラクティブダイアログを開きます。エイリアス: `/allowed-tools` |107| `/permissions` | ツール権限のアクセス許可、確認、および拒否ルールを管理します。スコープ別にルールを表示し、ルールを追加または削除し、作業ディレクトリを管理し、[最近の自動モード拒否](/docs/ja/auto-mode-config#review-denials)を確認できるインタラクティブダイアログを開きます。エイリアス: `/allowed-tools` |

108| `/plan [description]` | プロンプトから直接 Plan Mode に入ります。オプションの説明を渡して Plan Mode に入り、すぐにそのタスクで開始します。例えば `/plan fix the auth bug` |108| `/plan [description]` | プロンプトから直接 Plan Mode に入ります。オプションの説明を渡して Plan Mode に入り、すぐにそのタスクで開始します。例えば `/plan fix the auth bug` |

109| `/plugin [subcommand]` | Claude Code [プラグイン](/ja/plugins)を管理します。引数なしで実行してプラグインメニューを開くか、`list`、`install`、`enable`、`disable` などのサブコマンドを渡して直接実行します |109| `/plugin [subcommand]` | Claude Code [プラグイン](/docs/ja/plugins)を管理します。引数なしで実行してプラグインメニューを開くか、`list`、`install`、`enable`、`disable` などのサブコマンドを渡して直接実行します |

110| `/powerup` | アニメーション化されたデモを使用したクイックインタラクティブレッスンを通じて Claude Code 機能を発見します |110| `/powerup` | アニメーション化されたデモを使用したクイックインタラクティブレッスンを通じて Claude Code 機能を発見します |

111| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}v2.1.91 で削除。代わりに Claude に直接プルリクエストコメントを表示するよう依頼してください。以前のバージョンでは、GitHub プルリクエストからコメントを取得して表示します。現在のブランチの PR を自動検出するか、PR URL または番号を渡します。`gh` CLI が必要です |111| `/pr-comments [PR]` | {/* max-version: 2.1.90 */}v2.1.91 で削除。代わりに Claude に直接プルリクエストコメントを表示するよう依頼してください。以前のバージョンでは、GitHub プルリクエストからコメントを取得して表示します。現在のブランチの PR を自動検出するか、PR URL または番号を渡します。`gh` CLI が必要です |

112| `/privacy-settings` | プライバシー設定を表示および更新します。Pro および Max プランサブスクライバーのみ利用可能です |112| `/privacy-settings` | プライバシー設定を表示および更新します。Pro および Max プランサブスクライバーのみ利用可能です |

113| `/radio` | Claude FM lo-fi ラジオをブラウザで開きます。ブラウザが利用できない場合、ストリーム URL を出力します。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、Claude Platform on AWS では利用できません |113| `/radio` | Claude FM lo-fi ラジオをブラウザで開きます。ブラウザが利用できない場合、ストリーム URL を出力します。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、Claude Platform on AWS では利用できません |

114| `/recap` | 現在のセッションの 1 行の要約をオンデマンドで生成します。[セッション要約](/ja/interactive-mode#session-recap)を参照してください。これは、しばらく離れた後に表示される自動要約です |114| `/recap` | 現在のセッションの 1 行の要約をオンデマンドで生成します。[セッション要約](/docs/ja/interactive-mode#session-recap)を参照してください。これは、しばらく離れた後に表示される自動要約です |

115| `/release-notes` | インタラクティブバージョンピッカーでチェンジログを表示します。特定のバージョンを選択してそのリリースノートを表示するか、すべてのバージョンを表示することを選択します。{/* min-version: 2.1.208 */}ノートはトランスクリプトに表示され、Claude が見る会話に入りません。v2.1.208 より前では、表示されたノートは会話に入り、すべてのバージョンを表示するときはチェンジログ全体が含まれました |115| `/release-notes` | インタラクティブバージョンピッカーでチェンジログを表示します。特定のバージョンを選択してそのリリースノートを表示するか、すべてのバージョンを表示することを選択します。{/* min-version: 2.1.208 */}ノートはトランスクリプトに表示され、Claude が見る会話に入りません。v2.1.208 より前では、表示されたノートは会話に入り、すべてのバージョンを表示するときはチェンジログ全体が含まれました |

116| `/reload-plugins [--force]` | すべてのアクティブな[プラグイン](/ja/plugins)を再読み込みして、再起動せずに保留中の変更を適用します。読み込まれた各コンポーネントのカウントを報告し、読み込みエラーをフラグします。再読み込みが読み込まれた MCP ツールを変更し、プロンプトキャッシュを無効にする場合、コマンドは警告を表示し、`--force` を渡さない限りスキップします |116| `/reload-plugins [--force]` | すべてのアクティブな[プラグイン](/docs/ja/plugins)を再読み込みして、再起動せずに保留中の変更を適用します。読み込まれた各コンポーネントのカウントを報告し、読み込みエラーをフラグします。再読み込みが読み込まれた MCP ツールを変更し、プロンプトキャッシュを無効にする場合、コマンドは警告を表示し、`--force` を渡さない限りスキップします |

117| `/reload-skills` | {/* min-version: 2.1.152 */}[スキル](/ja/skills)とコマンドディレクトリを再スキャンして、セッション中にディスク上で追加または変更されたスキルが再起動なしで利用可能になるようにします。利用可能なスキルの数と追加または削除されたスキルの数を報告します。v2.1.152 で追加 |117| `/reload-skills` | {/* min-version: 2.1.152 */}[スキル](/docs/ja/skills)とコマンドディレクトリを再スキャンして、セッション中にディスク上で追加または変更されたスキルが再起動なしで利用可能になるようにします。利用可能なスキルの数と追加または削除されたスキルの数を報告します。v2.1.152 で追加 |

118| `/remote-control` | このセッションを claude.ai から[リモートコントロール](/ja/remote-control)できるようにします。{/* min-version: 2.1.206 */}サインアウト中に実行すると、リモートコントロールに claude.ai サブスクリプションが必要であることを出力し、サインイン方法を指示します。v2.1.206 より前では `Unknown command: /remote-control` を報告していました。エイリアス: `/rc` |118| `/remote-control` | このセッションを claude.ai から[リモートコントロール](/docs/ja/remote-control)できるようにします。{/* min-version: 2.1.206 */}サインアウト中に実行すると、リモートコントロールに claude.ai サブスクリプションが必要であることを出力し、サインイン方法を指示します。v2.1.206 より前では `Unknown command: /remote-control` を報告していました。エイリアス: `/rc` |

119| `/remote-env` | [クラウドエージェント](/ja/claude-code-on-the-web#configure-your-environment)のデフォルト環境を選択します |119| `/remote-env` | [クラウドエージェント](/docs/ja/claude-code-on-the-web#configure-your-environment)のデフォルト環境を選択します |

120| `/rename [name]` | 現在のセッションの名前を変更してプロンプトバーに名前を表示します。名前を指定しない場合、会話履歴から自動生成されます。{{/* min-version: 2.1.205 */}}非対話モード(`-p`)でも利用可能です。Claude Code v2.1.205 以降が必要です |120| `/rename [name]` | 現在のセッションの名前を変更してプロンプトバーに名前を表示します。名前を指定しない場合、会話履歴から自動生成されます。{{/* min-version: 2.1.205 */}}非対話モード(`-p`)でも利用可能です。Claude Code v2.1.205 以降が必要です |

121| `/resume [session]` | ID または名前で会話を再開するか、セッションピッカーを開きます。v2.1.144 以降、[バックグラウンドセッション](/ja/agent-view)はピッカーに `bg` とマークされて表示されます。実行中のセッションはここで再開できないため、`claude agents` から接続するか、最初にそこで停止してください。エイリアス: `/continue` |121| `/resume [session]` | ID または名前で会話を再開するか、セッションピッカーを開きます。v2.1.144 以降、[バックグラウンドセッション](/docs/ja/agent-view)はピッカーに `bg` とマークされて表示されます。実行中のセッションはここで再開できないため、`claude agents` から接続するか、最初にそこで停止してください。エイリアス: `/continue` |

122| `/review [PR]` | {{/* min-version: 2.1.202 */}}GitHub プルリクエストを番号で高速シングルパス読み取り専用レビューを実行します。引数なしで、選択するオープン PR をリストします。PR 番号の後のテキストは追加のレビュー指示になります。v2.1.186 から v2.1.201 まで、`/review` は代わりに `/code-review medium` と同じマルチエージェントエンジンを実行していました。選択した努力レベルでマルチエージェントレビューを実行するには、[`/code-review <level> <pr#>`](/ja/code-review#review-a-diff-locally)を使用してください。クラウドベースのレビューについては、[`/code-review ultra`](/ja/ultrareview)を参照してください |122| `/review [PR]` | {{/* min-version: 2.1.202 */}}GitHub プルリクエストを番号で高速シングルパス読み取り専用レビューを実行します。引数なしで、選択するオープン PR をリストします。PR 番号の後のテキストは追加のレビュー指示になります。v2.1.186 から v2.1.201 まで、`/review` は代わりに `/code-review medium` と同じマルチエージェントエンジンを実行していました。選択した努力レベルでマルチエージェントレビューを実行するには、[`/code-review <level> <pr#>`](/docs/ja/code-review#review-a-diff-locally)を使用してください。クラウドベースのレビューについては、[`/code-review ultra`](/docs/ja/ultrareview)を参照してください |

123| `/rewind` | 会話またはコードを前の時点に巻き戻すか、選択したメッセージから要約します。[チェックポイント](/ja/checkpointing)を参照してください。エイリアス: `/checkpoint`、`/undo` |123| `/rewind` | 会話またはコードを前の時点に巻き戻すか、選択したメッセージから要約します。[チェックポイント](/docs/ja/checkpointing)を参照してください。エイリアス: `/checkpoint`、`/undo` |

124| `/run` | **[スキル](/ja/skills#bundled-skills)。** プロジェクトのアプリを起動して実行し、テストだけでなく実行中のアプリで変更が機能しているのを確認します。[アプリを実行して検証](/ja/skills#run-and-verify-your-app)を参照してください。{{/* min-version: 2.1.145 */}}Claude Code v2.1.145 以降が必要です |124| `/run` | **[スキル](/docs/ja/skills#bundled-skills)。** プロジェクトのアプリを起動して実行し、テストだけでなく実行中のアプリで変更が機能しているのを確認します。[アプリを実行して検証](/docs/ja/skills#run-and-verify-your-app)を参照してください。{{/* min-version: 2.1.145 */}}Claude Code v2.1.145 以降が必要です |

125| `/run-skill-generator` | **[スキル](/ja/skills#bundled-skills)。** クリーンな環境からプロジェクトのアプリをビルド、起動、実行する方法を `/run` と `/verify` に教えるために、プロジェクトごとの[スキル](/ja/skills#run-and-verify-your-app)を作成します。{{/* min-version: 2.1.145 */}}Claude Code v2.1.145 以降が必要です |125| `/run-skill-generator` | **[スキル](/docs/ja/skills#bundled-skills)。** クリーンな環境からプロジェクトのアプリをビルド、起動、実行する方法を `/run` と `/verify` に教えるために、プロジェクトごとの[スキル](/docs/ja/skills#run-and-verify-your-app)を作成します。{{/* min-version: 2.1.145 */}}Claude Code v2.1.145 以降が必要です |

126| `/sandbox` | [サンドボックスモード](/ja/sandboxing)を切り替えます。サポートされているプラットフォームでのみ利用可能です |126| `/sandbox` | [サンドボックスモード](/docs/ja/sandboxing)を切り替えます。サポートされているプラットフォームでのみ利用可能です |

127| `/schedule [description]` | [ルーチン](/ja/routines)を作成、更新、リスト表示、または実行します。Claude がセットアップを会話形式でガイドします。エイリアス: `/routines` |127| `/schedule [description]` | [ルーチン](/docs/ja/routines)を作成、更新、リスト表示、または実行します。Claude がセットアップを会話形式でガイドします。エイリアス: `/routines` |

128| `/scroll-speed` | マウスホイール[スクロール速度](/ja/fullscreen#mouse-wheel-scrolling)をインタラクティブに調整します。ダイアログが開いている間にスクロールできるルーラーで変更をプレビューできます。[フルスクリーンレンダリング](/ja/fullscreen)でのみ利用可能で、JetBrains IDE ターミナルでは利用できません |128| `/scroll-speed` | マウスホイール[スクロール速度](/docs/ja/fullscreen#mouse-wheel-scrolling)をインタラクティブに調整します。ダイアログが開いている間にスクロールできるルーラーで変更をプレビューできます。[フルスクリーンレンダリング](/docs/ja/fullscreen)でのみ利用可能で、JetBrains IDE ターミナルでは利用できません |

129| `/security-review` | 現在のブランチの保留中の変更をセキュリティ脆弱性について分析します。git diff をレビューし、インジェクション、認証の問題、データ露出などのリスクを特定します |129| `/security-review` | 現在のブランチの保留中の変更をセキュリティ脆弱性について分析します。git diff をレビューし、インジェクション、認証の問題、データ露出などのリスクを特定します |

130| `/setup-bedrock` | [Amazon Bedrock](/ja/amazon-bedrock) 認証、リージョン、モデルピンをインタラクティブウィザードで構成します。`CLAUDE_CODE_USE_BEDROCK=1` が設定されている場合のみ表示されます。初回 Amazon Bedrock ユーザーはログイン画面からこのウィザードにアクセスすることもできます |130| `/setup-bedrock` | [Amazon Bedrock](/docs/ja/amazon-bedrock) 認証、リージョン、モデルピンをインタラクティブウィザードで構成します。`CLAUDE_CODE_USE_BEDROCK=1` が設定されている場合のみ表示されます。初回 Amazon Bedrock ユーザーはログイン画面からこのウィザードにアクセスすることもできます |

131| `/setup-vertex` | [Google Cloud の Agent Platform](/ja/google-vertex-ai) 認証、プロジェクト、リージョン、モデルピンをインタラクティブウィザードで構成します。`CLAUDE_CODE_USE_VERTEX=1` が設定されている場合のみ表示されます。初回 Google Cloud の Agent Platform ユーザーはログイン画面からこのウィザードにアクセスすることもできます |131| `/setup-vertex` | [Google Cloud の Agent Platform](/docs/ja/google-vertex-ai) 認証、プロジェクト、リージョン、モデルピンをインタラクティブウィザードで構成します。`CLAUDE_CODE_USE_VERTEX=1` が設定されている場合のみ表示されます。初回 Google Cloud の Agent Platform ユーザーはログイン画面からこのウィザードにアクセスすることもできます |

132| `/simplify [target]` | {{/* min-version: 2.1.154 */}}**[スキル](/ja/skills#bundled-skills)。** 変更されたコードをクリーンアップの機会についてレビューし、修正を適用します。4 つのレビュー[エージェント](/ja/sub-agents)が並列で実行され、既存のヘルパーの再利用、簡潔化、効率化、および変更が抽象化の正しいレベルにあるかどうかをカバーします。v2.1.154 以降、レビューは正確性バグを探しません。バグを見つけるには `/code-review` を使用してください。以前のバージョンでは `/simplify` は `/code-review --fix` と同等です。特定のターゲットをレビューするためにパスまたは PR リファレンスを渡します |132| `/simplify [target]` | {{/* min-version: 2.1.154 */}}**[スキル](/docs/ja/skills#bundled-skills)。** 変更されたコードをクリーンアップの機会についてレビューし、修正を適用します。4 つのレビュー[エージェント](/docs/ja/sub-agents)が並列で実行され、既存のヘルパーの再利用、簡潔化、効率化、および変更が抽象化の正しいレベルにあるかどうかをカバーします。v2.1.154 以降、レビューは正確性バグを探しません。バグを見つけるには `/code-review` を使用してください。以前のバージョンでは `/simplify` は `/code-review --fix` と同等です。特定のターゲットをレビューするためにパスまたは PR リファレンスを渡します |

133| `/skills` | 利用可能な[スキル](/ja/skills)をリスト表示します。{{/* min-version: 2.1.121 */}}v2.1.121 以降、名前でリストをフィルタリングするために入力します。`t` を押してトークン数でソートします。`Space` を押して[スキルを Claude または `/` メニューから非表示にし](/ja/skills#override-skill-visibility-from-settings)、`Enter` で保存します |133| `/skills` | 利用可能な[スキル](/docs/ja/skills)をリスト表示します。{{/* min-version: 2.1.121 */}}v2.1.121 以降、名前でリストをフィルタリングするために入力します。`t` を押してトークン数でソートします。`Space` を押して[スキルを Claude または `/` メニューから非表示にし](/docs/ja/skills#override-skill-visibility-from-settings)、`Enter` で保存します |

134| `/stats` | `/usage` のエイリアス。Stats タブで開きます |134| `/stats` | `/usage` のエイリアス。Stats タブで開きます |

135| `/status` | 設定インターフェース(ステータスタブ)を開いて、バージョン、モデル、アカウント、および接続性を表示します。Claude が応答中でも機能し、現在の応答の完了を待ちません |135| `/status` | 設定インターフェース(ステータスタブ)を開いて、バージョン、モデル、アカウント、および接続性を表示します。Claude が応答中でも機能し、現在の応答の完了を待ちません |

136| `/statusline` | Claude Code の[ステータスライン](/ja/statusline)を構成します。必要な内容を説明するか、引数なしで実行してシェルプロンプトから自動構成します |136| `/statusline` | Claude Code の[ステータスライン](/docs/ja/statusline)を構成します。必要な内容を説明するか、引数なしで実行してシェルプロンプトから自動構成します |

137| `/stickers` | Claude Code ステッカーを注文します |137| `/stickers` | Claude Code ステッカーを注文します |

138| `/stop` | 現在の[バックグラウンドセッション](/ja/agent-view)を停止します。バックグラウンドセッションに接続されている場合のみ利用可能です。トランスクリプトと任意の worktree は保持されます。デタッチして停止しない場合は、`/exit` を使用するか、`←` を押します |138| `/stop` | 現在の[バックグラウンドセッション](/docs/ja/agent-view)を停止します。バックグラウンドセッションに接続されている場合のみ利用可能です。トランスクリプトと任意の worktree は保持されます。デタッチして停止しない場合は、`/exit` を使用するか、`←` を押します |

139| `/tasks` | バックグラウンドで実行されているすべてのものを表示および管理します。完了したサブエージェントも含みます。`/bashes` としても利用可能です |139| `/tasks` | バックグラウンドで実行されているすべてのものを表示および管理します。完了したサブエージェントも含みます。`/bashes` としても利用可能です |

140| `/team-onboarding` | Claude Code 使用履歴からチームオンボーディングガイドを生成します。Claude は過去 30 日間のセッション、コマンド、MCP サーバー使用状況を分析し、チームメイトが最初のメッセージとして貼り付けて素早くセットアップできるマークダウンガイドを作成します。claude.ai の Pro、Max、Team、Enterprise プランのサブスクライバーの場合、チームメイトが Claude Code で直接開くことができる共有リンクも返されます |140| `/team-onboarding` | Claude Code 使用履歴からチームオンボーディングガイドを生成します。Claude は過去 30 日間のセッション、コマンド、MCP サーバー使用状況を分析し、チームメイトが最初のメッセージとして貼り付けて素早くセットアップできるマークダウンガイドを作成します。claude.ai の Pro、Max、Team、Enterprise プランのサブスクライバーの場合、チームメイトが Claude Code で直接開くことができる共有リンクも返されます |

141| `/teleport` | [Claude Code on the web](/ja/claude-code-on-the-web#from-web-to-terminal) セッションをこのターミナルに引き込みます。ピッカーを開き、ブランチと会話をフェッチします。`/tp` としても利用可能です。claude.ai サブスクリプションが必要です |141| `/teleport` | [Claude Code on the web](/docs/ja/claude-code-on-the-web#from-web-to-terminal) セッションをこのターミナルに引き込みます。ピッカーを開き、ブランチと会話をフェッチします。`/tp` としても利用可能です。claude.ai サブスクリプションが必要です |

142| `/terminal-setup` | Shift+Enter およびその他のショートカットのターミナルキーバインディングを構成します。VS Code、Cursor、Devin Desktop、Alacritty、または Zed などの必要なターミナルでのみ表示されます |142| `/terminal-setup` | Shift+Enter およびその他のショートカットのターミナルキーバインディングを構成します。VS Code、Cursor、Devin Desktop、Alacritty、または Zed などの必要なターミナルでのみ表示されます |

143| `/theme` | カラーテーマを変更します。ターミナルのダークまたはライトモードに従う `auto` オプション、ライトおよびダークバリアント、色覚異常対応(ダルトン化)テーマ、ANSI テーマ(ターミナルのカラーパレットを使用)、および `~/.claude/themes/` またはプラグインからの[カスタムテーマ](/ja/terminal-config#create-a-custom-theme)を含みます。**新しいカスタムテーマ…** を選択して作成します |143| `/theme` | カラーテーマを変更します。ターミナルのダークまたはライトモードに従う `auto` オプション、ライトおよびダークバリアント、色覚異常対応(ダルトン化)テーマ、ANSI テーマ(ターミナルのカラーパレットを使用)、および `~/.claude/themes/` またはプラグインからの[カスタムテーマ](/docs/ja/terminal-config#create-a-custom-theme)を含みます。**新しいカスタムテーマ…** を選択して作成します |

144| `/tui [default\|fullscreen]` | ターミナル UI レンダラーを設定し、会話を保持したまま再起動します。`fullscreen` は[ちらつきなしの alt-screen レンダラー](/ja/fullscreen)を有効にします。引数なしで、アクティブなレンダラーを出力します |144| `/tui [default\|fullscreen]` | ターミナル UI レンダラーを設定し、会話を保持したまま再起動します。`fullscreen` は[ちらつきなしの alt-screen レンダラー](/docs/ja/fullscreen)を有効にします。引数なしで、アクティブなレンダラーを出力します |

145| `/ultraplan <prompt>` | [ultraplan](/ja/ultraplan) セッションで計画を作成し、ブラウザでレビューし、リモートで実行するか、ターミナルに送り返します |145| `/ultraplan <prompt>` | [ultraplan](/docs/ja/ultraplan) セッションで計画を作成し、ブラウザでレビューし、リモートで実行するか、ターミナルに送り返します |

146| `/ultrareview [PR]` | [ultrareview](/ja/ultrareview) を使用してクラウドサンドボックスで深い複数エージェントコードレビューを実行します。推奨される呼び出しは `/code-review ultra` であり、`/ultrareview` はエイリアスとして残ります。Pro と Max に 3 つの無料実行が含まれ、その後は [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) が必要です |146| `/ultrareview [PR]` | [ultrareview](/docs/ja/ultrareview) を使用してクラウドサンドボックスで深い複数エージェントコードレビューを実行します。推奨される呼び出しは `/code-review ultra` であり、`/ultrareview` はエイリアスとして残ります。Pro と Max に 3 つの無料実行が含まれ、その後は [usage credits](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) が必要です |

147| `/upgrade` | アップグレードページをブラウザで開いて、より高いプランティアに切り替えます。ブラウザが開かない場合、コマンドは URL を出力せずにサインインプロンプトを表示します |147| `/upgrade` | アップグレードページをブラウザで開いて、より高いプランティアに切り替えます。ブラウザが開かない場合、コマンドは URL を出力せずにサインインプロンプトを表示します |

148| `/usage` | セッションコスト、プラン使用制限、およびアクティビティ統計を表示します。Pro、Max、Team、または Enterprise プランの場合、スキル、サブエージェント、プラグイン、MCP サーバーごとの使用状況の内訳が含まれます。詳細については、[コスト追跡ガイド](/ja/costs#using-the-%2Fusage-command)を参照してください。`/cost` と `/stats` はエイリアスです |148| `/usage` | セッションコスト、プラン使用制限、およびアクティビティ統計を表示します。Pro、Max、Team、または Enterprise プランの場合、スキル、サブエージェント、プラグイン、MCP サーバーごとの使用状況の内訳が含まれます。詳細については、[コスト追跡ガイド](/docs/ja/costs#using-the-%2Fusage-command)を参照してください。`/cost` と `/stats` はエイリアスです |

149| `/usage-credits` | 制限に達したときに作業を続行するための usage credits を構成します。Pro と Max プランでは、usage credits を購入し、月額支出制限を設定し、自動リロードを構成するための[CLI 内ダイアログ](/ja/costs#set-a-spend-limit-on-pro-and-max)を開きます。Claude Code v2.1.207 より前のバージョンおよび他のプランでは、usage-credits 請求ページをブラウザで開きます。ただし、請求アクセス権を持たない Team および Enterprise メンバーは、代わりに CLI から管理者に usage-credits リクエストを送信します。{/* min-version: 2.1.205 */}ブラウザが開けない場合(例えば SSH 経由)、コマンドは代わりに訪問する URL を出力します。これには Claude Code v2.1.205 以降が必要です。以前のバージョンではその場合何も表示されませんでした。以前は `/extra-usage` |149| `/usage-credits` | 制限に達したときに作業を続行するための usage credits を構成します。Pro と Max プランでは、usage credits を購入し、月額支出制限を設定し、自動リロードを構成するための[CLI 内ダイアログ](/docs/ja/costs#set-a-spend-limit-on-pro-and-max)を開きます。Claude Code v2.1.207 より前のバージョンおよび他のプランでは、usage-credits 請求ページをブラウザで開きます。ただし、請求アクセス権を持たない Team および Enterprise メンバーは、代わりに CLI から管理者に usage-credits リクエストを送信します。{/* min-version: 2.1.205 */}ブラウザが開けない場合(例えば SSH 経由)、コマンドは代わりに訪問する URL を出力します。これには Claude Code v2.1.205 以降が必要です。以前のバージョンではその場合何も表示されませんでした。以前は `/extra-usage` |

150| `/verify` | **[スキル](/ja/skills#bundled-skills)。** プロジェクトのアプリをビルドして実行し、結果を観察することで、コード変更が期待通りに機能することを確認します。テストまたは型チェックに依存するのではなく。[アプリを実行して検証](/ja/skills#run-and-verify-your-app)を参照してください。{{/* min-version: 2.1.145 */}}Claude Code v2.1.145 以降が必要です |150| `/verify` | **[スキル](/docs/ja/skills#bundled-skills)。** プロジェクトのアプリをビルドして実行し、結果を観察することで、コード変更が期待通りに機能することを確認します。テストまたは型チェックに依存するのではなく。[アプリを実行して検証](/docs/ja/skills#run-and-verify-your-app)を参照してください。{{/* min-version: 2.1.145 */}}Claude Code v2.1.145 以降が必要です |

151| `/vim` | {{/* max-version: 2.1.91 */}}v2.1.92 で削除。Vim と通常編集モード間を切り替えるには、`/config` → エディタモードを使用してください |151| `/vim` | {{/* max-version: 2.1.91 */}}v2.1.92 で削除。Vim と通常編集モード間を切り替えるには、`/config` → エディタモードを使用してください |

152| `/voice [hold\|tap\|off]` | [音声ディクテーション](/ja/voice-dictation)を切り替えるか、特定のモードで有効にします。Claude.ai アカウントが必要です |152| `/voice [hold\|tap\|off]` | [音声ディクテーション](/docs/ja/voice-dictation)を切り替えるか、特定のモードで有効にします。Claude.ai アカウントが必要です |

153| `/web-setup` | ローカル `gh` CLI 認証情報を使用して GitHub アカウントを [Claude Code on the web](/ja/web-quickstart#connect-from-your-terminal) に接続します。GitHub が接続されていない場合、`/schedule` は自動的にこれを求めます |153| `/web-setup` | ローカル `gh` CLI 認証情報を使用して GitHub アカウントを [Claude Code on the web](/docs/ja/web-quickstart#connect-from-your-terminal) に接続します。GitHub が接続されていない場合、`/schedule` は自動的にこれを求めます |

154| `/workflows` | [ワークフロー](/ja/workflows#watch-the-run)進捗ビューを開いて、実行中および完了したワークフローを監視、一時停止、再開、または保存します |154| `/workflows` | [ワークフロー](/docs/ja/workflows#watch-the-run)進捗ビューを開いて、実行中および完了したワークフローを監視、一時停止、再開、または保存します |

155 155 

156<h2 id="mcp-prompts">156<h2 id="mcp-prompts">

157 MCP プロンプト157 MCP プロンプト

158</h2>158</h2>

159 159 

160MCP サーバーはコマンドとして表示されるプロンプトを公開できます。これらは `/mcp__<server>__<prompt>` 形式を使用し、接続されたサーバーから動的に検出されます。詳細については、[MCP プロンプト](/ja/mcp#use-mcp-prompts-as-commands)を参照してください。160MCP サーバーはコマンドとして表示されるプロンプトを公開できます。これらは `/mcp__<server>__<prompt>` 形式を使用し、接続されたサーバーから動的に検出されます。詳細については、[MCP プロンプト](/docs/ja/mcp#use-mcp-prompts-as-commands)を参照してください。

161 161 

162<h2 id="see-also">162<h2 id="see-also">

163 関連項目163 関連項目

164</h2>164</h2>

165 165 

166* [スキル](/ja/skills): 独自のコマンドを作成166* [スキル](/docs/ja/skills): 独自のコマンドを作成

167* [インタラクティブモード](/ja/interactive-mode): キーボードショートカット、Vim モード、およびコマンド履歴167* [インタラクティブモード](/docs/ja/interactive-mode): キーボードショートカット、Vim モード、およびコマンド履歴

168* [CLI リファレンス](/ja/cli-reference): 起動時フラグ168* [CLI リファレンス](/docs/ja/cli-reference): 起動時フラグ

env-vars.md +17 −8

Details

87 87 

88同じ動作に環境変数と設定フィールドの両方がある場合、環境変数が優先されます。たとえば、`ANTHROPIC_MODEL` は `model` 設定をオーバーライドし、`CLAUDE_CODE_AUTO_CONNECT_IDE` は `autoConnectIde` をオーバーライドします。環境変数が設定されていない場合、設定フィールドが適用されます。88同じ動作に環境変数と設定フィールドの両方がある場合、環境変数が優先されます。たとえば、`ANTHROPIC_MODEL` は `model` 設定をオーバーライドし、`CLAUDE_CODE_AUTO_CONNECT_IDE` は `autoConnectIde` をオーバーライドします。環境変数が設定されていない場合、設定フィールドが適用されます。

89 89 

90シェルと設定ファイルの `env` ブロックの両方で同じ変数が設定されている場合、設定ファイルの値が適用されます。Claude Code は起動時に各 `env` エントリをプロセス環境に書き込み、シェルから継承された値を置き換えます。いくつかの変数は特別な扱いを受けます。[`env` 設定](/ja/settings#available-settings) に例外が記載されています。

91 

92設定ファイル間では、`env` 値は [設定の優先順位](/ja/settings#settings-precedence) に従うため、マネージド設定エントリはユーザーまたはプロジェクト設定の同じ変数をオーバーライドします。

93 

90環境変数が CLI フラグおよびセッション内コマンドとどのように相互作用するかは機能によって異なります:`--model` と `/model` は `ANTHROPIC_MODEL` をオーバーライドしますが、`CLAUDE_CODE_EFFORT_LEVEL` は `/effort` をオーバーライドします。変数が別の設定ソースと相互作用する場合、[変数](#variables) リストの行は優先順位を示すか、それを文書化するページにリンクします。94環境変数が CLI フラグおよびセッション内コマンドとどのように相互作用するかは機能によって異なります:`--model` と `/model` は `ANTHROPIC_MODEL` をオーバーライドしますが、`CLAUDE_CODE_EFFORT_LEVEL` は `/effort` をオーバーライドします。変数が別の設定ソースと相互作用する場合、[変数](#variables) リストの行は優先順位を示すか、それを文書化するページにリンクします。

91 95 

92Claude Code は起動時に環境変数を読み取るため、変更は `claude` を次に起動するときに有効になります。96Claude Code は起動時に環境変数を読み取るため、変更は `claude` を次に起動するときに有効になります。


96</h2>100</h2>

97 101 

98| 変数 | 目的 |102| 変数 | 目的 |

99| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |103| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

100| `ANTHROPIC_API_KEY` | `X-Api-Key` ヘッダーとして送信される API キー。設定されている場合、ログインしていても Claude Pro、Max、Team、または Enterprise サブスクリプションの代わりにこのキーが使用されます。非対話モード(`-p`)では、キーが存在する場合は常に使用されます。対話モードでは、キーがサブスクリプションをオーバーライドする前に一度承認するよう求められます。代わりにサブスクリプションを使用するには、`unset ANTHROPIC_API_KEY` を実行してください |104| `ANTHROPIC_API_KEY` | `X-Api-Key` ヘッダーとして送信される API キー。設定されている場合、ログインしていても Claude Pro、Max、Team、または Enterprise サブスクリプションの代わりにこのキーが使用されます。非対話モード(`-p`)では、キーが存在する場合は常に使用されます。対話モードでは、キーがサブスクリプションをオーバーライドする前に一度承認するよう求められます。代わりにサブスクリプションを使用するには、`unset ANTHROPIC_API_KEY` を実行してください |

101| `ANTHROPIC_AUTH_TOKEN` | `Authorization` ヘッダーのカスタム値(ここで設定した値には `Bearer ` が接頭辞として付けられます) |105| `ANTHROPIC_AUTH_TOKEN` | `Authorization` ヘッダーのカスタム値(ここで設定した値には `Bearer ` が接頭辞として付けられます) |

102| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/ja/claude-platform-on-aws) のワークスペース API キー。AWS コンソールで生成されます。`x-api-key` として送信され、AWS SigV4 よりも優先されます |106| `ANTHROPIC_AWS_API_KEY` | [Claude Platform on AWS](/ja/claude-platform-on-aws) のワークスペース API キー。AWS コンソールで生成されます。`x-api-key` として送信され、AWS SigV4 よりも優先されます |


134| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry リソース名(例:`my-resource`)。`ANTHROPIC_FOUNDRY_BASE_URL` が設定されていない場合は必須([Microsoft Foundry](/ja/microsoft-foundry) を参照してください) |138| `ANTHROPIC_FOUNDRY_RESOURCE` | Microsoft Foundry リソース名(例:`my-resource`)。`ANTHROPIC_FOUNDRY_BASE_URL` が設定されていない場合は必須([Microsoft Foundry](/ja/microsoft-foundry) を参照してください) |

135| `ANTHROPIC_MODEL` | 使用するモデル設定の名前([モデル設定](/ja/model-config#environment-variables) を参照してください) |139| `ANTHROPIC_MODEL` | 使用するモデル設定の名前([モデル設定](/ja/model-config#environment-variables) を参照してください) |

136| `ANTHROPIC_SMALL_FAST_MODEL` | \[非推奨] バックグラウンドタスク用の [Haiku クラスモデルの名前](/ja/costs) |140| `ANTHROPIC_SMALL_FAST_MODEL` | \[非推奨] バックグラウンドタスク用の [Haiku クラスモデルの名前](/ja/costs) |

137| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Amazon Bedrock または Amazon Bedrock Mantle を使用する場合、Haiku クラスモデルの AWS リージョンをオーバーライドします。Amazon Bedrock では、`ANTHROPIC_DEFAULT_HAIKU_MODEL` または非推奨の `ANTHROPIC_SMALL_FAST_MODEL` も設定されている場合にのみ有効になります。Amazon Bedrock はそれ以外の場合、バックグラウンドタスク用にプライマリモデルを使用するためです |141| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Amazon Bedrock または Amazon Bedrock Mantle を使用する場合、Haiku クラスモデルの AWS リージョンをオーバーライドします。Amazon Bedrock では、`ANTHROPIC_DEFAULT_HAIKU_MODEL` または非推奨の `ANTHROPIC_SMALL_FAST_MODEL` も設定されている場合にのみ有効になります。Amazon Bedrock はそれ以外の場合、バックグラウンドタスク用にデフォルト Sonnet モデルまたはセッションリージョンのプライマリモデルを使用するためです |

138| `ANTHROPIC_VERTEX_BASE_URL` | Google Cloud's Agent Platform エンドポイント URL をオーバーライドします。カスタム Google Cloud's Agent Platform エンドポイントを使用する場合、または [LLM ゲートウェイ](/ja/llm-gateway) を通じてルーティングする場合に使用します。[Google Cloud's Agent Platform](/ja/google-vertex-ai) を参照してください |142| `ANTHROPIC_VERTEX_BASE_URL` | Google Cloud's Agent Platform エンドポイント URL をオーバーライドします。カスタム Google Cloud's Agent Platform エンドポイントを使用する場合、または [LLM ゲートウェイ](/ja/llm-gateway) を通じてルーティングする場合に使用します。[Google Cloud's Agent Platform](/ja/google-vertex-ai) を参照してください |

139| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud's Agent Platform リクエスト用の GCP プロジェクト ID。`GCLOUD_PROJECT`、`GOOGLE_CLOUD_PROJECT`、または `GOOGLE_APPLICATION_CREDENTIALS` 認証情報ファイル内のプロジェクトでオーバーライドされます。[Google Cloud's Agent Platform](/ja/google-vertex-ai) を参照してください |143| `ANTHROPIC_VERTEX_PROJECT_ID` | Google Cloud's Agent Platform リクエスト用の GCP プロジェクト ID。`GCLOUD_PROJECT`、`GOOGLE_CLOUD_PROJECT`、または `GOOGLE_APPLICATION_CREDENTIALS` 認証情報ファイル内のプロジェクトでオーバーライドされます。[Google Cloud's Agent Platform](/ja/google-vertex-ai) を参照してください |

140| `ANTHROPIC_WORKSPACE_ID` | [ワークロード ID フェデレーション](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 用のワークスペース ID。フェデレーションルールが複数のワークスペースにスコープされている場合に設定します。トークン交換がターゲットとするワークスペースを認識できるようにします |144| `ANTHROPIC_WORKSPACE_ID` | [ワークロード ID フェデレーション](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation) 用のワークスペース ID。フェデレーションルールが複数のワークスペースにスコープされている場合に設定します。トークン交換がターゲットとするワークスペースを認識できるようにします |


165| `CLAUDE_CODE_ATTRIBUTION_HEADER` | システムプロンプトの開始から属性ブロック(クライアントバージョンとプロンプトフィンガープリント)を省略するには `0` に設定します。これを無効にすると、[LLM ゲートウェイ](/ja/llm-gateway) を通じてルーティングする場合のプロンプトキャッシュヒット率が向上します。Anthropic API キャッシングは影響を受けません |169| `CLAUDE_CODE_ATTRIBUTION_HEADER` | システムプロンプトの開始から属性ブロック(クライアントバージョンとプロンプトフィンガープリント)を省略するには `0` に設定します。これを無効にすると、[LLM ゲートウェイ](/ja/llm-gateway) を通じてルーティングする場合のプロンプトキャッシュヒット率が向上します。Anthropic API キャッシングは影響を受けません |

166| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | オートコンパクション計算に使用されるコンテキスト容量をトークン単位で設定します。デフォルトはモデルのコンテキストウィンドウです:標準モデルの場合は 200K、[拡張コンテキスト](/ja/model-config#extended-context) モデルの場合は 1M。1M モデルで `500000` などの低い値を使用して、コンパクション目的でウィンドウを 500K として扱います。値はモデルの実際のコンテキストウィンドウでキャップされます。`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` はこの値のパーセンテージとして適用されます。この変数を設定すると、コンパクション閾値がステータスラインの `used_percentage` から分離されます。これは常にモデルの完全なコンテキストウィンドウを使用します |170| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | オートコンパクション計算に使用されるコンテキスト容量をトークン単位で設定します。デフォルトはモデルのコンテキストウィンドウです:標準モデルの場合は 200K、[拡張コンテキスト](/ja/model-config#extended-context) モデルの場合は 1M。1M モデルで `500000` などの低い値を使用して、コンパクション目的でウィンドウを 500K として扱います。値はモデルの実際のコンテキストウィンドウでキャップされます。`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` はこの値のパーセンテージとして適用されます。この変数を設定すると、コンパクション閾値がステータスラインの `used_percentage` から分離されます。これは常にモデルの完全なコンテキストウィンドウを使用します |

167| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 自動 [IDE 接続](/ja/vs-code) をオーバーライドします。デフォルトでは、Claude Code はサポートされている IDE の統合ターミナル内で起動されると自動的に接続します。これを防ぐには `false` に設定します。tmux が親ターミナルを隠すなど、自動検出が失敗した場合に接続を強制するには `true` に設定します。[`autoConnectIde`](/ja/settings#global-config-settings) グローバル設定より優先されます |171| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 自動 [IDE 接続](/ja/vs-code) をオーバーライドします。デフォルトでは、Claude Code はサポートされている IDE の統合ターミナル内で起動されると自動的に接続します。これを防ぐには `false` に設定します。tmux が親ターミナルを隠すなど、自動検出が失敗した場合に接続を強制するには `true` に設定します。[`autoConnectIde`](/ja/settings#global-config-settings) グローバル設定より優先されます |

172| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | {/* min-version: 2.1.207 */}AWS デフォルト認証情報プロバイダーチェーンが認証情報を生成するまで Claude Code が待機する時間(ミリ秒)。リクエストが [`AWS default-chain credential resolve timed out`](/ja/errors#aws-default-chain-credential-resolve-timed-out) で失敗する前(デフォルト:`60000`)。`aws-vault` などのラッパーを通じた MFA を使用したブラウザベースの SSO サインインなど、チェーン内のステップが正当に長い時間を必要とする場合は、これを引き上げます。Claude Code が署名するすべての場所に適用されます:[Amazon Bedrock](/ja/amazon-bedrock#credential-caching-and-resolution-timeout)、[Claude Platform on AWS](/ja/claude-platform-on-aws)、[Mantle エンドポイント](/ja/amazon-bedrock#use-the-mantle-endpoint)。Claude Code v2.1.207 以降が必須です |

168| `CLAUDE_CODE_BRIDGE_SESSION_ID` | {/* min-version: 2.1.199 */}セッションがアクティブな [Remote Control](/ja/remote-control) 接続を持っている間、Bash ツールと [フックコマンド](/ja/hooks) サブプロセスで自動的に設定され、接続が終了すると削除されます。値は `session_` 形式のセッション ID で、セッションの `claude.ai/code` URL に表示される同じ識別子です。スクリプトはそれを実行したセッションにリンクバックできます。Claude Code v2.1.199 以降が必須です。[クラウドセッション](/ja/claude-code-on-the-web) では、代わりに `CLAUDE_CODE_REMOTE_SESSION_ID` を読み取ります |173| `CLAUDE_CODE_BRIDGE_SESSION_ID` | {/* min-version: 2.1.199 */}セッションがアクティブな [Remote Control](/ja/remote-control) 接続を持っている間、Bash ツールと [フックコマンド](/ja/hooks) サブプロセスで自動的に設定され、接続が終了すると削除されます。値は `session_` 形式のセッション ID で、セッションの `claude.ai/code` URL に表示される同じ識別子です。スクリプトはそれを実行したセッションにリンクバックできます。Claude Code v2.1.199 以降が必須です。[クラウドセッション](/ja/claude-code-on-the-web) では、代わりに `CLAUDE_CODE_REMOTE_SESSION_ID` を読み取ります |

169| `CLAUDE_CODE_CERT_STORE` | TLS 接続用の CA 証明書ソースのカンマ区切りリスト。`bundled` は Claude Code に付属する Mozilla CA セットです。`system` はオペレーティングシステムの信頼ストアです。読み取り専用のランタイムで `tls.getCACertificates` を持つ:ネイティブバイナリ、または npm インストール用の Node 22.15 以降。[CA 証明書ストア](/ja/network-config#ca-certificate-store) を参照してください。デフォルトは `bundled,system` です |174| `CLAUDE_CODE_CERT_STORE` | TLS 接続用の CA 証明書ソースのカンマ区切りリスト。`bundled` は Claude Code に付属する Mozilla CA セットです。`system` はオペレーティングシステムの信頼ストアです。読み取り専用のランタイムで `tls.getCACertificates` を持つ:ネイティブバイナリ、または npm インストール用の Node 22.15 以降。[CA 証明書ストア](/ja/network-config#ca-certificate-store) を参照してください。デフォルトは `bundled,system` です |

170| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Claude Code が Bash、PowerShell、Monitor ツール、[フック](/ja/hooks) コマンド、[ステータスライン](/ja/statusline) コマンドを通じてスポーンするサブプロセスで `1` に設定されます。stdio [MCP サーバー](/ja/mcp) サブプロセスでは設定されません。これらは長寿命で、それらをスポーンしたセッションより長く存在します。`CLAUDECODE` とは異なり、これは Claude Code 独自のスポーンパスによってのみ設定され、IDE 拡張機能によっては設定されないため、ネストされたセッションをトップレベルの `claude` から確実に区別します。IDE 統合ターミナルで起動されました。この方法で開始されたネストされた対話的な `claude` TUI は、`--resume`、`--continue`、上矢印履歴、`claude agents` リストから自動的に除外されます。非対話的な `claude -p` セッションは依然として永続化されます。`CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` を設定してこの除外をオーバーライドします。Claude Code v2.1.172 以降が必須です |175| `CLAUDE_CODE_CHILD_SESSION` | {/* min-version: 2.1.172 */}Claude Code が Bash、PowerShell、Monitor ツール、[フック](/ja/hooks) コマンド、[ステータスライン](/ja/statusline) コマンドを通じてスポーンするサブプロセスで `1` に設定されます。stdio [MCP サーバー](/ja/mcp) サブプロセスでは設定されません。これらは長寿命で、それらをスポーンしたセッションより長く存在します。`CLAUDECODE` とは異なり、これは Claude Code 独自のスポーンパスによってのみ設定され、IDE 拡張機能によっては設定されないため、ネストされたセッションをトップレベルの `claude` から確実に区別します。IDE 統合ターミナルで起動されました。この方法で開始されたネストされた対話的な `claude` TUI は、`--resume`、`--continue`、上矢印履歴、`claude agents` リストから自動的に除外されます。非対話的な `claude -p` セッションは依然として永続化されます。`CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` を設定してこの除外をオーバーライドします。Claude Code v2.1.172 以降が必須です |


183| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 添付ファイル処理を無効にするには `1` に設定します。`@` 構文を使用したファイルメンションはファイルコンテンツに展開される代わりにプレーンテキストとして送信されます |188| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | 添付ファイル処理を無効にするには `1` に設定します。`@` 構文を使用したファイルメンションはファイルコンテンツに展開される代わりにプレーンテキストとして送信されます |

184| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | [自動メモリ](/ja/memory#auto-memory) を無効にするには `1` に設定します。`--bare` モードまたは [`autoMemoryEnabled: false`](/ja/settings#available-settings) が自動メモリを無効にする場合でも、自動メモリを強制的にオンにするには `0` に設定します。無効にすると、Claude は自動メモリファイルを作成または読み込みません |189| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | [自動メモリ](/ja/memory#auto-memory) を無効にするには `1` に設定します。`--bare` モードまたは [`autoMemoryEnabled: false`](/ja/settings#available-settings) が自動メモリを無効にする場合でも、自動メモリを強制的にオンにするには `0` に設定します。無効にすると、Claude は自動メモリファイルを作成または読み込みません |

185| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Bash と subagent ツールの `run_in_background` パラメータ、自動バックグラウンド化、Ctrl+B ショートカットを含む、すべてのバックグラウンドタスク機能を無効にするには `1` に設定します |190| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Bash と subagent ツールの `run_in_background` パラメータ、自動バックグラウンド化、Ctrl+B ショートカットを含む、すべてのバックグラウンドタスク機能を無効にするには `1` に設定します |

191| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | {/* min-version: 2.1.208 */}[Amazon Bedrock](/ja/amazon-bedrock) ストリーミングレスポンスが `application/vnd.amazon.eventstream` コンテンツタイプを持つかどうかのチェックをスキップするには `1` に設定します。この変数がない場合、異なるコンテンツタイプのレスポンスはそのコンテンツタイプを名前付けするエラーで失敗します。これは [ゲートウェイまたはプロキシがレスポンスを変換している](/ja/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy) ことを意味します。ゲートウェイが `Content-Type` ヘッダーを書き直すが、バイナリイベントストリームボディを変更なしで通す場合にのみ設定します。ボディ自体が変換された場合、リクエストは代わりに `Truncated event message received` で失敗します。Claude Code v2.1.208 以降が必須です |

186| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | {/* min-version: 2.1.196 */}[バックグラウンドセッション](/ja/agent-view) の実行中のバックグラウンドシェルコマンド、動的ワークフロー、{/* min-version: 2.1.198 */}v2.1.198 以降、バックグラウンド subagent を停止するには `1` に設定します。[スーパーバイザー](/ja/agent-view#the-supervisor-process) が停止、再起動、またはそのセッションのプロセスを更新する場合、それらをセッションの次のプロセスに引き継ぐ代わりに。このハンドオフのみに影響します:`←` または [`/background`](/ja/agent-view#from-inside-a-session) でセッションをバックグラウンド化すると、進行中の作業が引き継がれます。`CLAUDE_DISABLE_ADOPT` は両方をオフにします。Claude Code v2.1.196 以降が必須です |192| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | {/* min-version: 2.1.196 */}[バックグラウンドセッション](/ja/agent-view) の実行中のバックグラウンドシェルコマンド、動的ワークフロー、{/* min-version: 2.1.198 */}v2.1.198 以降、バックグラウンド subagent を停止するには `1` に設定します。[スーパーバイザー](/ja/agent-view#the-supervisor-process) が停止、再起動、またはそのセッションのプロセスを更新する場合、それらをセッションの次のプロセスに引き継ぐ代わりに。このハンドオフのみに影響します:`←` または [`/background`](/ja/agent-view#from-inside-a-session) でセッションをバックグラウンド化すると、進行中の作業が引き継がれます。`CLAUDE_DISABLE_ADOPT` は両方をオフにします。Claude Code v2.1.196 以降が必須です |

187| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}オペレーティングシステムがメモリ圧力を報告する場合、Claude Code が [バックグラウンドシェルコマンド](/ja/interactive-mode#background-bash-commands) を終了するのを停止するには `1` に設定します。デフォルトでは、macOS と Linux では、Claude Code はメモリ圧力信号でメインセッションで開始されたバックグラウンドシェルを終了します。セッションが 30 分間アイドル状態で、ターンまたは subagent が実行されていない場合。Windows にはメモリ圧力信号がないため、この変数は効果がありません。Claude Code v2.1.193 以降が必須です |193| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | {/* min-version: 2.1.193 */}オペレーティングシステムがメモリ圧力を報告する場合、Claude Code が [バックグラウンドシェルコマンド](/ja/interactive-mode#background-bash-commands) を終了するのを停止するには `1` に設定します。デフォルトでは、macOS と Linux では、Claude Code はメモリ圧力信号でメインセッションで開始されたバックグラウンドシェルを終了します。セッションが 30 分間アイドル状態で、ターンまたは subagent が実行されていない場合。Windows にはメモリ圧力信号がないため、この変数は効果がありません。Claude Code v2.1.193 以降が必須です |

188| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Claude Code に付属する [スキル](/ja/skills) とワークフローを無効にするには `1` に設定します:バンドルされたスキルとワークフローは完全に削除されます。`/init` などの組み込みスラッシュコマンドは入力可能なままですが、モデルから非表示になります。プラグイン、`.claude/skills/`、`.claude/commands/` からのスキルは影響を受けません。[`disableBundledSkills`](/ja/settings#available-settings) 設定と同等です。`0` はそれをオーバーライドしません |194| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Claude Code に付属する [スキル](/ja/skills) とワークフローを無効にするには `1` に設定します:バンドルされたスキルとワークフローは完全に削除されます。`/init` などの組み込みスラッシュコマンドは入力可能なままですが、モデルから非表示になります。プラグイン、`.claude/skills/`、`.claude/commands/` からのスキルは影響を受けません。[`disableBundledSkills`](/ja/settings#available-settings) 設定と同等です。`0` はそれをオーバーライドしません |

189| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | ユーザー、プロジェクト、自動メモリファイルを含む、任意の CLAUDE.md メモリファイルをコンテキストに読み込むことを防ぐには `1` に設定します |195| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | ユーザー、プロジェクト、自動メモリファイルを含む、任意の CLAUDE.md メモリファイルをコンテキストに読み込むことを防ぐには `1` に設定します |

190| `CLAUDE_CODE_DISABLE_CRON` | [スケジュール済みタスク](/ja/scheduled-tasks) を無効にするには `1` に設定します。`/loop` スキルと cron ツールが利用できなくなり、既にスケジュール済みのタスクはすべて実行を停止します。これには既にセッション中に実行中のタスクも含まれます |196| `CLAUDE_CODE_DISABLE_CRON` | [スケジュール済みタスク](/ja/scheduled-tasks) を無効にするには `1` に設定します。`/loop` スキルと cron ツールが利用できなくなり、既にスケジュール済みのタスクはすべて実行を停止します。これには既にセッション中に実行中のタスクも含まれます |

191| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Anthropic 固有の `anthropic-beta` リクエストヘッダーと beta ツールスキーマフィールド(`defer_loading` や `eager_input_streaming` など)を API リクエストから削除するには `1` に設定します。プロキシゲートウェイが「`anthropic-beta` ヘッダーの予期しない値」や「追加の入力は許可されていません」などのエラーでリクエストを拒否する場合に使用します。標準フィールド(`name`、`description`、`input_schema`、`cache_control`)は保持されます |197| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Anthropic 固有の `anthropic-beta` リクエストヘッダーと beta ツールスキーマフィールド(`defer_loading` や `eager_input_streaming` など)を API リクエストから削除するには `1` に設定します。プロキシゲートウェイが「`anthropic-beta` ヘッダーの予期しない値」や「追加の入力は許可されていません」などのエラーでリクエストを拒否する場合に使用します。標準フィールド(`name`、`description`、`input_schema`、`cache_control`)は保持されます。[MCP ツール検索](/ja/mcp#scale-with-mcp-tool-search) は無効になり、すべての MCP ツールは `ENABLE_TOOL_SEARCH` が設定されている場合でも事前に読み込まれます |

192| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | {/* min-version: 2.1.198 */}組み込み [Explore と Plan subagent](/ja/sub-agents#built-in-subagents) を無効にするには `1` に設定します。Claude は検索ツールまたは一般的な subagent で探索し、[プランモード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode) はファイルを直接読み取ります。Explore と Plan エージェントを起動する代わりに。`Explore` または `Plan` という名前のカスタム subagent は影響を受けません。Agent SDK または非対話モードのすべての組み込み subagent タイプを削除するには、代わりに `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` を使用します。Claude Code v2.1.198 以降が必須です |198| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | {/* min-version: 2.1.198 */}組み込み [Explore と Plan subagent](/ja/sub-agents#built-in-subagents) を無効にするには `1` に設定します。Claude は検索ツールまたは一般的な subagent で探索し、[プランモード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode) はファイルを直接読み取ります。Explore と Plan エージェントを起動する代わりに。`Explore` または `Plan` という名前のカスタム subagent は影響を受けません。Agent SDK または非対話モードのすべての組み込み subagent タイプを削除するには、代わりに `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` を使用します。Claude Code v2.1.198 以降が必須です |

193| `CLAUDE_CODE_DISABLE_FAST_MODE` | [高速モード](/ja/fast-mode) を無効にするには `1` に設定します |199| `CLAUDE_CODE_DISABLE_FAST_MODE` | [高速モード](/ja/fast-mode) を無効にするには `1` に設定します |

194| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | 「Claude の調子はどうですか?」セッション品質調査を無効にするには `1` に設定します。`DISABLE_TELEMETRY`、`DO_NOT_TRACK`、または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合も調査は無効になります。`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` でオプトバックインしない限り。サンプルレートを設定する代わりに、[`feedbackSurveyRate`](/ja/settings#available-settings) 設定を使用します。[セッション品質調査](/ja/data-usage#session-quality-surveys) を参照してください |200| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | 「Claude の調子はどうですか?」セッション品質調査を無効にするには `1` に設定します。`DISABLE_TELEMETRY`、`DO_NOT_TRACK`、または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合も調査は無効になります。`CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` でオプトバックインしない限り。サンプルレートを設定する代わりに、[`feedbackSurveyRate`](/ja/settings#available-settings) 設定を使用します。[セッション品質調査](/ja/data-usage#session-quality-surveys) を参照してください |


208| `CLAUDE_CODE_DISABLE_WORKFLOWS` | [ワークフロー](/ja/workflows#turn-workflows-off) を無効にするには `1` に設定します。[`disableWorkflows`](/ja/settings#available-settings) 設定と同等です |214| `CLAUDE_CODE_DISABLE_WORKFLOWS` | [ワークフロー](/ja/workflows#turn-workflows-off) を無効にするには `1` に設定します。[`disableWorkflows`](/ja/settings#available-settings) 設定と同等です |

209| `CLAUDE_CODE_EFFORT_LEVEL` | サポートされているモデルの努力レベルを設定します。値:`low`、`medium`、`high`、`xhigh`、`max`、または `auto`(モデルのデフォルトを使用)。利用可能なレベルはモデルによって異なります。`/effort` および `effortLevel` 設定より優先されます。[努力レベルを調整](/ja/model-config#adjust-effort-level) を参照してください |215| `CLAUDE_CODE_EFFORT_LEVEL` | サポートされているモデルの努力レベルを設定します。値:`low`、`medium`、`high`、`xhigh`、`max`、または `auto`(モデルのデフォルトを使用)。利用可能なレベルはモデルによって異なります。`/effort` および `effortLevel` 設定より優先されます。[努力レベルを調整](/ja/model-config#adjust-effort-level) を参照してください |

210| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | {/* min-version: 2.1.205 */}すべての [subagent](/ja/sub-agents) のシステムプロンプトの末尾に追加テキストを追加するには `1` に設定します。[`--append-subagent-system-prompt`](/ja/cli-reference#cli-flags) フラグは追加テキストを提供し、この変数を自動的に設定するため、自分で設定する必要はありません。Claude Code v2.1.205 以降が必須です |216| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | {/* min-version: 2.1.205 */}すべての [subagent](/ja/sub-agents) のシステムプロンプトの末尾に追加テキストを追加するには `1` に設定します。[`--append-subagent-system-prompt`](/ja/cli-reference#cli-flags) フラグは追加テキストを提供し、この変数を自動的に設定するため、自分で設定する必要はありません。Claude Code v2.1.205 以降が必須です |

211| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.158 */}Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode) を利用可能にするには `1` に設定しますClaude Code v2.1.158 以降が必須です。Anthropic API では効果がなく自動モードはデフォルトで利用可能です。[Bedrock、Agent Platform、または Foundry で自動モードを有効にする](/ja/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry) を参照してください |217| `CLAUDE_CODE_ENABLE_AUTO_MODE` | {/* min-version: 2.1.207 */}互換性のために受け入れられ、効果がありません。自動モードはすべてのプロバイダーでデフォルトで利用可能です。Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry、署名済み [Claude apps ゲートウェイ](/ja/claude-apps-gateway) セッションを含みます。v2.1.158~v2.1.206 では、[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode) をこれらのプロバイダーで利用可能にするには `1` に設定する必要がありました |

212| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | [セッションリキャップ](/ja/interactive-mode#session-recap) の利用可能性をオーバーライドします。`/config` トグルに関係なくリキャップを強制的にオフにするには `0` に設定します。[`awaySummaryEnabled`](/ja/settings#available-settings) が `false` の場合にリキャップを強制的にオンにするには `1` に設定します。設定と `/config` トグルより優先されます |218| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | [セッションリキャップ](/ja/interactive-mode#session-recap) の利用可能性をオーバーライドします。`/config` トグルに関係なくリキャップを強制的にオフにするには `0` に設定します。[`awaySummaryEnabled`](/ja/settings#available-settings) が `false` の場合にリキャップを強制的にオンにするには `1` に設定します。設定と `/config` トグルより優先されます |

213| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | [非対話モード](/ja/headless) でバックグラウンドインストールが完了した後、ターン境界でプラグイン状態をリフレッシュするには `1` に設定します。リフレッシュはセッション中にシステムプロンプトを変更するため、デフォルトではオフです。これにより、そのターンの [プロンプトキャッシング](/ja/prompt-caching) が無効になります |219| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | [非対話モード](/ja/headless) でバックグラウンドインストールが完了した後、ターン境界でプラグイン状態をリフレッシュするには `1` に設定します。リフレッシュはセッション中にシステムプロンプトを変更するため、デフォルトではオフです。これにより、そのターンの [プロンプトキャッシング](/ja/prompt-caching) が無効になります |

214| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Anthropic バウンドの非必須トラフィックがブロックされている場合、「Claude の調子はどうですか?」セッション品質調査を独自の [OpenTelemetry コレクター](/ja/monitoring-usage) にルーティングするには `1` に設定します。調査の評価は OTEL イベントとしてのみ設定されたコレクターに出力されます。このモードでは調査データは Anthropic に送信されません。`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY`、または `DO_NOT_TRACK` が設定されている場合に適用され、それ以外の場合は効果がありません。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` と組織製品フィードバックポリシーが優先されます |220| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Anthropic バウンドの非必須トラフィックがブロックされている場合、「Claude の調子はどうですか?」セッション品質調査を独自の [OpenTelemetry コレクター](/ja/monitoring-usage) にルーティングするには `1` に設定します。調査の評価は OTEL イベントとしてのみ設定されたコレクターに出力されます。このモードでは調査データは Anthropic に送信されません。`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`、`DISABLE_TELEMETRY`、または `DO_NOT_TRACK` が設定されている場合に適用され、それ以外の場合は効果がありません。`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` と組織製品フィードバックポリシーが優先されます |


220| `CLAUDE_CODE_ENABLE_TELEMETRY` | OpenTelemetry データ収集をメトリクスとログ用に有効にするには `1` に設定します。OTel エクスポーターを設定する前に必須です。[監視](/ja/monitoring-usage) を参照してください |226| `CLAUDE_CODE_ENABLE_TELEMETRY` | OpenTelemetry データ収集をメトリクスとログ用に有効にするには `1` に設定します。OTel エクスポーターを設定する前に必須です。[監視](/ja/monitoring-usage) を参照してください |

221| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | クエリループがアイドル状態になった後、自動的に終了するまで待機する時間(ミリ秒)。SDK モードを使用した自動化されたワークフローとスクリプトに役立ちます |227| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | クエリループがアイドル状態になった後、自動的に終了するまで待機する時間(ミリ秒)。SDK モードを使用した自動化されたワークフローとスクリプトに役立ちます |

222| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | [エージェントチーム](/ja/agent-teams) を有効にするには `1` に設定します。エージェントチームは実験的であり、デフォルトでは無効です |228| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | [エージェントチーム](/ja/agent-teams) を有効にするには `1` に設定します。エージェントチームは実験的であり、デフォルトでは無効です |

223| `CLAUDE_CODE_EXTRA_BODY` | すべての API リクエストボディの最上位にマージする JSON オブジェクト。Claude Code が直接公開していないプロバイダー固有のパラメータを渡すのに役立ちます |229| `CLAUDE_CODE_EXTRA_BODY` | すべての API リクエストボディの最上位にマージする JSON オブジェクト。Claude Code が直接公開していないプロバイダー固有のパラメータを渡すのに役立ちます。{/* min-version: 2.1.206 */}シェルでエクスポートされた値は、`claude agents` または `--bg` でディスパッチする [バックグラウンドセッション](/ja/agent-view) にも適用されます。v2.1.206 より前は、バックグラウンドセッションはシェルエクスポート値を無視し、バックグラウンドスーパーバイザープロセスが継承したコピーを使用していました |

224| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | ファイル読み取りのデフォルトトークン制限をオーバーライドします。より大きなファイルを完全に読み取る必要がある場合に役立ちます |230| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | ファイル読み取りのデフォルトトークン制限をオーバーライドします。より大きなファイルを完全に読み取る必要がある場合に役立ちます |

225| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}別の Claude Code セッション内から起動された場合でも、トランスクリプト永続化、プロンプト履歴、`claude agents` 登録を強制するには `1` に設定します。例えば、Claude Code の Bash ツールによって最初に開始された `screen` セッションから継承された `CLAUDE_CODE_CHILD_SESSION` 値が、本物のトップレベルセッションをネストされたものとして誤分類する場合に使用します。{/* min-version: 2.1.178 */}v2.1.178 以降、Claude Code は tmux ケースを自動的に検出し、継承されたマーカーを無視するため、tmux はこの変数を必要としなくなります。v2.1.169 以降でも尊重されます。v2.1.170 と v2.1.171 では効果がなく、それがオーバーライドするネストされたセッション検出が削除されました |231| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | {/* min-version: 2.1.172 */}別の Claude Code セッション内から起動された場合でも、トランスクリプト永続化、プロンプト履歴、`claude agents` 登録を強制するには `1` に設定します。例えば、Claude Code の Bash ツールによって最初に開始された `screen` セッションから継承された `CLAUDE_CODE_CHILD_SESSION` 値が、本物のトップレベルセッションをネストされたものとして誤分類する場合に使用します。{/* min-version: 2.1.178 */}v2.1.178 以降、Claude Code は tmux ケースを自動的に検出し、継承されたマーカーを無視するため、tmux はこの変数を必要としなくなります。v2.1.169 以降でも尊重されます。v2.1.170 と v2.1.171 では効果がなく、それがオーバーライドするネストされたセッション検出が削除されました |

226| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}ターミナルがサポートしているが自動検出されていない場合、Claude の応答で `~~text~~` の取り消し線レンダリングを強制するには `1` に設定します。SSH 経由で `TERM_PROGRAM` が転送されていない場合など。これがない場合、検出されていないターミナルはリテラル `~~` マーカーを表示します。取り消し線としてレンダリングする代わりに。Claude Code v2.1.186 以降が必須です |232| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | {/* min-version: 2.1.186 */}ターミナルがサポートしているが自動検出されていない場合、Claude の応答で `~~text~~` の取り消し線レンダリングを強制するには `1` に設定します。SSH 経由で `TERM_PROGRAM` が転送されていない場合など。これがない場合、検出されていないターミナルはリテラル `~~` マーカーを表示します。取り消し線としてレンダリングする代わりに。Claude Code v2.1.186 以降が必須です |


261| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 1 つ以上の読み取り専用プラグインシードディレクトリへのパス。Unix では `:` で、Windows では `;` で区切られます。事前入力されたプラグインディレクトリをコンテナイメージにバンドルするために使用します。Claude Code はこれらのディレクトリからマーケットプレイスを登録し、再クローンなしで事前キャッシュされたプラグインを使用します。[コンテナ用のプラグインを事前入力](/ja/plugin-marketplaces#pre-populate-plugins-for-containers) を参照してください |267| `CLAUDE_CODE_PLUGIN_SEED_DIR` | 1 つ以上の読み取り専用プラグインシードディレクトリへのパス。Unix では `:` で、Windows では `;` で区切られます。事前入力されたプラグインディレクトリをコンテナイメージにバンドルするために使用します。Claude Code はこれらのディレクトリからマーケットプレイスを登録し、再クローンなしで事前キャッシュされたプラグインを使用します。[コンテナ用のプラグインを事前入力](/ja/plugin-marketplaces#pre-populate-plugins-for-containers) を参照してください |

262| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Claude Code が PowerShell をスポーンするときに `-ExecutionPolicy Bypass` を渡すことを停止するには `1` に設定します。ツール呼び出し、フック、ステータスラインコマンドの場合、マシンの有効な実行ポリシーを尊重します。デフォルトでは Claude Code はプロセススコープでバイパスを実行するため、`.ps1` スクリプトとモジュールインポートはデフォルト制限 Windows インストールで機能します。プロセススコープバイパスは、この設定に関係なく、グループポリシー `MachinePolicy` または `UserPolicy` をオーバーライドしません |268| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Claude Code が PowerShell をスポーンするときに `-ExecutionPolicy Bypass` を渡すことを停止するには `1` に設定します。ツール呼び出し、フック、ステータスラインコマンドの場合、マシンの有効な実行ポリシーを尊重します。デフォルトでは Claude Code はプロセススコープでバイパスを実行するため、`.ps1` スクリプトとモジュールインポートはデフォルト制限 Windows インストールで機能します。プロセススコープバイパスは、この設定に関係なく、グループポリシー `MachinePolicy` または `UserPolicy` をオーバーライドしません |

263| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | {/* min-version: 2.1.182 */}[非対話モード](/ja/headless#background-tasks-at-exit) で `-p` フラグを使用して、最終ターンの後、結果が出力の一部であるバックグラウンド subagent とワークフローを待機する最大時間(ミリ秒)。デフォルト:`600000`、または 10 分。キャップを超えた場合、残りのバックグラウンドタスクは終了され、プロセスは終了します。`0` に設定して無期限に待機します。このキャップは、プレーンバックグラウンドシェルに適用される 5 秒のグレースピリオドとは別です |269| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | {/* min-version: 2.1.182 */}[非対話モード](/ja/headless#background-tasks-at-exit) で `-p` フラグを使用して、最終ターンの後、結果が出力の一部であるバックグラウンド subagent とワークフローを待機する最大時間(ミリ秒)。デフォルト:`600000`、または 10 分。キャップを超えた場合、残りのバックグラウンドタスクは終了され、プロセスは終了します。`0` に設定して無期限に待機します。このキャップは、プレーンバックグラウンドシェルに適用される 5 秒のグレースピリオドとは別です |

270| `CLAUDE_CODE_PROCESS_WRAPPER` | {/* min-version: 2.1.208 */}Claude Code が独自のバイナリから開始するプロセスをラッパー実行可能ファイルを通じて起動します。`/opt/corp/launcher` などの argv プレフィックスとして指定されます。[エージェントビュー](/ja/agent-view) セッションをホストするバックグラウンドサービス、それがスポーンするすべてのセッション、更新のインストール完了のために Claude Code が実行する再起動をカバーします。最初のトークンは `exec "$@"` で実行して終わる実行可能ファイルの絶対パスである必要があり、ほとんどのランチャーはその単一パスです。値は引数リストであり、シェルコマンドではありません:空白はトークンを分離し、二重引用符はスペースを含むパスをグループ化し、`[` で始まる値は JSON 文字列配列として読み取られます。ユーザーまたは [管理設定](/ja/permissions#managed-settings) の `env` ブロックで設定します。プロジェクトおよびローカル設定では設定できません。VS Code 拡張機能は `claudeProcessWrapper` 設定を通じて独自のランチャーを設定します。Windows では無視されます。`CLAUDE_CODE_SHELL_PREFIX` は別の制御です:シェルコマンドを単一のクォート文字列としてラップしますが、この変数は Claude Code 独自のプロセスを argv プレフィックスとしてラップします。[企業ランチャーの背後で Claude Code を実行](/ja/corporate-launcher) を参照してください |

264| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | {/* min-version: 2.1.152 */}カスタムプロキシを指す場合、W3C トレースコンテキストを伝播するには `1` に設定します。`ANTHROPIC_BASE_URL` が指しています。伝播は、モデルと HTTP MCP リクエストの `traceparent` ヘッダーと、Bash、PowerShell、フックサブプロセスの `TRACEPARENT` 環境変数をカバーします。デフォルトでは、伝播は Anthropic API に直接接続されている場合にのみ有効になります。v2.1.152 で追加されました。[トレース(ベータ)](/ja/monitoring-usage#traces-beta) を参照してください |271| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | {/* min-version: 2.1.152 */}カスタムプロキシを指す場合、W3C トレースコンテキストを伝播するには `1` に設定します。`ANTHROPIC_BASE_URL` が指しています。伝播は、モデルと HTTP MCP リクエストの `traceparent` ヘッダーと、Bash、PowerShell、フックサブプロセスの `TRACEPARENT` 環境変数をカバーします。デフォルトでは、伝播は Anthropic API に直接接続されている場合にのみ有効になります。v2.1.152 で追加されました。[トレース(ベータ)](/ja/monitoring-usage#traces-beta) を参照してください |

265| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Claude Code を埋め込み、その代わりにモデルプロバイダーのルーティングを管理するホストプラットフォームによって設定されます。設定されている場合、`CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL`、`ANTHROPIC_API_KEY` などのプロバイダー選択、エンドポイント、認証変数は設定ファイルで無視されるため、ユーザー設定はホストのルーティングをオーバーライドできません。Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry の自動テレメトリオプトアウトもスキップされるため、テレメトリは標準の `DISABLE_TELEMETRY` オプトアウトに従います。[API プロバイダーごとのデフォルト動作](/ja/data-usage#default-behaviors-by-api-provider) を参照してください |272| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Claude Code を埋め込み、その代わりにモデルプロバイダーのルーティングを管理するホストプラットフォームによって設定されます。設定されている場合、`CLAUDE_CODE_USE_BEDROCK`、`ANTHROPIC_BASE_URL`、`ANTHROPIC_API_KEY` などのプロバイダー選択、エンドポイント、認証変数は設定ファイルで無視されるため、ユーザー設定はホストのルーティングをオーバーライドできません。Amazon Bedrock、Google Cloud's Agent Platform、Microsoft Foundry の自動テレメトリオプトアウトもスキップされるため、テレメトリは標準の `DISABLE_TELEMETRY` オプトアウトに従います。[API プロバイダーごとのデフォルト動作](/ja/data-usage#default-behaviors-by-api-provider) を参照してください |

266| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | プロキシが呼び出し元の代わりに DNS 解決を実行できるようにするには `1` に設定します。プロキシがホスト名解決を処理する必要がある環境でオプトインします |273| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | プロキシが呼び出し元の代わりに DNS 解決を実行できるようにするには `1` に設定します。プロキシがホスト名解決を処理する必要がある環境でオプトインします |


295| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | diff 出力の構文強調表示を無効にするには `false` に設定します。色がターミナルセットアップに干渉する場合に役立ちます。コードブロックとファイルプレビューの強調表示も無効にするには、[`syntaxHighlightingDisabled`](/ja/settings) 設定を使用します |302| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | diff 出力の構文強調表示を無効にするには `false` に設定します。色がターミナルセットアップに干渉する場合に役立ちます。コードブロックとファイルプレビューの強調表示も無効にするには、[`syntaxHighlightingDisabled`](/ja/settings) 設定を使用します |

296| `CLAUDE_CODE_TASK_LIST_ID` | セッション間でタスクリストを共有します。複数の Claude Code インスタンスで同じ ID を設定して、共有タスクリストで調整します。[タスクリスト](/ja/interactive-mode#task-list) を参照してください |303| `CLAUDE_CODE_TASK_LIST_ID` | セッション間でタスクリストを共有します。複数の Claude Code インスタンスで同じ ID を設定して、共有タスクリストで調整します。[タスクリスト](/ja/interactive-mode#task-list) を参照してください |

297| `CLAUDE_CODE_TEAM_NAME` | このチームメイトが属するエージェントチームの名前。[エージェントチーム](/ja/agent-teams) メンバーで自動的に設定されます |304| `CLAUDE_CODE_TEAM_NAME` | このチームメイトが属するエージェントチームの名前。[エージェントチーム](/ja/agent-teams) メンバーで自動的に設定されます |

305| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | {/* min-version: 2.1.206 */}非対話セッションが終了時に [エージェントチーム](/ja/agent-teams) の破棄を完了するまで待機する時間(ミリ秒)をオーバーライドします。1000~60000 を受け入れます。範囲外の値は無視され、デフォルト 10000 が適用されます。Claude Code v2.1.206 以降が必須です |

298| `CLAUDE_CODE_TMPDIR` | 内部一時ファイルに使用される一時ディレクトリをオーバーライドします。Claude Code はこのパスに `/claude-{uid}/`(Unix)または `/claude/`(Windows)を追加します。デフォルト:macOS では `/tmp`、Linux/Windows では `os.tmpdir()`。{/* min-version: 2.1.161 */}v2.1.161 以降、macOS と Linux では、[サンドボックス化](/ja/sandboxing) された Bash サブプロセスは、一部のツールが長いパスで失敗するため、オーバーライドが長いパスの場合、システムデフォルト下の短いフォールバック `$TMPDIR` を受け取ります。サンドボックス化されていない Bash コマンドはシェルの `$TMPDIR` を変更なしで継承します。Claude Code 独自の一時ファイルは常にオーバーライドを使用します |306| `CLAUDE_CODE_TMPDIR` | 内部一時ファイルに使用される一時ディレクトリをオーバーライドします。Claude Code はこのパスに `/claude-{uid}/`(Unix)または `/claude/`(Windows)を追加します。デフォルト:macOS では `/tmp`、Linux/Windows では `os.tmpdir()`。{/* min-version: 2.1.161 */}v2.1.161 以降、macOS と Linux では、[サンドボックス化](/ja/sandboxing) された Bash サブプロセスは、一部のツールが長いパスで失敗するため、オーバーライドが長いパスの場合、システムデフォルト下の短いフォールバック `$TMPDIR` を受け取ります。サンドボックス化されていない Bash コマンドはシェルの `$TMPDIR` を変更なしで継承します。Claude Code 独自の一時ファイルは常にオーバーライドを使用します |

299| `CLAUDE_CODE_TMUX_TRUECOLOR` | tmux 内で 24 ビット truecolor 出力を許可するには `1` に設定します。デフォルトでは、`$TMUX` が設定されている場合、Claude Code は 256 色にクランプされます。tmux は設定されていない限り truecolor エスケープシーケンスを通過させないためです。`~/.tmux.conf` に `set -ga terminal-overrides ',*:Tc'` を追加した後、これを設定します。[ターミナル設定](/ja/terminal-config) で他の tmux 設定を参照してください |307| `CLAUDE_CODE_TMUX_TRUECOLOR` | tmux 内で 24 ビット truecolor 出力を許可するには `1` に設定します。デフォルトでは、`$TMUX` が設定されている場合、Claude Code は 256 色にクランプされます。tmux は設定されていない限り truecolor エスケープシーケンスを通過させないためです。`~/.tmux.conf` に `set -ga terminal-overrides ',*:Tc'` を追加した後、これを設定します。[ターミナル設定](/ja/terminal-config) で他の tmux 設定を参照してください |

300| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | [Claude Platform on AWS](/ja/claude-platform-on-aws) を使用します |308| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | [Claude Platform on AWS](/ja/claude-platform-on-aws) を使用します |


319| `DISABLE_COMPACT` | すべてのコンパクションを無効にするには `1` に設定します:自動コンパクションと手動の `/compact` コマンドの両方 |327| `DISABLE_COMPACT` | すべてのコンパクションを無効にするには `1` に設定します:自動コンパクションと手動の `/compact` コマンドの両方 |

320| `DISABLE_COST_WARNINGS` | コスト警告メッセージを無効にするには `1` に設定します |328| `DISABLE_COST_WARNINGS` | コスト警告メッセージを無効にするには `1` に設定します |

321| `DISABLE_DOCTOR_COMMAND` | `/doctor` セットアップチェックアップスキルとその `/checkup` エイリアスを非表示にするには `1` に設定します。ユーザーがセッションからセットアップ診断を実行すべきでない管理されたデプロイメントに役立ちます。`claude doctor` ターミナルコマンドには影響しません。{/* min-version: 2.1.205 */}v2.1.205 より前は、この変数は `/doctor` 診断スクリーンコマンドを非表示にしました |329| `DISABLE_DOCTOR_COMMAND` | `/doctor` セットアップチェックアップスキルとその `/checkup` エイリアスを非表示にするには `1` に設定します。ユーザーがセッションからセットアップ診断を実行すべきでない管理されたデプロイメントに役立ちます。`claude doctor` ターミナルコマンドには影響しません。{/* min-version: 2.1.205 */}v2.1.205 より前は、この変数は `/doctor` 診断スクリーンコマンドを非表示にしました |

322| `DISABLE_ERROR_REPORTING` | Sentry エラーレポートをオプトアウトするには `1` に設定します |330| `DISABLE_ERROR_REPORTING` | エラーレポートをオプトアウトするには `1` に設定します |

323| `DISABLE_EXTRA_USAGE_COMMAND` | ユーザーがレート制限を超えて追加使用量を購入できる `/usage-credits` コマンドを非表示にするには `1` に設定します |331| `DISABLE_EXTRA_USAGE_COMMAND` | ユーザーがレート制限を超えて追加使用量を購入できる `/usage-credits` コマンドを非表示にするには `1` に設定します |

324| `DISABLE_FEEDBACK_COMMAND` | `/feedback` コマンドを無効にするには `1` に設定します。古い名前 `DISABLE_BUG_COMMAND` も受け入れられます |332| `DISABLE_FEEDBACK_COMMAND` | `/feedback` コマンドを無効にするには `1` に設定します。古い名前 `DISABLE_BUG_COMMAND` も受け入れられます |

325| `DISABLE_GROWTHBOOK` | GrowthBook フィーチャーフラグ取得を無効にするには `1` に設定します。すべてのフラグにコードデフォルトを使用します。テレメトリイベントログは `DISABLE_TELEMETRY` も設定されていない限りオンのままです |333| `DISABLE_GROWTHBOOK` | GrowthBook フィーチャーフラグ取得を無効にするには `1` に設定します。すべてのフラグにコードデフォルトを使用します。テレメトリイベントログは `DISABLE_TELEMETRY` も設定されていない限りオンのままです |


340| `ENABLE_CLAUDEAI_MCP_SERVERS` | Claude Code で [claude.ai MCP サーバー](/ja/mcp#use-mcp-servers-from-claude-ai) を無効にするには `false` に設定します。ログインしているユーザーではデフォルトで有効です。プロジェクトごとまたは組織ごとに無効にするには、代わりに設定で [`disableClaudeAiConnectors`](/ja/settings#available-settings) を設定します |348| `ENABLE_CLAUDEAI_MCP_SERVERS` | Claude Code で [claude.ai MCP サーバー](/ja/mcp#use-mcp-servers-from-claude-ai) を無効にするには `false` に設定します。ログインしているユーザーではデフォルトで有効です。プロジェクトごとまたは組織ごとに無効にするには、代わりに設定で [`disableClaudeAiConnectors`](/ja/settings#available-settings) を設定します |

341| `ENABLE_PROMPT_CACHING_1H` | API キー、[Amazon Bedrock](/ja/amazon-bedrock)、[Google Cloud's Agent Platform](/ja/google-vertex-ai)、[Microsoft Foundry](/ja/microsoft-foundry)、[Claude Platform on AWS](/ja/claude-platform-on-aws) ユーザーの場合、デフォルトの 5 分の代わりに 1 時間の [プロンプトキャッシュ TTL](/ja/prompt-caching#cache-lifetime) をリクエストするには `1` に設定します。サブスクリプションユーザーは 1 時間の TTL を自動的に受け取ります。1 時間キャッシュ書き込みはより高いレートで請求されます |349| `ENABLE_PROMPT_CACHING_1H` | API キー、[Amazon Bedrock](/ja/amazon-bedrock)、[Google Cloud's Agent Platform](/ja/google-vertex-ai)、[Microsoft Foundry](/ja/microsoft-foundry)、[Claude Platform on AWS](/ja/claude-platform-on-aws) ユーザーの場合、デフォルトの 5 分の代わりに 1 時間の [プロンプトキャッシュ TTL](/ja/prompt-caching#cache-lifetime) をリクエストするには `1` に設定します。サブスクリプションユーザーは 1 時間の TTL を自動的に受け取ります。1 時間キャッシュ書き込みはより高いレートで請求されます |

342| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 非推奨。代わりに `ENABLE_PROMPT_CACHING_1H` を使用してください |350| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | 非推奨。代わりに `ENABLE_PROMPT_CACHING_1H` を使用してください |

343| `ENABLE_TOOL_SEARCH` | [MCP ツール検索](/ja/mcp#scale-with-mcp-tool-search) を制御します。未設定:すべての MCP ツールはデフォルトで遅延されますが、Google Cloud's Agent Platform または `ANTHROPIC_BASE_URL` がファーストパーティ以外のホストを指している場合は事前に読み込まれます。値:`true`(常に遅延し、ベータヘッダーを送信、Google Cloud's Agent Platform モデル Sonnet 4.5 または Opus 4.5 より前、または `tool_reference` をサポートしないプロキシでリクエストが失敗)、`auto`(閾値モード:ツールがコンテキストの 10% に収まる場合は事前に読み込み)、`auto:N`(カスタム閾値、例:5% の場合は `auto:5`)、`false`(すべて事前に読み込み) |351| `ENABLE_TOOL_SEARCH` | [MCP ツール検索](/ja/mcp#scale-with-mcp-tool-search) を制御します。未設定:すべての MCP ツールはデフォルトで遅延されますが、Google Cloud's Agent Platform または `ANTHROPIC_BASE_URL` がファーストパーティ以外のホストを指している場合は事前に読み込まれます。値:`true`(常に遅延し、ベータヘッダーを送信、Google Cloud's Agent Platform モデル Sonnet 4.5 または Opus 4.5 より前、または `tool_reference` をサポートしないプロキシでリクエストが失敗)、`auto`(閾値モード:ツールがコンテキストの 10% に収まる場合は事前に読み込み)、`auto:N`(カスタム閾値、例:5% の場合は `auto:5`)、`false`(すべて事前に読み込み)。`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` が設定されている場合は無視され、すべてのツールが事前に読み込まれます |

344| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 任意のプライマリモデルで繰り返されるオーバーロードエラーの後にフォールバックモデルを停止するには、空でない値に設定します。{/* min-version: 2.1.160 */}v2.1.160 以降、設定された [フォールバックモデルチェーン](/ja/model-config#fallback-model-chains) は任意のプライマリモデルで繰り返されるオーバーロードエラーでトリガーされるため、この変数はフォールバックモデルへの切り替えに影響しません |352| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | 任意のプライマリモデルで繰り返されるオーバーロードエラーの後にフォールバックモデルを停止するには、空でない値に設定します。{/* min-version: 2.1.160 */}v2.1.160 以降、設定された [フォールバックモデルチェーン](/ja/model-config#fallback-model-chains) は任意のプライマリモデルで繰り返されるオーバーロードエラーでトリガーされるため、この変数はフォールバックモデルへの切り替えに影響しません |

345| `FORCE_AUTOUPDATE_PLUGINS` | メインのオートアップデーターが `DISABLE_AUTOUPDATER` で無効になっている場合でも、プラグインの自動更新を強制するには `1` に設定します |353| `FORCE_AUTOUPDATE_PLUGINS` | メインのオートアップデーターが `DISABLE_AUTOUPDATER` で無効になっている場合でも、プラグインの自動更新を強制するには `1` に設定します |

354| `FORCE_HYPERLINK` | ターミナルがサポートしているが自動検出されていない場合、クリック可能な OSC 8 ハイパーリンクを有効にするには `1` に設定するか、`0` に設定して無効にします |

346| `FORCE_PROMPT_CACHING_5M` | 1 時間の TTL が適用される場合でも、5 分のプロンプトキャッシュ TTL を強制するには `1` に設定します。`ENABLE_PROMPT_CACHING_1H` をオーバーライドします |355| `FORCE_PROMPT_CACHING_5M` | 1 時間の TTL が適用される場合でも、5 分のプロンプトキャッシュ TTL を強制するには `1` に設定します。`ENABLE_PROMPT_CACHING_1H` をオーバーライドします |

347| `HTTP_PROXY` | ネットワーク接続用の HTTP プロキシサーバーを指定します |356| `HTTP_PROXY` | ネットワーク接続用の HTTP プロキシサーバーを指定します |

348| `HTTPS_PROXY` | ネットワーク接続用の HTTPS プロキシサーバーを指定します |357| `HTTPS_PROXY` | ネットワーク接続用の HTTPS プロキシサーバーを指定します |


357| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | スタートアップ中に並列接続するリモート MCP サーバー(HTTP/SSE)の最大数(デフォルト:20) |366| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | スタートアップ中に並列接続するリモート MCP サーバー(HTTP/SSE)の最大数(デフォルト:20) |

358| `MCP_SERVER_CONNECTION_BATCH_SIZE` | スタートアップ中に並列接続するローカル MCP サーバー(stdio)の最大数(デフォルト:3) |367| `MCP_SERVER_CONNECTION_BATCH_SIZE` | スタートアップ中に並列接続するローカル MCP サーバー(stdio)の最大数(デフォルト:3) |

359| `MCP_TIMEOUT` | MCP サーバー起動のタイムアウト(ミリ秒)(デフォルト:30000、または 30 秒) |368| `MCP_TIMEOUT` | MCP サーバー起動のタイムアウト(ミリ秒)(デフォルト:30000、または 30 秒) |

360| `MCP_TOOL_TIMEOUT` | MCP ツール実行のタイムアウト(ミリ秒)(デフォルト:100000000、約 28 時間)。`.mcp.json` のサーバーごとの `timeout` フィールドはそのサーバーのこれをオーバーライドします。{/* min-version: 2.1.203 */}サーバーごとの `timeout` が少なくとも 1000 の場合、そのサーバーのツール呼び出しの最小アイドルウィンドウも設定するため、`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` はそれより早く中止しません。このフロアには Claude Code v2.1.203 以降が必須です。env 変数の場合、1000 未満の値は 1 秒にフロアされます。サーバーごとのフィールドの場合、1000 未満の値は無視されます |369| `MCP_TOOL_TIMEOUT` | MCP ツール実行のタイムアウト(ミリ秒)(デフォルト:100000000、約 28 時間)。HTTP、SSE、WebSocket、または [claude.ai コネクター](/ja/mcp#use-mcp-servers-from-claude-ai) MCP サーバーの場合、各リクエストはデフォルトで 60 秒後にもタイムアウトします。この変数またはサーバーごとの `timeout` を 60000 より上に設定して、そのリクエストごとの制限を引き上げます。低い値はまだ全体的なツール実行タイムアウトを短縮しますが、リクエストごとの制限は 60 秒のままです。stdio と WebSocket サーバーにはリクエストごとのタイマーがありません。`.mcp.json` のサーバーごとの `timeout` フィールドはそのサーバーのこれをオーバーライドします。{/* min-version: 2.1.203 */}サーバーごとの `timeout` が少なくとも 1000 の場合、そのサーバーのツール呼び出しの最小アイドルウィンドウも設定するため、`CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` はそれより早く中止しません。このフロアには Claude Code v2.1.203 以降が必須です。env 変数の場合、1000 未満の値は 1 秒にフロアされます。サーバーごとのフィールドの場合、1000 未満の値は無視されます |

361| `NO_PROXY` | リクエストが直接発行されるドメインと IP のリスト。プロキシをバイパスします |370| `NO_PROXY` | リクエストが直接発行されるドメインと IP のリスト。プロキシをバイパスします |

362| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}モデルの応答テキストを `assistant_response` OpenTelemetry ログイベントに含めるには `1` に設定します。未設定の場合、`OTEL_LOG_USER_PROMPTS` の値が使用されます。`OTEL_LOG_USER_PROMPTS` が設定されている場合でも応答を編集したままにするには `0` に設定します。Claude Code v2.1.193 以降が必須です。[監視](/ja/monitoring-usage#assistant-response-event) を参照してください |371| `OTEL_LOG_ASSISTANT_RESPONSES` | {/* min-version: 2.1.193 */}モデルの応答テキストを `assistant_response` OpenTelemetry ログイベントに含めるには `1` に設定します。未設定の場合、`OTEL_LOG_USER_PROMPTS` の値が使用されます。`OTEL_LOG_USER_PROMPTS` が設定されている場合でも応答を編集したままにするには `0` に設定します。Claude Code v2.1.193 以降が必須です。[監視](/ja/monitoring-usage#assistant-response-event) を参照してください |

363| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API リクエストとレスポンス JSON を `api_request_body` / `api_response_body` ログイベントとして出力します。60 KB で切り詰められたインラインボディの場合は `1` に設定するか、切り詰められていないボディをディスクに書き込み、`body_ref` パスを出力する場合は `file:<dir>` に設定します。デフォルトでは無効です。ボディには会話履歴全体が含まれます。[監視](/ja/monitoring-usage#api-request-body-event) を参照してください |372| `OTEL_LOG_RAW_API_BODIES` | Anthropic Messages API リクエストとレスポンス JSON を `api_request_body` / `api_response_body` ログイベントとして出力します。60 KB で切り詰められたインラインボディの場合は `1` に設定するか、切り詰められていないボディをディスクに書き込み、`body_ref` パスを出力する場合は `file:<dir>` に設定します。デフォルトでは無効です。ボディには会話履歴全体が含まれます。[監視](/ja/monitoring-usage#api-request-body-event) を参照してください |

hooks.md +62 −62

Details

7> Claude Code のフック イベント、設定スキーマ、JSON 入出力形式、終了コード、非同期フック、HTTP フック、プロンプト フック、MCP ツール フックのリファレンス。7> Claude Code のフック イベント、設定スキーマ、JSON 入出力形式、終了コード、非同期フック、HTTP フック、プロンプト フック、MCP ツール フックのリファレンス。

8 8 

9<Tip>9<Tip>

10 例を含むクイックスタート ガイドについては、[ワークフローをフックで自動化する](/ja/hooks-guide)を参照してください。10 例を含むクイックスタート ガイドについては、[ワークフローをフックで自動化する](/docs/ja/hooks-guide)を参照してください。

11</Tip>11</Tip>

12 12 

13フックは、Claude Code のライフサイクル内の特定のポイントで自動的に実行されるユーザー定義のシェル コマンド、HTTP エンドポイント、または LLM プロンプトです。このリファレンスを使用して、イベント スキーマ、設定オプション、JSON 入出力形式、非同期フック、HTTP フック、MCP ツール フックなどの高度な機能を検索してください。初めてフックを設定する場合は、代わりに[ガイド](/ja/hooks-guide)から始めてください。13フックは、Claude Code のライフサイクル内の特定のポイントで自動的に実行されるユーザー定義のシェル コマンド、HTTP エンドポイント、または LLM プロンプトです。このリファレンスを使用して、イベント スキーマ、設定オプション、JSON 入出力形式、非同期フック、HTTP フック、MCP ツール フックなどの高度な機能を検索してください。初めてフックを設定する場合は、代わりに[ガイド](/docs/ja/hooks-guide)から始めてください。

14 14 

15<h2 id="hook-lifecycle">15<h2 id="hook-lifecycle">

16 フック ライフサイクル16 フック ライフサイクル


52| `TaskCompleted` | When a task is being marked as completed |52| `TaskCompleted` | When a task is being marked as completed |

53| `Stop` | When Claude finishes responding |53| `Stop` | When Claude finishes responding |

54| `StopFailure` | When the turn ends due to an API error. Output and exit code are ignored |54| `StopFailure` | When the turn ends due to an API error. Output and exit code are ignored |

55| `TeammateIdle` | When an [agent team](/en/agent-teams) teammate is about to go idle |55| `TeammateIdle` | When an [agent team](/docs/en/agent-teams) teammate is about to go idle |

56| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |56| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |

57| `ConfigChange` | When a configuration file changes during a session |57| `ConfigChange` | When a configuration file changes during a session |

58| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |58| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |

59| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |59| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |

60| `WorktreeCreate` | When a worktree is being created via `--worktree` or `isolation: "worktree"`. Replaces default git behavior |60| `WorktreeCreate` | When a worktree is being created via `--worktree`, `isolation: "worktree"`, or for a background session. Replaces default git behavior |

61| `WorktreeRemove` | When a worktree is being removed, either at session exit or when a subagent finishes |61| `WorktreeRemove` | When a worktree is being removed at session exit, when a subagent finishes, or when you delete a background session |

62| `PreCompact` | Before context compaction |62| `PreCompact` | Before context compaction |

63| `PostCompact` | After context compaction completes |63| `PostCompact` | After context compaction completes |

64| `Elicitation` | When an MCP server requests user input during a tool call |64| `Elicitation` | When an MCP server requests user input during a tool call |


147 }147 }

148 ```148 ```

149 149 

150 コマンドが安全な `rm` バリアント(`rm file.txt` など)だった場合、スクリプトは代わりに `exit 0` に到達します。出力なしの終了コード 0 は、フックが報告する決定がないことを意味するため、ツール呼び出しは通常の[権限フロー](/ja/permissions)を通じて続行されます。フックは呼び出しを拒否できますが、沈黙を保つことは承認を意味しません。150 コマンドが安全な `rm` バリアント(`rm file.txt` など)だった場合、スクリプトは代わりに `exit 0` に到達します。出力なしの終了コード 0 は、フックが報告する決定がないことを意味するため、ツール呼び出しは通常の[権限フロー](/docs/ja/permissions)を通じて続行されます。フックは呼び出しを拒否できますが、沈黙を保つことは承認を意味しません。

151 </Step>151 </Step>

152 152 

153 <Step title="Claude Code が結果に基づいて行動">153 <Step title="Claude Code が結果に基づいて行動">


185| `.claude/settings.json` | 単一プロジェクト | はい、リポジトリにコミット可能 |185| `.claude/settings.json` | 単一プロジェクト | はい、リポジトリにコミット可能 |

186| `.claude/settings.local.json` | 単一プロジェクト | いいえ、Claude Code が作成するときに gitignored |186| `.claude/settings.local.json` | 単一プロジェクト | いいえ、Claude Code が作成するときに gitignored |

187| 管理ポリシー設定 | 組織全体 | はい、管理者が制御 |187| 管理ポリシー設定 | 組織全体 | はい、管理者が制御 |

188| [プラグイン](/ja/plugins) `hooks/hooks.json` | プラグインが有効な場合 | はい、プラグインにバンドル |188| [プラグイン](/docs/ja/plugins) `hooks/hooks.json` | プラグインが有効な場合 | はい、プラグインにバンドル |

189| [スキル](/ja/skills)または[エージェント](/ja/sub-agents)フロントマター | コンポーネントがアクティブな場合 | はい、コンポーネント ファイルで定義 |189| [スキル](/docs/ja/skills)または[エージェント](/docs/ja/sub-agents)フロントマター | コンポーネントがアクティブな場合 | はい、コンポーネント ファイルで定義 |

190 190 

191設定ファイル解決の詳細については、[設定](/ja/settings)を参照してください。エンタープライズ管理者は `allowManagedHooksOnly` を使用して、ユーザー、プロジェクト、プラグイン フックをブロックできます。管理設定で force-enabled されたプラグインからのフックは除外されるため、管理者は組織マーケットプレイスを通じて検証済みのフックを配布できます。[フック設定](/ja/settings#hook-configuration)を参照してください。191設定ファイル解決の詳細については、[設定](/docs/ja/settings)を参照してください。エンタープライズ管理者は `allowManagedHooksOnly` を使用して、ユーザー、プロジェクト、プラグイン フックをブロックできます。管理設定で force-enabled されたプラグインからのフックは除外されるため、管理者は組織マーケットプレイスを通じて検証済みのフックを配布できます。[フック設定](/docs/ja/settings#hook-configuration)を参照してください。

192 192 

193<h3 id="matcher-patterns">193<h3 id="matcher-patterns">

194 マッチャー パターン194 マッチャー パターン


258 258 

259`UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`MessageDisplay`、`CwdChanged` はマッチャーをサポートせず、すべての出現で常に発火します。これらのイベントに `matcher` フィールドを追加すると、サイレントに無視されます。259`UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`MessageDisplay`、`CwdChanged` はマッチャーをサポートせず、すべての出現で常に発火します。これらのイベントに `matcher` フィールドを追加すると、サイレントに無視されます。

260 260 

261ツール イベントの場合、個別のフック ハンドラーで [`if` フィールド](#common-fields)を設定することで、より狭くフィルタリングできます。`if` は[権限ルール構文](/ja/permissions)を使用してツール名と引数を一緒にマッチするため、`"Bash(git *)"` は `git *` に一致する Bash 入力のサブコマンドのいずれかに対して実行され、`"Edit(*.ts)"` は TypeScript ファイルのみに対して実行されます。261ツール イベントの場合、個別のフック ハンドラーで [`if` フィールド](#common-fields)を設定することで、より狭くフィルタリングできます。`if` は[権限ルール構文](/docs/ja/permissions)を使用してツール名と引数を一緒にマッチするため、`"Bash(git *)"` は `git *` に一致する Bash 入力のサブコマンドのいずれかに対して実行され、`"Edit(*.ts)"` は TypeScript ファイルのみに対して実行されます。

262 262 

263<h4 id="match-mcp-tools">263<h4 id="match-mcp-tools">

264 MCP ツールをマッチ264 MCP ツールをマッチ

265</h4>265</h4>

266 266 

267[MCP](/ja/mcp) サーバー ツールはツール イベント(`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`)で通常のツールとして表示されるため、他のツール名と同じ方法でマッチできます。267[MCP](/docs/ja/mcp) サーバー ツールはツール イベント(`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`)で通常のツールとして表示されるため、他のツール名と同じ方法でマッチできます。

268 268 

269MCP ツールは `mcp__<server>__<tool>` という命名パターンに従います。例えば、269MCP ツールは `mcp__<server>__<tool>` という命名パターンに従います。例えば、

270 270 


280 280 

281完全一致セット内のハイフンには Claude Code v2.1.195 以降が必要です。以前のバージョンでは、`mcp__brave-search` のようなベアのハイフン付きプレフィックスはアンカーなしの正規表現として評価され、そのサーバーのすべてのツールにマッチします。`mcp__brave-search__.*` 形式はすべてのバージョンで機能します。281完全一致セット内のハイフンには Claude Code v2.1.195 以降が必要です。以前のバージョンでは、`mcp__brave-search` のようなベアのハイフン付きプレフィックスはアンカーなしの正規表現として評価され、そのサーバーのすべてのツールにマッチします。`mcp__brave-search__.*` 形式はすべてのバージョンで機能します。

282 282 

283[プラグイン バンドル MCP サーバー](/ja/mcp#plugin-provided-mcp-servers)からのツールは、プラグイン名を含むスコープ付きサーバー セグメントを使用します。`mcp__plugin_<plugin-name>_<server-name>__<tool>`。ベア サーバー キーに対して記述されたマッチャーは、これらのツールに対して発火しません。`db` キーの下でサーバーをバンドルする `my-plugin` という名前のプラグインの場合、`query` ツールは `mcp__plugin_my-plugin_db__query` として表示されるため、そのサーバーのすべてのツールのマッチャーは `mcp__plugin_my-plugin_db__.*` です。ハンドラーの [`if` フィールド](#common-fields)で同じスコープ付きツール名を使用します。スコープ付き名がどのように構築されるかについては、[プラグイン提供 MCP サーバー](/ja/mcp#plugin-provided-mcp-servers)を参照してください。283[プラグイン バンドル MCP サーバー](/docs/ja/mcp#plugin-provided-mcp-servers)からのツールは、プラグイン名を含むスコープ付きサーバー セグメントを使用します。`mcp__plugin_<plugin-name>_<server-name>__<tool>`。ベア サーバー キーに対して記述されたマッチャーは、これらのツールに対して発火しません。`db` キーの下でサーバーをバンドルする `my-plugin` という名前のプラグインの場合、`query` ツールは `mcp__plugin_my-plugin_db__query` として表示されるため、そのサーバーのすべてのツールのマッチャーは `mcp__plugin_my-plugin_db__.*` です。ハンドラーの [`if` フィールド](#common-fields)で同じスコープ付きツール名を使用します。スコープ付き名がどのように構築されるかについては、[プラグイン提供 MCP サーバー](/docs/ja/mcp#plugin-provided-mcp-servers)を参照してください。

284 284 

285この例は、すべてのメモリ サーバー操作をログし、任意の MCP サーバーからの書き込み操作を検証します。285この例は、すべてのメモリ サーバー操作をログし、任意の MCP サーバーからの書き込み操作を検証します。

286 286 


319 319 

320* **[コマンド フック](#command-hook-fields)** (`type: "command"`): シェル コマンドを実行します。スクリプトはイベントの[JSON 入力](#hook-input-and-output)を stdin で受け取り、終了コードと stdout を通じて結果を通信します。320* **[コマンド フック](#command-hook-fields)** (`type: "command"`): シェル コマンドを実行します。スクリプトはイベントの[JSON 入力](#hook-input-and-output)を stdin で受け取り、終了コードと stdout を通じて結果を通信します。

321* **[HTTP フック](#http-hook-fields)** (`type: "http"`): イベントの JSON 入力を HTTP POST リクエストとして URL に送信します。エンドポイントは、コマンド フックと同じ[JSON 出力形式](#json-output)を使用して、レスポンス本体を通じて結果を通信します。321* **[HTTP フック](#http-hook-fields)** (`type: "http"`): イベントの JSON 入力を HTTP POST リクエストとして URL に送信します。エンドポイントは、コマンド フックと同じ[JSON 出力形式](#json-output)を使用して、レスポンス本体を通じて結果を通信します。

322* **[MCP ツール フック](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): 既に接続されている[MCP サーバー](/ja/mcp)上のツールを呼び出します。ツールのテキスト出力はコマンド フック stdout のように扱われます。322* **[MCP ツール フック](#mcp-tool-hook-fields)** (`type: "mcp_tool"`): 既に接続されている[MCP サーバー](/docs/ja/mcp)上のツールを呼び出します。ツールのテキスト出力はコマンド フック stdout のように扱われます。

323* **[プロンプト フック](#prompt-and-agent-hook-fields)** (`type: "prompt"`): Claude モデルにプロンプトを送信して、単一ターンの評価を行います。モデルは yes/no 決定を JSON として返します。[プロンプト ベースのフック](#prompt-based-hooks)を参照してください。323* **[プロンプト フック](#prompt-and-agent-hook-fields)** (`type: "prompt"`): Claude モデルにプロンプトを送信して、単一ターンの評価を行います。モデルは yes/no 決定を JSON として返します。[プロンプト ベースのフック](#prompt-based-hooks)を参照してください。

324* **[エージェント フック](#prompt-and-agent-hook-fields)** (`type: "agent"`): Read、Grep、Glob などのツールを使用して条件を検証してから決定を返すことができるサブエージェントを生成します。エージェント フックは実験的であり、変更される可能性があります。[エージェント ベースのフック](#agent-based-hooks)を参照してください。324* **[エージェント フック](#prompt-and-agent-hook-fields)** (`type: "agent"`): Read、Grep、Glob などのツールを使用して条件を検証してから決定を返すことができるサブエージェントを生成します。エージェント フックは実験的であり、変更される可能性があります。[エージェント ベースのフック](#agent-based-hooks)を参照してください。

325 325 

326すべてのマッチング フックは並列で実行され、同一のハンドラーは自動的に重複排除されます。コマンド フックはコマンド文字列と `args` で重複排除され、HTTP フックは URL で重複排除されます。326すべてのマッチング フックは並列で実行され、同一のハンドラーは自動的に重複排除されます。コマンド フックはコマンド文字列と `args` で重複排除され、HTTP フックは URL で重複排除されます。

327 327 

328ハンドラーは Claude Code の環境を持つ現在のディレクトリで実行されます。`$CLAUDE_CODE_REMOTE` 環境変数はリモート Web 環境で `"true"` に設定され、ローカル CLI では設定されません。{/* min-version: 2.1.199 */}v2.1.199 以降、[`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/ja/env-vars)は、ローカル セッションがアクティブな Remote Control 接続を持つ間、[Remote Control](/ja/remote-control)セッション ID に設定されます。328ハンドラーは Claude Code の環境を持つ現在のディレクトリで実行されます。`$CLAUDE_CODE_REMOTE` 環境変数はリモート Web 環境で `"true"` に設定され、ローカル CLI では設定されません。{/* min-version: 2.1.199 */}v2.1.199 以降、[`$CLAUDE_CODE_BRIDGE_SESSION_ID`](/docs/ja/env-vars)は、ローカル セッションがアクティブな Remote Control 接続を持つ間、[Remote Control](/docs/ja/remote-control)セッション ID に設定されます。

329 329 

330<h4 id="common-fields">330<h4 id="common-fields">

331 共通フィールド331 共通フィールド


336| フィールド | 必須 | 説明 |336| フィールド | 必須 | 説明 |

337| :-------------- | :-- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |337| :-------------- | :-- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

338| `type` | はい | `"command"`、`"http"`、`"mcp_tool"`、`"prompt"`、または `"agent"` |338| `type` | はい | `"command"`、`"http"`、`"mcp_tool"`、`"prompt"`、または `"agent"` |

339| `if` | いいえ | `"Bash(git *)"` または `"Edit(*.ts)"` などの権限ルール構文を使用してこのフックが実行されるタイミングをフィルタリングします。ツール呼び出しがパターンにマッチする場合のみ、フック コマンドが実行されます。[Bash マッチング テーブル](#bash-if-matching)を参照して、Bash パターンがサブコマンド、`$()`、バッククォートに対してどのように評価されるかを確認してください。ツール イベントでのみ評価されます。`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`。他のイベントでは、`if` が設定されたフックは実行されません。[権限ルール](/ja/permissions)と同じ構文を使用します |339| `if` | いいえ | `"Bash(git *)"` または `"Edit(*.ts)"` などの権限ルール構文を使用してこのフックが実行されるタイミングをフィルタリングします。ツール呼び出しがパターンにマッチする場合のみ、フック コマンドが実行されます。[Bash マッチング テーブル](#bash-if-matching)を参照して、Bash パターンがサブコマンド、`$()`、バッククォートに対してどのように評価されるかを確認してください。ツール イベントでのみ評価されます。`PreToolUse`、`PostToolUse`、`PostToolUseFailure`、`PermissionRequest`、`PermissionDenied`。他のイベントでは、`if` が設定されたフックは実行されません。[権限ルール](/docs/ja/permissions)と同じ構文を使用します |

340| `timeout` | いいえ | キャンセルまでの秒数。デフォルト: `command`、`http`、`mcp_tool` は 600、`prompt` は 30、`agent` は 60。[`UserPromptSubmit`](#userpromptsubmit) は `command`、`http`、`mcp_tool` のデフォルトを 30 に低下させ、[`MessageDisplay`](#messagedisplay) はそれを 10 に低下させます |340| `timeout` | いいえ | キャンセルまでの秒数。デフォルト: `command`、`http`、`mcp_tool` は 600、`prompt` は 30、`agent` は 60。[`UserPromptSubmit`](#userpromptsubmit) は `command`、`http`、`mcp_tool` のデフォルトを 30 に低下させ、[`MessageDisplay`](#messagedisplay) はそれを 10 に低下させます |

341| `statusMessage` | いいえ | フックの実行中に表示されるカスタム スピナー メッセージ |341| `statusMessage` | いいえ | フックの実行中に表示されるカスタム スピナー メッセージ |

342| `once` | いいえ | `true` の場合、セッションごとに 1 回だけ実行してから削除されます。[スキル フロントマター](#hooks-in-skills-and-agents)でのみ尊重されます。設定ファイルとエージェント フロントマターでは無視されます |342| `once` | いいえ | `true` の場合、セッションごとに 1 回だけ実行してから削除されます。[スキル フロントマター](#hooks-in-skills-and-agents)でのみ尊重されます。設定ファイルとエージェント フロントマターでは無視されます |


353| `Bash(rm *)` | `echo $(date)` | いいえ | サブコマンドが `rm *` にマッチしません |353| `Bash(rm *)` | `echo $(date)` | いいえ | サブコマンドが `rm *` にマッチしません |

354| `Bash(git push *)` | `echo $(date)` | はい | コマンド名以上を指定するパターンは、`$()`、バッククォート、または `$VAR` でとにかくフックを実行します |354| `Bash(git push *)` | `echo $(date)` | はい | コマンド名以上を指定するパターンは、`$()`、バッククォート、または `$VAR` でとにかくフックを実行します |

355 355 

356フィルターは、Bash コマンドを解析できない場合、パターンに関係なくフックを実行して、オープンに失敗します。`if` フィルターはベストエフォートであるため、ハードな許可または拒否を強制するには、フックではなく[権限システム](/ja/permissions)を使用してください。356フィルターは、Bash コマンドを解析できない場合、パターンに関係なくフックを実行して、オープンに失敗します。`if` フィルターはベストエフォートであるため、ハードな許可または拒否を強制するには、フックではなく[権限システム](/docs/ja/permissions)を使用してください。

357 357 

358<h4 id="command-hook-fields">358<h4 id="command-hook-fields">

359 コマンド フック フィールド359 コマンド フック フィールド


404}404}

405```405```

406 406 

407両方のフォームは同じ[パス プレースホルダー](#reference-scripts-by-path)をサポートし、両方とも生成されたプロセスで環境変数 `CLAUDE_PROJECT_DIR`、`CLAUDE_PLUGIN_ROOT`、`CLAUDE_PLUGIN_DATA` としてエクスポートするため、スクリプトは起動方法に関係なく `process.env.CLAUDE_PLUGIN_ROOT` を読み取ることができます。プラグイン フックは追加で [`${user_config.*}`](/ja/plugins-reference#user-configuration) 値を置換します。exec フォームのみ: 値は `command` と各 `args` 要素にプレーン文字列として置換されるため、シェルは再解析しません。407両方のフォームは同じ[パス プレースホルダー](#reference-scripts-by-path)をサポートし、両方とも生成されたプロセスで環境変数 `CLAUDE_PROJECT_DIR`、`CLAUDE_PLUGIN_ROOT`、`CLAUDE_PLUGIN_DATA` としてエクスポートするため、スクリプトは起動方法に関係なく `process.env.CLAUDE_PLUGIN_ROOT` を読み取ることができます。プラグイン フックは追加で [`${user_config.*}`](/docs/ja/plugins-reference#user-configuration) 値を置換します。exec フォームのみ: 値は `command` と各 `args` 要素にプレーン文字列として置換されるため、シェルは再解析しません。

408 408 

409`${user_config.*}` を参照するシェル フォーム プラグイン フック コマンドは、実行する代わりに[エラー](/ja/errors#plugin-command-references-user-config)で失敗します。シェル フォーム フックからオプション値を使用するには、`$CLAUDE_PLUGIN_OPTION_<KEY>` 環境変数(`webhook_url` オプションの場合は `$CLAUDE_PLUGIN_OPTION_WEBHOOK_URL` など)を読み取るか、`args` を設定してフックを exec フォームに切り替えます。v2.1.207 より前では、シェル フォーム プラグイン フック コマンドも `${user_config.*}` を置換していました。409`${user_config.*}` を参照するシェル フォーム プラグイン フック コマンドは、実行する代わりに[エラー](/docs/ja/errors#plugin-command-references-user-config)で失敗します。シェル フォーム フックからオプション値を使用するには、`$CLAUDE_PLUGIN_OPTION_<KEY>` 環境変数(`webhook_url` オプションの場合は `$CLAUDE_PLUGIN_OPTION_WEBHOOK_URL` など)を読み取るか、`args` を設定してフックを exec フォームに切り替えます。v2.1.207 より前では、シェル フォーム プラグイン フック コマンドも `${user_config.*}` を置換していました。

410 410 

411<Note>411<Note>

412 Exec フォームでは、`command` は実行可能ファイル名またはパスのみです。`command` が空白を含むパス区切りなしの名前であり、`args` と一緒に空白を含む場合、Claude Code は警告をログします。生成が失敗するためです。`node script.js` という名前の実行可能ファイルはありません。余分なトークンを `args` に移動します。`C:\Program Files\nodejs\node.exe` などのスペースを含む絶対パスは、単一の有効な実行可能ファイルであり、警告をトリガーしません。412 Exec フォームでは、`command` は実行可能ファイル名またはパスのみです。`command` が空白を含むパス区切りなしの名前であり、`args` と一緒に空白を含む場合、Claude Code は警告をログします。生成が失敗するためです。`node script.js` という名前の実行可能ファイルはありません。余分なトークンを `args` に移動します。`C:\Program Files\nodejs\node.exe` などのスペースを含む絶対パスは、単一の有効な実行可能ファイルであり、警告をトリガーしません。


461 461 

462| フィールド | 必須 | 説明 |462| フィールド | 必須 | 説明 |

463| :------- | :-- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |463| :------- | :-- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

464| `server` | はい | 設定された MCP サーバーの名前。[プラグイン バンドル サーバー](/ja/mcp#plugin-provided-mcp-servers)の場合、これはスコープ付き名前 `plugin:<plugin-name>:<server-name>`(例:`plugin:my-plugin:db`)であり、ベア サーバー キーではありません。サーバーは既に接続されている必要があります。フックは OAuth または接続フローをトリガーしません |464| `server` | はい | 設定された MCP サーバーの名前。[プラグイン バンドル サーバー](/docs/ja/mcp#plugin-provided-mcp-servers)の場合、これはスコープ付き名前 `plugin:<plugin-name>:<server-name>`(例:`plugin:my-plugin:db`)であり、ベア サーバー キーではありません。サーバーは既に接続されている必要があります。フックは OAuth または接続フローをトリガーしません |

465| `tool` | はい | そのサーバー上で呼び出すツールの名前 |465| `tool` | はい | そのサーバー上で呼び出すツールの名前 |

466| `input` | いいえ | ツールに渡される引数。文字列値は、フックの[JSON 入力](#hook-input-and-output)から `${path}` 置換をサポートします(例:`"${tool_input.file_path}"`) |466| `input` | いいえ | ツールに渡される引数。文字列値は、フックの[JSON 入力](#hook-input-and-output)から `${path}` 置換をサポートします(例:`"${tool_input.file_path}"`) |

467 467 


508 508 

509フックが実行されるときの作業ディレクトリに関係なく、プロジェクトまたはプラグイン ルートを基準にしてフック スクリプトを参照するには、これらのプレースホルダーを使用します。509フックが実行されるときの作業ディレクトリに関係なく、プロジェクトまたはプラグイン ルートを基準にしてフック スクリプトを参照するには、これらのプレースホルダーを使用します。

510 510 

511* `${CLAUDE_PROJECT_DIR}`: プロジェクト ルート。Claude Code はこの変数を[stdio MCP サーバー](/ja/mcp#option-3-add-a-local-stdio-server)とプラグイン LSP サーバーの環境にも設定します。511* `${CLAUDE_PROJECT_DIR}`: プロジェクト ルート。Claude Code はこの変数を[stdio MCP サーバー](/docs/ja/mcp#option-3-add-a-local-stdio-server)とプラグイン LSP サーバーの環境にも設定します。

512* `${CLAUDE_PLUGIN_ROOT}`: プラグインのインストール ディレクトリ、[プラグイン](/ja/plugins)にバンドルされたスクリプト用。プラグイン更新時に変更されます。512* `${CLAUDE_PLUGIN_ROOT}`: プラグインのインストール ディレクトリ、[プラグイン](/docs/ja/plugins)にバンドルされたスクリプト用。プラグイン更新時に変更されます。

513* `${CLAUDE_PLUGIN_DATA}`: プラグインの[永続データ ディレクトリ](/ja/plugins-reference#persistent-data-directory)、プラグイン更新を通じて存続すべき依存関係と状態用。513* `${CLAUDE_PLUGIN_DATA}`: プラグインの[永続データ ディレクトリ](/docs/ja/plugins-reference#persistent-data-directory)、プラグイン更新を通じて存続すべき依存関係と状態用。

514 514 

515パス プレースホルダーを参照するフックには[exec フォーム](#exec-form-and-shell-form)を優先してください。Exec フォームは各 `args` 要素を引用符なしで 1 つの引数として渡すため、スペースまたは特殊文字を含むパスは引用符が不要です。シェル フォームでは、各プレースホルダーをダブル クォートで囲みます。515パス プレースホルダーを参照するフックには[exec フォーム](#exec-form-and-shell-form)を優先してください。Exec フォームは各 `args` 要素を引用符なしで 1 つの引数として渡すため、スペースまたは特殊文字を含むパスは引用符が不要です。シェル フォームでは、各プレースホルダーをダブル クォートで囲みます。

516 516 


564 }564 }

565 ```565 ```

566 566 

567 プラグイン フックの作成の詳細については、[プラグイン コンポーネント リファレンス](/ja/plugins-reference#hooks)を参照してください。567 プラグイン フックの作成の詳細については、[プラグイン コンポーネント リファレンス](/docs/ja/plugins-reference#hooks)を参照してください。

568 </Tab>568 </Tab>

569</Tabs>569</Tabs>

570 570 


572 スキルとエージェントのフック572 スキルとエージェントのフック

573</h3>573</h3>

574 574 

575設定ファイルとプラグインに加えて、フックは[スキル](/ja/skills)と[サブエージェント](/ja/sub-agents)でフロントマターを使用して直接定義できます。これらのフックはコンポーネントのライフサイクルにスコープされ、そのコンポーネントがアクティブな場合にのみ実行されます。575設定ファイルとプラグインに加えて、フックは[スキル](/docs/ja/skills)と[サブエージェント](/docs/ja/sub-agents)でフロントマターを使用して直接定義できます。これらのフックはコンポーネントのライフサイクルにスコープされ、そのコンポーネントがアクティブな場合にのみ実行されます。

576 576 

577すべてのフック イベントがサポートされています。サブエージェントの場合、`Stop` フックは自動的に `SubagentStop` に変換されます。これはサブエージェントが完了したときに発火するイベントです。577すべてのフック イベントがサポートされています。サブエージェントの場合、`Stop` フックは自動的に `SubagentStop` に変換されます。これはサブエージェントが完了したときに発火するイベントです。

578 578 


641| フィールド | 説明 |641| フィールド | 説明 |

642| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |642| :---------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

643| `session_id` | 現在のセッション識別子 |643| `session_id` | 現在のセッション識別子 |

644| `prompt_id` | 現在処理中のユーザー プロンプトを識別する UUID。[OpenTelemetry イベントの `prompt.id` 属性](/ja/monitoring-usage#event-correlation-attributes)と一致するため、単一のプロンプトのテレメトリでフック出力を相関させることができます。最初のユーザー入力まで存在しません。{/* min-version: 2.1.196 */}Claude Code v2.1.196 以降が必要です |644| `prompt_id` | 現在処理中のユーザー プロンプトを識別する UUID。[OpenTelemetry イベントの `prompt.id` 属性](/docs/ja/monitoring-usage#event-correlation-attributes)と一致するため、単一のプロンプトのテレメトリでフック出力を相関させることができます。最初のユーザー入力まで存在しません。{/* min-version: 2.1.196 */}Claude Code v2.1.196 以降が必要です |

645| `transcript_path` | 会話 JSON へのパス。トランスクリプト ファイルは非同期に書き込まれ、メモリ内の会話に遅れる可能性があるため、フックが発火するときに現在のターンの最新メッセージがまだ含まれていない可能性があります。現在のターンの最終的なアシスタント テキストが必要なフックは、トランスクリプトを読む代わりに[Stop](#stop)と[SubagentStop](#subagentstop)の `last_assistant_message` を使用する必要があります |645| `transcript_path` | 会話 JSON へのパス。トランスクリプト ファイルは非同期に書き込まれ、メモリ内の会話に遅れる可能性があるため、フックが発火するときに現在のターンの最新メッセージがまだ含まれていない可能性があります。現在のターンの最終的なアシスタント テキストが必要なフックは、トランスクリプトを読む代わりに[Stop](#stop)と[SubagentStop](#subagentstop)の `last_assistant_message` を使用する必要があります |

646| `cwd` | フックが呼び出されるときの現在の作業ディレクトリ |646| `cwd` | フックが呼び出されるときの現在の作業ディレクトリ |

647| `permission_mode` | 現在の[権限モード](/ja/permissions#permission-modes): `"default"`、`"plan"`、`"acceptEdits"`、`"auto"`、`"dontAsk"`、または `"bypassPermissions"`。**Manual** というラベルが付いたモードは `"default"` として到着し、`"manual"` として到着することはないため、`"default"` と一致するスクリプトは引き続き機能します。すべてのイベントがこのフィールドを受け取るわけではありません。各[フック イベント](#hook-events)セクションの JSON 例を確認してください |647| `permission_mode` | 現在の[権限モード](/docs/ja/permissions#permission-modes): `"default"`、`"plan"`、`"acceptEdits"`、`"auto"`、`"dontAsk"`、または `"bypassPermissions"`。**Manual** というラベルが付いたモードは `"default"` として到着し、`"manual"` として到着することはないため、`"default"` と一致するスクリプトは引き続き機能します。すべてのイベントがこのフィールドを受け取るわけではありません。各[フック イベント](#hook-events)セクションの JSON 例を確認してください |

648| `effort` | アクティブな[努力レベル](/ja/model-config#adjust-effort-level)を保持する `level` フィールドを持つオブジェクト。ターンの場合: `"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"`。リクエストされたモデル努力が現在のモデルがサポートしているものを超える場合、これはモデルが実際に使用したダウングレードされたレベルです。Ultracode は異なるレベルではなく、`"xhigh"` として報告されます。オブジェクトは[ステータス ライン](/ja/statusline#available-data)の `effort` フィールドと一致します。`PreToolUse`、`PostToolUse`、`Stop`、`SubagentStop` などのツール使用コンテキスト内で発火するイベント、および現在のモデルが努力パラメータをサポートする場合に存在します。レベルは、フック コマンドと Bash ツールに `$CLAUDE_EFFORT` 環境変数として利用可能です。 |648| `effort` | アクティブな[努力レベル](/docs/ja/model-config#adjust-effort-level)を保持する `level` フィールドを持つオブジェクト。ターンの場合: `"low"`、`"medium"`、`"high"`、`"xhigh"`、または `"max"`。リクエストされたモデル努力が現在のモデルがサポートしているものを超える場合、これはモデルが実際に使用したダウングレードされたレベルです。Ultracode は異なるレベルではなく、`"xhigh"` として報告されます。オブジェクトは[ステータス ライン](/docs/ja/statusline#available-data)の `effort` フィールドと一致します。`PreToolUse`、`PostToolUse`、`Stop`、`SubagentStop` などのツール使用コンテキスト内で発火するイベント、および現在のモデルが努力パラメータをサポートする場合に存在します。レベルは、フック コマンドと Bash ツールに `$CLAUDE_EFFORT` 環境変数として利用可能です。 |

649| `hook_event_name` | 発火したイベントの名前 |649| `hook_event_name` | 発火したイベントの名前 |

650 650 

651`--agent` で実行するか、サブエージェント内で実行する場合、2 つの追加フィールドが含まれます。651`--agent` で実行するか、サブエージェント内で実行する場合、2 つの追加フィールドが含まれます。


653| フィールド | 説明 |653| フィールド | 説明 |

654| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |654| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

655| `agent_id` | サブエージェントの一意の識別子。フックがサブエージェント呼び出し内で発火する場合にのみ存在します。これを使用して、サブエージェント フック呼び出しをメイン スレッド呼び出しから区別します。 |655| `agent_id` | サブエージェントの一意の識別子。フックがサブエージェント呼び出し内で発火する場合にのみ存在します。これを使用して、サブエージェント フック呼び出しをメイン スレッド呼び出しから区別します。 |

656| `agent_type` | エージェント名(例えば、`"Explore"` または `"security-reviewer"`)。セッションが `--agent` を使用するか、フックがサブエージェント内で発火する場合に存在します。サブエージェントの場合、サブエージェントのタイプがセッションの `--agent` 値よりも優先されます。[カスタム サブエージェント](/ja/sub-agents)の場合、これはエージェントのフロントマターの `name` フィールドであり、ファイル名ではありません。[プラグイン](/ja/plugins)によって提供されるサブエージェントの場合、これは `my-plugin:reviewer` などのプラグイン スコープ識別子であり、フロントマター名ではありません。[SubagentStart](#subagentstart)を参照して、プラグイン スコープ名に対するマッチャーを記述する方法を確認してください。 |656| `agent_type` | エージェント名(例えば、`"Explore"` または `"security-reviewer"`)。セッションが `--agent` を使用するか、フックがサブエージェント内で発火する場合に存在します。サブエージェントの場合、サブエージェントのタイプがセッションの `--agent` 値よりも優先されます。[カスタム サブエージェント](/docs/ja/sub-agents)の場合、これはエージェントのフロントマターの `name` フィールドであり、ファイル名ではありません。[プラグイン](/docs/ja/plugins)によって提供されるサブエージェントの場合、これは `my-plugin:reviewer` などのプラグイン スコープ識別子であり、フロントマター名ではありません。[SubagentStart](#subagentstart)を参照して、プラグイン スコープ名に対するマッチャーを記述する方法を確認してください。 |

657 657 

658[`SessionStart`](#sessionstart) フックのみが `model` フィールドを受け取ることができ、存在することは保証されません。`$CLAUDE_MODEL` 環境変数はありません。フック プロセスは親環境を継承するため、シェルで `$ANTHROPIC_MODEL` を設定した場合はそれを読み取ることができますが、セッション中に `/model` でモデルを切り替えるときにその値は変わりません。1 つのセット変数は継承されません。Claude Code は[すべてのサブプロセスから `OTEL_*` エクスポーター変数を削除](/ja/monitoring-usage#administrator-configuration)します。これにはフックが含まれます。658[`SessionStart`](#sessionstart) フックのみが `model` フィールドを受け取ることができ、存在することは保証されません。`$CLAUDE_MODEL` 環境変数はありません。フック プロセスは親環境を継承するため、シェルで `$ANTHROPIC_MODEL` を設定した場合はそれを読み取ることができますが、セッション中に `/model` でモデルを切り替えるときにその値は変わりません。1 つのセット変数は継承されません。Claude Code は[すべてのサブプロセスから `OTEL_*` エクスポーター変数を削除](/docs/ja/monitoring-usage#administrator-configuration)します。これにはフックが含まれます。

659 659 

660例えば、Bash コマンドの `PreToolUse` フックは stdin で以下を受け取ります。660例えば、Bash コマンドの `PreToolUse` フックは stdin で以下を受け取ります。

661 661 


774 フックごとに 1 つのアプローチを選択する必要があります。両方ではありません。終了コードのみでシグナリングするか、終了 0 して構造化制御のために JSON を出力するかのいずれかです。Claude Code は終了 0 でのみ JSON を処理します。終了 2 の場合、JSON は無視されます。774 フックごとに 1 つのアプローチを選択する必要があります。両方ではありません。終了コードのみでシグナリングするか、終了 0 して構造化制御のために JSON を出力するかのいずれかです。Claude Code は終了 0 でのみ JSON を処理します。終了 2 の場合、JSON は無視されます。

775</Note>775</Note>

776 776 

777フックの stdout には JSON オブジェクトのみが含まれている必要があります。シェル プロファイルがスタートアップ時にテキストを出力する場合、JSON 解析に干渉する可能性があります。トラブルシューティング ガイドの[JSON 検証に失敗](/ja/hooks-guide#json-validation-failed)を参照してください。777フックの stdout には JSON オブジェクトのみが含まれている必要があります。シェル プロファイルがスタートアップ時にテキストを出力する場合、JSON 解析に干渉する可能性があります。トラブルシューティング ガイドの[JSON 検証に失敗](/docs/ja/hooks-guide#json-validation-failed)を参照してください。

778 778 

779フック出力文字列(`additionalContext`、`systemMessage`、およびプレーン stdout を含む)は 10,000 文字でキャップされます。この制限を超える出力はファイルに保存され、プレビューとファイル パスに置き換えられます。大きなツール結果と同じ方法で処理されます。779フック出力文字列(`additionalContext`、`systemMessage`、およびプレーン stdout を含む)は 10,000 文字でキャップされます。この制限を超える出力はファイルに保存され、プレビューとファイル パスに置き換えられます。大きなツール結果と同じ方法で処理されます。

780 780 


866* **条件付きプロジェクト ルール**: 編集されたばかりのファイルに適用されるテスト コマンド、このワークツリーで読み取り専用のディレクトリ866* **条件付きプロジェクト ルール**: 編集されたばかりのファイルに適用されるテスト コマンド、このワークツリーで読み取り専用のディレクトリ

867* **外部データ**: 割り当てられたオープン イシュー、最近の CI 結果、内部サービスから取得されたコンテンツ867* **外部データ**: 割り当てられたオープン イシュー、最近の CI 結果、内部サービスから取得されたコンテンツ

868 868 

869変わらない指示については、[CLAUDE.md](/ja/memory)を優先します。スクリプトを実行せずに読み込まれ、静的なプロジェクト規約の標準的な場所です。869変わらない指示については、[CLAUDE.md](/docs/ja/memory)を優先します。スクリプトを実行せずに読み込まれ、静的なプロジェクト規約の標準的な場所です。

870 870 

871テキストを命令型システム指示ではなく、事実的なステートメントとして記述します。「デプロイ ターゲットは本番環境です」または「このリポジトリは `bun test` を使用します」などのフレーズはプロジェクト情報として読み取られます。帯域外システム コマンドとしてフレーム化されたテキストは Claude のプロンプト インジェクション防御をトリガーする可能性があり、Claude がテキストをコンテキストとして扱う代わりに表示します。871テキストを命令型システム指示ではなく、事実的なステートメントとして記述します。「デプロイ ターゲットは本番環境です」または「このリポジトリは `bun test` を使用します」などのフレーズはプロジェクト情報として読み取られます。帯域外システム コマンドとしてフレーム化されたテキストは Claude のプロンプト インジェクション防御をトリガーする可能性があり、Claude がテキストをコンテキストとして扱う代わりに表示します。

872 872 


948 </Tab>948 </Tab>

949</Tabs>949</Tabs>

950 950 

951Bash コマンド検証、プロンプト フィルタリング、自動承認スクリプトを含む拡張例については、ガイドの[自動化できること](/ja/hooks-guide#what-you-can-automate)と[Bash コマンド バリデーター リファレンス実装](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py)を参照してください。951Bash コマンド検証、プロンプト フィルタリング、自動承認スクリプトを含む拡張例については、ガイドの[自動化できること](/docs/ja/hooks-guide#what-you-can-automate)と[Bash コマンド バリデーター リファレンス実装](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py)を参照してください。

952 952 

953<h2 id="hook-events">953<h2 id="hook-events">

954 フック イベント954 フック イベント


960 SessionStart960 SessionStart

961</h3>961</h3>

962 962 

963Claude Code が新しいセッションを開始するか、既存のセッションを再開するときに実行されます。既存の問題や最近のコードベース変更など、開発コンテキストをロードしたり、環境変数をセットアップしたりするのに便利です。静的コンテキストでスクリプトが不要な場合は、代わりに[CLAUDE.md](/ja/memory)を使用してください。963Claude Code が新しいセッションを開始するか、既存のセッションを再開するときに実行されます。既存の問題や最近のコードベース変更など、開発コンテキストをロードしたり、環境変数をセットアップしたりするのに便利です。静的コンテキストでスクリプトが不要な場合は、代わりに[CLAUDE.md](/docs/ja/memory)を使用してください。

964 964 

965SessionStart はすべてのセッションで実行されるため、これらのフックを高速に保ちます。`type: "command"` と `type: "mcp_tool"` フックのみがサポートされています。965SessionStart はすべてのセッションで実行されるため、これらのフックを高速に保ちます。`type: "command"` と `type: "mcp_tool"` フックのみがサポートされています。

966 966 


1006| フィールド | 説明 |1006| フィールド | 説明 |

1007| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1007| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1008| `additionalContext` | Claude のコンテキストの開始時に追加される文字列。最初のプロンプトの前。[Claude のコンテキストを追加](#add-context-for-claude)を参照して、テキストがどのように配信されるか、何を含めるかを確認してください |1008| `additionalContext` | Claude のコンテキストの開始時に追加される文字列。最初のプロンプトの前。[Claude のコンテキストを追加](#add-context-for-claude)を参照して、テキストがどのように配信されるか、何を含めるかを確認してください |

1009| `initialUserMessage` | セッションの最初のユーザー メッセージとして使用される文字列。[非対話型モード](/ja/headless)で `-p` フラグで適用され、プロンプトが提供されない場合でも最初のターンになります。プロンプトが提供される場合、次のターンとして続きます。`additionalContext` とは異なり、既存のターンに付加されるのではなく、このターンを作成します |1009| `initialUserMessage` | セッションの最初のユーザー メッセージとして使用される文字列。[非対話型モード](/docs/ja/headless)で `-p` フラグで適用され、プロンプトが提供されない場合でも最初のターンになります。プロンプトが提供される場合、次のターンとして続きます。`additionalContext` とは異なり、既存のターンに付加されるのではなく、このターンを作成します |

1010| `sessionTitle` | セッション タイトルを設定します。`/rename` と同じ効果があります。起動フォルダ、git ブランチ、またはワークツリー名からセッションを自動的に名前付けするのに使用します。`source` が `"startup"` または `"resume"` の場合のみ適用されます。`"clear"` と `"compact"` では無視されます |1010| `sessionTitle` | セッション タイトルを設定します。`/rename` と同じ効果があります。起動フォルダ、git ブランチ、またはワークツリー名からセッションを自動的に名前付けするのに使用します。`source` が `"startup"` または `"resume"` の場合のみ適用されます。`"clear"` と `"compact"` では無視されます |

1011| `watchPaths` | このセッション中に[FileChanged](#filechanged)イベントを監視する絶対パスの配列 |1011| `watchPaths` | このセッション中に[FileChanged](#filechanged)イベントを監視する絶対パスの配列 |

1012| `reloadSkills` | ブール値。`true` の場合、Claude Code は SessionStart フックが完了した後に[スキル](/ja/skills)とコマンド ディレクトリを再スキャンするため、フックがインストールしたスキルは同じセッションで利用可能になり、最初のプロンプトから開始されます |1012| `reloadSkills` | ブール値。`true` の場合、Claude Code は SessionStart フックが完了した後に[スキル](/docs/ja/skills)とコマンド ディレクトリを再スキャンするため、フックがインストールしたスキルは同じセッションで利用可能になり、最初のプロンプトから開始されます |

1013 1013 

1014```json theme={null}1014```json theme={null}

1015{1015{


1083 Setup1083 Setup

1084</h3>1084</h3>

1085 1085 

1086`--init-only` で Claude Code を起動するか、[非対話型モード](/ja/headless)で `-p` フラグを使用して `--init` または `--maintenance` で起動するときのみ発火します。通常のスタートアップでは発火しません。CI またはスクリプトから明示的にトリガーする 1 回限りの依存関係インストールまたはスケジュール済みクリーンアップに使用します。通常のセッション スタートアップとは別です。セッションごとの初期化の場合は、代わりに[SessionStart](#sessionstart)を使用してください。1086`--init-only` で Claude Code を起動するか、[非対話型モード](/docs/ja/headless)で `-p` フラグを使用して `--init` または `--maintenance` で起動するときのみ発火します。通常のスタートアップでは発火しません。CI またはスクリプトから明示的にトリガーする 1 回限りの依存関係インストールまたはスケジュール済みクリーンアップに使用します。通常のセッション スタートアップとは別です。セッションごとの初期化の場合は、代わりに[SessionStart](#sessionstart)を使用してください。

1087 1087 

1088マッチャー値はフックをトリガーした CLI フラグに対応しています。1088マッチャー値はフックをトリガーした CLI フラグに対応しています。

1089 1089 


1094 1094 

1095`--init-only` は Setup フックと `startup` マッチャーを持つ SessionStart フックを実行してから、会話を開始せずに終了します。`--init` と `--maintenance` は `-p` と組み合わせた場合のみ Setup フックを発火させます。対話型セッションでは、これら 2 つのフラグは現在 Setup フックを発火させません。1095`--init-only` は Setup フックと `startup` マッチャーを持つ SessionStart フックを実行してから、会話を開始せずに終了します。`--init` と `--maintenance` は `-p` と組み合わせた場合のみ Setup フックを発火させます。対話型セッションでは、これら 2 つのフラグは現在 Setup フックを発火させません。

1096 1096 

1097Setup はすべての起動で発火しないため、依存関係がインストールされている必要があるプラグインは Setup のみに依存できません。実用的なパターンは、最初の使用時に依存関係をチェックし、欠落している場合はインストールすることです。例えば、`${CLAUDE_PLUGIN_DATA}/node_modules` をテストし、欠落している場合は `npm install` を実行するフックまたはスキル。永続データ ディレクトリについては、[永続データ ディレクトリ](/ja/plugins-reference#persistent-data-directory)を参照して、インストールされた依存関係を保存する場所を確認してください。1097Setup はすべての起動で発火しないため、依存関係がインストールされている必要があるプラグインは Setup のみに依存できません。実用的なパターンは、最初の使用時に依存関係をチェックし、欠落している場合はインストールすることです。例えば、`${CLAUDE_PLUGIN_DATA}/node_modules` をテストし、欠落している場合は `npm install` を実行するフックまたはスキル。永続データ ディレクトリについては、[永続データ ディレクトリ](/docs/ja/plugins-reference#persistent-data-directory)を参照して、インストールされた依存関係を保存する場所を確認してください。

1098 1098 

1099<h4 id="setup-input">1099<h4 id="setup-input">

1100 Setup 入力1100 Setup 入力


1116 Setup 決定制御1116 Setup 決定制御

1117</h4>1117</h4>

1118 1118 

1119Setup フックはブロックできません。非ゼロ終了コード(2 を含む)は stderr をユーザーに `<hook name> hook error` 通知として表示し、実行は続行されます。[非対話型モード](/ja/headless)では、フック出力は `--verbose` で起動した場合のみ表示されます。1119Setup フックはブロックできません。非ゼロ終了コード(2 を含む)は stderr をユーザーに `<hook name> hook error` 通知として表示し、実行は続行されます。[非対話型モード](/docs/ja/headless)では、フック出力は `--verbose` で起動した場合のみ表示されます。

1120 1120 

1121Claude のコンテキストに情報を渡すには、JSON 出力で `additionalContext` を返します。プレーン stdout はデバッグ ログにのみ書き込まれます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、これらのイベント固有のフィールドを返すことができます。1121Claude のコンテキストに情報を渡すには、JSON 出力で `additionalContext` を返します。プレーン stdout はデバッグ ログにのみ書き込まれます。すべてのフックで利用可能な[JSON 出力フィールド](#json-output)に加えて、これらのイベント固有のフィールドを返すことができます。

1122 1122 


1186 1186 

1187タイムアウトに達した `UserPromptSubmit` フックはキャンセルされ、`additionalContext` を含むその出力は破棄されます。プロンプトは引き続き Claude に到達しますが、そのコンテキストなしで。v2.1.196 以降では、トランスクリプトはフックの名前、発火したタイムアウト、出力が破棄されたことを示す通知を表示します。以前のバージョンはフックを通知なしでキャンセルします。1187タイムアウトに達した `UserPromptSubmit` フックはキャンセルされ、`additionalContext` を含むその出力は破棄されます。プロンプトは引き続き Claude に到達しますが、そのコンテキストなしで。v2.1.196 以降では、トランスクリプトはフックの名前、発火したタイムアウト、出力が破棄されたことを示す通知を表示します。以前のバージョンはフックを通知なしでキャンセルします。

1188 1188 

1189[Agent SDK コールバック フック](/ja/agent-sdk/hooks)が `UserPromptSubmit` でタイムアウトに達した場合、プロンプトをブロックします。フックの名前とタイムアウトを示すメッセージが表示されます。コールバックはそこで失敗してはいけないポリシー ゲートとして機能する可能性があるためです。セッションは続行されます。v2.1.208 より前では、コールバック タイムアウトはそのイベントでターンを実行エラーで終了させました。1189[Agent SDK コールバック フック](/docs/ja/agent-sdk/hooks)が `UserPromptSubmit` でタイムアウトに達した場合、プロンプトをブロックします。フックの名前とタイムアウトを示すメッセージが表示されます。コールバックはそこで失敗してはいけないポリシー ゲートとして機能する可能性があるためです。セッションは続行されます。v2.1.208 より前では、コールバック タイムアウトはそのイベントでターンを実行エラーで終了させました。

1190 1190 

1191<h4 id="userpromptsubmit-input">1191<h4 id="userpromptsubmit-input">

1192 UserPromptSubmit 入力1192 UserPromptSubmit 入力


1441Claude がツール パラメーターを作成した後、ツール呼び出しを処理する前に実行されます。ツール名でマッチします。`Bash`、`Edit`、`Write`、`Read`、`Glob`、`Grep`、`Agent`、`WebFetch`、`WebSearch`、`AskUserQuestion`、`ExitPlanMode`、および任意の[MCP ツール名](#match-mcp-tools)。1441Claude がツール パラメーターを作成した後、ツール呼び出しを処理する前に実行されます。ツール名でマッチします。`Bash`、`Edit`、`Write`、`Read`、`Glob`、`Grep`、`Agent`、`WebFetch`、`WebSearch`、`AskUserQuestion`、`ExitPlanMode`、および任意の[MCP ツール名](#match-mcp-tools)。

1442 1442 

1443<Warning>1443<Warning>

1444 PreToolUse は Claude がツールを呼び出すときのみ実行されます。[プロンプトで `@` を使用して参照する](/ja/common-workflows#reference-files-and-directories)ファイルは、ツール呼び出しなしで追加されます。Claude Code はプロンプトを構築しながらそれらのコンテンツを挿入するため、`Read` にマッチするフックを含む PreToolUse フックは発火しません。特定のパスを `@` 参照からブロックするには、代わりに[`Read` 拒否ルール](/ja/permissions#read-and-edit)を使用してください。1444 PreToolUse は Claude がツールを呼び出すときのみ実行されます。[プロンプトで `@` を使用して参照する](/docs/ja/common-workflows#reference-files-and-directories)ファイルは、ツール呼び出しなしで追加されます。Claude Code はプロンプトを構築しながらそれらのコンテンツを挿入するため、`Read` にマッチするフックを含む PreToolUse フックは発火しません。特定のパスを `@` 参照からブロックするには、代わりに[`Read` 拒否ルール](/docs/ja/permissions#read-and-edit)を使用してください。

1445</Warning>1445</Warning>

1446 1446 

1447[PreToolUse 決定制御](#pretooluse-decision-control)を使用して、ツール呼び出しを許可、拒否、質問、または遅延します。1447[PreToolUse 決定制御](#pretooluse-decision-control)を使用して、ツール呼び出しを許可、拒否、質問、または遅延します。


1462| :------------------ | :--- | :----------------- | :------------------------------------------------------------------------------- |1462| :------------------ | :--- | :----------------- | :------------------------------------------------------------------------------- |

1463| `command` | 文字列 | `"npm test"` | 実行するシェル コマンド |1463| `command` | 文字列 | `"npm test"` | 実行するシェル コマンド |

1464| `description` | 文字列 | `"Run test suite"` | コマンドが何をするかのオプション説明 |1464| `description` | 文字列 | `"Run test suite"` | コマンドが何をするかのオプション説明 |

1465| `timeout` | 数値 | `120000` | ミリ秒単位のオプション タイムアウト。[最大値](/ja/tools-reference#bash-tool-behavior)を超える値は最大値に削減されます |1465| `timeout` | 数値 | `120000` | ミリ秒単位のオプション タイムアウト。[最大値](/docs/ja/tools-reference#bash-tool-behavior)を超える値は最大値に削減されます |

1466| `run_in_background` | ブール値 | `false` | コマンドをバックグラウンドで実行するかどうか |1466| `run_in_background` | ブール値 | `false` | コマンドをバックグラウンドで実行するかどうか |

1467 1467 

1468<h5 id="write">1468<h5 id="write">


1554 Agent1554 Agent

1555</h5>1555</h5>

1556 1556 

1557[サブエージェント](/ja/sub-agents)を生成します。1557[サブエージェント](/docs/ja/sub-agents)を生成します。

1558 1558 

1559| フィールド | タイプ | 例 | 説明 |1559| フィールド | タイプ | 例 | 説明 |

1560| :-------------- | :-- | :------------------------- | :----------------------------- |1560| :-------------- | :-- | :------------------------- | :----------------------------- |


1597 ExitPlanMode1597 ExitPlanMode

1598</h5>1598</h5>

1599 1599 

1600Claude が[プラン モード](/ja/permission-modes#analyze-before-you-edit-with-plan-mode)を離れる前にプランを提示し、ユーザーに承認を求めます。Claude はツールを呼び出す前にプランをディスク上のファイルに書き込むため、モデルからのリテラル `tool_input` は通常空です。Claude Code はプラン コンテンツとファイル パスをフックに渡す前に注入します。1600Claude が[プラン モード](/docs/ja/permission-modes#analyze-before-you-edit-with-plan-mode)を離れる前にプランを提示し、ユーザーに承認を求めます。Claude はツールを呼び出す前にプランをディスク上のファイルに書き込むため、モデルからのリテラル `tool_input` は通常空です。Claude Code はプラン コンテンツとファイル パスをフックに渡す前に注入します。

1601 1601 

1602| フィールド | タイプ | 例 | 説明 |1602| フィールド | タイプ | 例 | 説明 |

1603| :--------------- | :-- | :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------- |1603| :--------------- | :-- | :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------- |


1615 1615 

1616| フィールド | 説明 |1616| フィールド | 説明 |

1617| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1617| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1618| `permissionDecision` | `"allow"` はツール呼び出しをスキップします。[ユーザー操作が必要なツール](#pretooluse-decision-control)と、組織が [`ask`](/ja/mcp#organization-controls-on-connector-tools)に設定したコネクター ツールを除きます。`"deny"` はツール呼び出しを防止します。`"ask"` はユーザーに確認を促します。`"defer"` は優雅に終了して、ツールを後で再開できるようにします。[拒否と質問ルール](/ja/permissions#manage-permissions)は、フックが返す内容に関係なく引き続き評価されます |1618| `permissionDecision` | `"allow"` はツール呼び出しをスキップします。[ユーザー操作が必要なツール](#pretooluse-decision-control)と、組織が [`ask`](/docs/ja/mcp#organization-controls-on-connector-tools)に設定したコネクター ツールを除きます。`"deny"` はツール呼び出しを防止します。`"ask"` はユーザーに確認を促します。`"defer"` は優雅に終了して、ツールを後で再開できるようにします。[拒否と質問ルール](/docs/ja/permissions#manage-permissions)は、フックが返す内容に関係なく引き続き評価されます |

1619| `permissionDecisionReason` | `"allow"` と `"ask"` の場合、ユーザーに表示されますが Claude には表示されません。`"deny"` の場合、Claude に表示されます。`"defer"` の場合、無視されます |1619| `permissionDecisionReason` | `"allow"` と `"ask"` の場合、ユーザーに表示されますが Claude には表示されません。`"deny"` の場合、Claude に表示されます。`"defer"` の場合、無視されます |

1620| `updatedInput` | 実行前にツールの入力パラメーターを変更します。入力オブジェクト全体を置き換えるため、変更されていないフィールドを変更されたフィールドと一緒に含めます。`"allow"` と組み合わせて自動承認するか、`"ask"` と組み合わせて変更された入力をユーザーに表示します。`"defer"` の場合、無視されます |1620| `updatedInput` | 実行前にツールの入力パラメーターを変更します。入力オブジェクト全体を置き換えるため、変更されていないフィールドを変更されたフィールドと一緒に含めます。`"allow"` と組み合わせて自動承認するか、`"ask"` と組み合わせて変更された入力をユーザーに表示します。`"defer"` の場合、無視されます |

1621| `additionalContext` | ツール実行前に Claude のコンテキストに追加される文字列。`"defer"` の場合、無視されます。[Claude のコンテキストを追加](#add-context-for-claude)を参照してください |1621| `additionalContext` | ツール実行前に Claude のコンテキストに追加される文字列。`"defer"` の場合、無視されます。[Claude のコンテキストを追加](#add-context-for-claude)を参照してください |


1638}1638}

1639```1639```

1640 1640 

1641`AskUserQuestion` と `ExitPlanMode` はユーザー操作が必要で、通常は[非対話型モード](/ja/headless)で `-p` フラグでブロックします。`permissionDecision: "allow"` を `updatedInput` と一緒に返すことでその要件を満たします。フックは stdin からツールの入力を読み取り、独自の UI を通じて回答を収集し、ツールがプロンプトなしで実行されるように `updatedInput` で返します。`"allow"` のみを返すことはこれらのツールには十分ではありません。`AskUserQuestion` の場合、元の `questions` 配列をエコーバックし、各質問のテキストを選択された回答にマップする [`answers`](#askuserquestion) オブジェクトを追加します。1641`AskUserQuestion` と `ExitPlanMode` はユーザー操作が必要で、通常は[非対話型モード](/docs/ja/headless)で `-p` フラグでブロックします。`permissionDecision: "allow"` を `updatedInput` と一緒に返すことでその要件を満たします。フックは stdin からツールの入力を読み取り、独自の UI を通じて回答を収集し、ツールがプロンプトなしで実行されるように `updatedInput` で返します。`"allow"` のみを返すことはこれらのツールには十分ではありません。`AskUserQuestion` の場合、元の `questions` 配列をエコーバックし、各質問のテキストを選択された回答にマップする [`answers`](#askuserquestion) オブジェクトを追加します。

1642 1642 

1643コネクター ツール[組織が `ask`](/ja/mcp#organization-controls-on-connector-tools)に設定したツールはプロンプトを表示します。`"allow"` を返す場合でも。1643コネクター ツール[組織が `ask`](/docs/ja/mcp#organization-controls-on-connector-tools)に設定したツールはプロンプトを表示します。`"allow"` を返す場合でも。

1644 1644 

1645v2.1.199 以降では、サーバーが [`_meta["anthropic/requiresUserInteraction"]`](/ja/mcp#require-approval-for-a-specific-tool) でマークした MCP ツールはより厳密です。フックは `"allow"` で承認プロンプトをスキップできません。`updatedInput` の有無にかかわらず、Claude Code はフックがツールが必要とする操作を収集したことを確認できないためです。1645v2.1.199 以降では、サーバーが [`_meta["anthropic/requiresUserInteraction"]`](/docs/ja/mcp#require-approval-for-a-specific-tool) でマークした MCP ツールはより厳密です。フックは `"allow"` で承認プロンプトをスキップできません。`updatedInput` の有無にかかわらず、Claude Code はフックがツールが必要とする操作を収集したことを確認できないためです。

1646 1646 

1647<Note>1647<Note>

1648 PreToolUse は以前、トップレベル `decision` と `reason` フィールドを使用していましたが、このイベントでは非推奨です。代わりに `hookSpecificOutput.permissionDecision` と `hookSpecificOutput.permissionDecisionReason` を使用してください。非推奨の値 `"approve"` と `"block"` は `"allow"` と `"deny"` にマップされます。PostToolUse と Stop などの他のイベントは、現在の形式としてトップレベル `decision` と `reason` を使用し続けます。1648 PreToolUse は以前、トップレベル `decision` と `reason` フィールドを使用していましたが、このイベントでは非推奨です。代わりに `hookSpecificOutput.permissionDecision` と `hookSpecificOutput.permissionDecisionReason` を使用してください。非推奨の値 `"approve"` と `"block"` は `"allow"` と `"deny"` にマップされます。PostToolUse と Stop などの他のイベントは、現在の形式としてトップレベル `decision` と `reason` を使用し続けます。


1652 ツール呼び出しを後で再開するために遅延1652 ツール呼び出しを後で再開するために遅延

1653</h4>1653</h4>

1654 1654 

1655`"defer"` は `claude -p` をサブプロセスとして実行し、その JSON 出力を読み取る Agent SDK アプリまたはカスタム UI などの統合用です。これにより、その呼び出しプロセスは Claude をツール呼び出しで一時停止し、独自のインターフェースを通じて入力を収集し、中断したところから再開できます。Claude Code は[非対話型モード](/ja/headless)で `-p` フラグでのみこの値を尊重します。対話型セッションではログ警告を記録し、フック結果を無視します。1655`"defer"` は `claude -p` をサブプロセスとして実行し、その JSON 出力を読み取る Agent SDK アプリまたはカスタム UI などの統合用です。これにより、その呼び出しプロセスは Claude をツール呼び出しで一時停止し、独自のインターフェースを通じて入力を収集し、中断したところから再開できます。Claude Code は[非対話型モード](/docs/ja/headless)で `-p` フラグでのみこの値を尊重します。対話型セッションではログ警告を記録し、フック結果を無視します。

1656 1656 

1657`AskUserQuestion` ツールが典型的なケースです。Claude はユーザーに何かを尋ねたいのですが、応答するターミナルがありません。ラウンド トリップは次のように機能します。1657`AskUserQuestion` ツールが典型的なケースです。Claude はユーザーに何かを尋ねたいのですが、応答するターミナルがありません。ラウンド トリップは次のように機能します。

1658 1658 


1734 1734 

1735| フィールド | 説明 |1735| フィールド | 説明 |

1736| :------------------- | :------------------------------------------------------------------------------------------------------------------------------ |1736| :------------------- | :------------------------------------------------------------------------------------------------------------------------------ |

1737| `behavior` | `"allow"` は権限を付与、`"deny"` は拒否。[拒否と質問ルール](/ja/permissions#manage-permissions)は引き続き評価されるため、`"allow"` を返すフックは一致する拒否ルールをオーバーライドしません |1737| `behavior` | `"allow"` は権限を付与、`"deny"` は拒否。[拒否と質問ルール](/docs/ja/permissions#manage-permissions)は引き続き評価されるため、`"allow"` を返すフックは一致する拒否ルールをオーバーライドしません |

1738| `updatedInput` | `"allow"` のみ: 実行前にツールの入力パラメーターを変更します。入力オブジェクト全体を置き換えるため、変更されていないフィールドを変更されたフィールドと一緒に含めます。変更された入力は拒否と質問ルールに対して再評価されます |1738| `updatedInput` | `"allow"` のみ: 実行前にツールの入力パラメーターを変更します。入力オブジェクト全体を置き換えるため、変更されていないフィールドを変更されたフィールドと一緒に含めます。変更された入力は拒否と質問ルールに対して再評価されます |

1739| `updatedPermissions` | `"allow"` のみ: 適用する[権限更新エントリ](#permission-update-entries)の配列。許可ルールを追加したり、セッション権限モードを変更したりするなど |1739| `updatedPermissions` | `"allow"` のみ: 適用する[権限更新エントリ](#permission-update-entries)の配列。許可ルールを追加したり、セッション権限モードを変更したりするなど |

1740| `message` | `"deny"` のみ: 権限が拒否された理由を Claude に伝える |1740| `message` | `"deny"` のみ: 権限が拒否された理由を Claude に伝える |


1770| `removeDirectories` | `directories`、`destination` | 作業ディレクトリを削除 |1770| `removeDirectories` | `directories`、`destination` | 作業ディレクトリを削除 |

1771 1771 

1772<Note>1772<Note>

1773 `setMode` で `bypassPermissions` を使用する場合、セッションが既にバイパス モードで起動されている場合のみ有効です。`--dangerously-skip-permissions`、`--permission-mode bypassPermissions`、`--allow-dangerously-skip-permissions`、または設定の `permissions.defaultMode: "bypassPermissions"` を使用し、モードが [`permissions.disableBypassPermissionsMode`](/ja/permissions#managed-settings)で無効化されていない場合。それ以外の場合、更新は no-op です。`bypassPermissions` は `destination` に関係なく `defaultMode` として永続化されません。1773 `setMode` で `bypassPermissions` を使用する場合、セッションが既にバイパス モードで起動されている場合のみ有効です。`--dangerously-skip-permissions`、`--permission-mode bypassPermissions`、`--allow-dangerously-skip-permissions`、または設定の `permissions.defaultMode: "bypassPermissions"` を使用し、モードが [`permissions.disableBypassPermissionsMode`](/docs/ja/permissions#managed-settings)で無効化されていない場合。それ以外の場合、更新は no-op です。`bypassPermissions` は `destination` に関係なく `defaultMode` として永続化されません。

1774</Note>1774</Note>

1775 1775 

1776すべてのエントリの `destination` フィールドは、変更がメモリに留まるか設定ファイルに永続化されるかを決定します。1776すべてのエントリの `destination` フィールドは、変更がメモリに留まるか設定ファイルに永続化されるかを決定します。


1989 PermissionDenied1989 PermissionDenied

1990</h3>1990</h3>

1991 1991 

1992[自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)分類器がツール呼び出しを拒否するときに実行されます。このフックは自動モードでのみ発火します。手動で権限ダイアログを拒否するとき、`PreToolUse` フックがコールをブロックするとき、または `deny` ルールがマッチするときは実行されません。これを使用して分類器の拒否をログ、設定を調整、またはモデルがツール呼び出しを再試行できることを伝えます。1992[自動モード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)分類器がツール呼び出しを拒否するときに実行されます。このフックは自動モードでのみ発火します。手動で権限ダイアログを拒否するとき、`PreToolUse` フックがコールをブロックするとき、または `deny` ルールがマッチするときは実行されません。これを使用して分類器の拒否をログ、設定を調整、またはモデルがツール呼び出しを再試行できることを伝えます。

1993 1993 

1994ツール名でマッチします。PreToolUse と同じ値。1994ツール名でマッチします。PreToolUse と同じ値。

1995 1995 


2051| `elicitation_dialog` | MCP サーバーが elicitation フォームを開く |2051| `elicitation_dialog` | MCP サーバーが elicitation フォームを開く |

2052| `elicitation_complete` | MCP elicitation フォームが送信または却下 |2052| `elicitation_complete` | MCP elicitation フォームが送信または却下 |

2053| `elicitation_response` | MCP elicitation レスポンスがサーバーに送信 |2053| `elicitation_response` | MCP elicitation レスポンスがサーバーに送信 |

2054| `agent_needs_input` | バックグラウンド セッションが入力を待機開始。[エージェント ビュー](/ja/agent-view)がターミナルで開いている場合のみ発火 |2054| `agent_needs_input` | バックグラウンド セッションが入力を待機開始。[エージェント ビュー](/docs/ja/agent-view)がターミナルで開いている場合のみ発火 |

2055| `agent_completed` | バックグラウンド セッションが完了または失敗。[エージェント ビュー](/ja/agent-view)がターミナルで開いている場合のみ発火 |2055| `agent_completed` | バックグラウンド セッションが完了または失敗。[エージェント ビュー](/docs/ja/agent-view)がターミナルで開いている場合のみ発火 |

2056 2056 

2057`agent_needs_input` と `agent_completed` タイプには Claude Code v2.1.198 以降が必要です。2057`agent_needs_input` と `agent_completed` タイプには Claude Code v2.1.198 以降が必要です。

2058 2058 


2109 SubagentStart2109 SubagentStart

2110</h3>2110</h3>

2111 2111 

2112Agent ツール経由でサブエージェントが生成されるときに実行されます。エージェント タイプ名でフィルタリングするマッチャーをサポート。組み込みエージェントの場合、これはエージェント名(`general-purpose`、`Explore`、`Plan` など)です。[カスタム サブエージェント](/ja/sub-agents)の場合、これはファイル名ではなく、エージェントのフロントマターの `name` フィールドです。2112Agent ツール経由でサブエージェントが生成されるときに実行されます。エージェント タイプ名でフィルタリングするマッチャーをサポート。組み込みエージェントの場合、これはエージェント名(`general-purpose`、`Explore`、`Plan` など)です。[カスタム サブエージェント](/docs/ja/sub-agents)の場合、これはファイル名ではなく、エージェントのフロントマターの `name` フィールドです。

2113 2113 

2114[プラグイン](/ja/plugins)から出荷されたサブエージェントの場合、エージェント タイプはプラグイン スコープの識別子(`my-plugin:reviewer` など)で、ベアのフロントマター名ではありません。コロンはプラグイン スコープの名前を正規表現パスに配置するため、正確なマッチのためにマッチャーを `^` と `$` でアンカーします。`^my-plugin:reviewer$`。2114[プラグイン](/docs/ja/plugins)から出荷されたサブエージェントの場合、エージェント タイプはプラグイン スコープの識別子(`my-plugin:reviewer` など)で、ベアのフロントマター名ではありません。コロンはプラグイン スコープの名前を正規表現パスに配置するため、正確なマッチのためにマッチャーを `^` と `$` でアンカーします。`^my-plugin:reviewer$`。

2115 2115 

2116<h4 id="subagentstart-input">2116<h4 id="subagentstart-input">

2117 SubagentStart 入力2117 SubagentStart 入力


2243 TaskCompleted2243 TaskCompleted

2244</h3>2244</h3>

2245 2245 

2246タスクが完了としてマークされるときに実行されます。これは 2 つの状況で発火します。任意のエージェントが TaskUpdate ツール経由でタスクを明示的に完了としてマークするとき、または[エージェント チーム](/ja/agent-teams)チームメイトが進行中のタスクでターンを終了するとき。これを使用してチームメイトが作業を停止する前に品質ゲートを実施します。例えば、lint チェックの合格を要求したり、出力ファイルが存在することを確認したりします。2246タスクが完了としてマークされるときに実行されます。これは 2 つの状況で発火します。任意のエージェントが TaskUpdate ツール経由でタスクを明示的に完了としてマークするとき、または[エージェント チーム](/docs/ja/agent-teams)チームメイトが進行中のタスクでターンを終了するとき。これを使用してチームメイトが作業を停止する前に品質ゲートを実施します。例えば、lint チェックの合格を要求したり、出力ファイルが存在することを確認したりします。

2247 2247 

2248`TaskCompleted` フックが終了コード 2 で終了すると、タスクは完了としてマークされず、stderr メッセージはモデルへのフィードバックとしてフィードバックされます。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TaskCompleted フックはマッチャーをサポートせず、すべての出現で発火します。2248`TaskCompleted` フックが終了コード 2 で終了すると、タスクは完了としてマークされず、stderr メッセージはモデルへのフィードバックとしてフィードバックされます。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TaskCompleted フックはマッチャーをサポートせず、すべての出現で発火します。

2249 2249 


2308メイン Claude Code エージェントが応答を終了したときに実行されます。ユーザー割り込みが原因で停止が発生した場合は実行されません。API エラーは代わりに[StopFailure](#stopfailure)を発火させます。2308メイン Claude Code エージェントが応答を終了したときに実行されます。ユーザー割り込みが原因で停止が発生した場合は実行されません。API エラーは代わりに[StopFailure](#stopfailure)を発火させます。

2309 2309 

2310<Tip>2310<Tip>

2311 [`/goal`](/ja/goal)コマンドは、セッション スコープのプロンプト ベースの Stop フックの組み込みショートカットです。Claude が条件が成立するまで作業を続けるようにしたいが、フック設定を書きたくない場合に使用します。2311 [`/goal`](/docs/ja/goal)コマンドは、セッション スコープのプロンプト ベースの Stop フックの組み込みショートカットです。Claude が条件が成立するまで作業を続けるようにしたいが、フック設定を書きたくない場合に使用します。

2312</Tip>2312</Tip>

2313 2313 

2314<h4 id="stop-input">2314<h4 id="stop-input">


2439 TeammateIdle2439 TeammateIdle

2440</h3>2440</h3>

2441 2441 

2442[エージェント チーム](/ja/agent-teams)チームメイトがターンを終了した後、アイドル状態になろうとしているときに実行されます。これを使用してチームメイトが作業を停止する前に品質ゲートを実施します。例えば、lint チェックの合格を要求したり、出力ファイルが存在することを確認したりします。2442[エージェント チーム](/docs/ja/agent-teams)チームメイトがターンを終了した後、アイドル状態になろうとしているときに実行されます。これを使用してチームメイトが作業を停止する前に品質ゲートを実施します。例えば、lint チェックの合格を要求したり、出力ファイルが存在することを確認したりします。

2443 2443 

2444`TeammateIdle` フックが終了コード 2 で終了すると、チームメイトは stderr メッセージをフィードバックとして受け取り、アイドル状態になる代わりに作業を続行します。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TeammateIdle フックはマッチャーをサポートせず、すべての出現で発火します。2444`TeammateIdle` フックが終了コード 2 で終了すると、チームメイトは stderr メッセージをフィードバックとして受け取り、アイドル状態になる代わりに作業を続行します。チームメイト全体を停止する代わりに再実行するには、`{"continue": false, "stopReason": "..."}` を含む JSON を返します。TeammateIdle フックはマッチャーをサポートせず、すべての出現で発火します。

2445 2445 


2653 WorktreeCreate2653 WorktreeCreate

2654</h3>2654</h3>

2655 2655 

2656`claude --worktree` を実行するか、[サブエージェントが `isolation: "worktree"` を使用](/ja/sub-agents#choose-the-subagent-scope)する場合、Claude Code は `git worktree` を使用して分離された作業コピーを作成します。WorktreeCreate フックを設定する場合、デフォルトの git 動作を置き換え、SVN、Perforce、Mercurial などの別のバージョン管理システムを使用できます。2656`claude --worktree` を実行するか、[サブエージェントが `isolation: "worktree"` を使用](/docs/ja/sub-agents#choose-the-subagent-scope)する場合、Claude Code は `git worktree` を使用して分離された作業コピーを作成します。WorktreeCreate フックを設定する場合、デフォルトの git 動作を置き換え、SVN、Perforce、Mercurial などの別のバージョン管理システムを使用できます。

2657 2657 

2658フックは作成されたワークツリー ディレクトリへの絶対パスを返す必要があります。Claude Code はこ のパスを分離されたセッションの作業ディレクトリとして使用します。コマンド フックは stdout にパスを出力します。HTTP フックは `hookSpecificOutput.worktreePath` 経由で返します。2658フックは作成されたワークツリー ディレクトリへの絶対パスを返す必要があります。Claude Code はこ のパスを分離されたセッションの作業ディレクトリとして使用します。コマンド フックは stdout にパスを出力します。HTTP フックは `hookSpecificOutput.worktreePath` 経由で返します。

2659 2659 

2660フックはデフォルトの git 動作を完全に置き換えるため、[`.worktreeinclude`](/ja/worktrees#copy-gitignored-files-into-worktrees)は処理されません。`.env` などのローカル設定ファイルを新しいワークツリーにコピーする必要がある場合は、フック スクリプト内で実行してください。2660フックはデフォルトの git 動作を完全に置き換えるため、[`.worktreeinclude`](/docs/ja/worktrees#copy-gitignored-files-into-worktrees)は処理されません。`.env` などのローカル設定ファイルを新しいワークツリーにコピーする必要がある場合は、フック スクリプト内で実行してください。

2661 2661 

2662この例は SVN 作業コピーを作成し、Claude Code が使用するパスを出力します。リポジトリ URL を自分のものに置き換えます。2662この例は SVN 作業コピーを作成し、Claude Code が使用するパスを出力します。リポジトリ URL を自分のものに置き換えます。

2663 2663 


3106 停止する前に複数の条件をチェック3106 停止する前に複数の条件をチェック

3107</h3>3107</h3>

3108 3108 

3109この `Stop` フックは詳細なプロンプトを使用して、Claude が停止することを許可する前に 3 つの条件をチェックします。`SubagentStop` フックは同じ形式を使用して、[サブエージェント](/ja/sub-agents)が停止すべきかどうかを評価します。`"ok"` が `false` の場合、Claude は提供された理由を次の指示として受け取り、作業を続行します:3109この `Stop` フックは詳細なプロンプトを使用して、Claude が停止することを許可する前に 3 つの条件をチェックします。`SubagentStop` フックは同じ形式を使用して、[サブエージェント](/docs/ja/sub-agents)が停止すべきかどうかを評価します。`"ok"` が `false` の場合、Claude は提供された理由を次の指示として受け取り、作業を続行します:

3110 3110 

3111```json theme={null}3111```json theme={null}

3112{3112{


3379 3379 

3380より詳細なフック マッチング詳細については、`CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` を設定して、フック マッチャー数とクエリ マッチングなどの追加ログ行を確認します。3380より詳細なフック マッチング詳細については、`CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` を設定して、フック マッチャー数とクエリ マッチングなどの追加ログ行を確認します。

3381 3381 

3382フックが発火しない、Stop フックが実行をブロックし続ける、または設定エラーなどの一般的な問題のトラブルシューティングについては、ガイドの[制限事項とトラブルシューティング](/ja/hooks-guide#limitations-and-troubleshooting)を参照してください。`/context`、`/doctor`、および設定の優先順位をカバーするより広範な診断チュートリアルについては、[設定をデバッグ](/ja/debug-your-config)を参照してください。3382フックが発火しない、Stop フックが実行をブロックし続ける、または設定エラーなどの一般的な問題のトラブルシューティングについては、ガイドの[制限事項とトラブルシューティング](/docs/ja/hooks-guide#limitations-and-troubleshooting)を参照してください。`/context`、`/doctor`、および設定の優先順位をカバーするより広範な診断チュートリアルについては、[設定をデバッグ](/docs/ja/debug-your-config)を参照してください。

hooks-guide.md +50 −50

Details

10 10 

11判断が必要な決定については、決定論的なルールではなく、Claude モデルを使用して条件を評価する [プロンプトベースの hooks](#prompt-based-hooks) または [エージェントベースの hooks](#agent-based-hooks) を使用することもできます。11判断が必要な決定については、決定論的なルールではなく、Claude モデルを使用して条件を評価する [プロンプトベースの hooks](#prompt-based-hooks) または [エージェントベースの hooks](#agent-based-hooks) を使用することもできます。

12 12 

13Claude Code を拡張する他の方法については、Claude に追加の指示と実行可能なコマンドを与えるための [skills](/ja/skills)、分離されたコンテキストでタスクを実行するための [subagents](/ja/sub-agents)、プロジェクト全体で共有する拡張機能をパッケージ化するための [plugins](/ja/plugins) を参照してください。13Claude Code を拡張する他の方法については、Claude に追加の指示と実行可能なコマンドを与えるための [skills](/docs/ja/skills)、分離されたコンテキストでタスクを実行するための [subagents](/docs/ja/sub-agents)、プロジェクト全体で共有する拡張機能をパッケージ化するための [plugins](/docs/ja/plugins) を参照してください。

14 14 

15<Tip>15<Tip>

16 このガイドでは一般的なユースケースと始め方をカバーしています。完全なイベントスキーマ、JSON 入力/出力形式、非同期 hooks や MCP ツール hooks などの高度な機能については、[Hooks リファレンス](/ja/hooks) を参照してください。16 このガイドでは一般的なユースケースと始め方をカバーしています。完全なイベントスキーマ、JSON 入力/出力形式、非同期 hooks や MCP ツール hooks などの高度な機能については、[Hooks リファレンス](/docs/ja/hooks) を参照してください。

17</Tip>17</Tip>

18 18 

19<h2 id="set-up-your-first-hook">19<h2 id="set-up-your-first-hook">


85 自動化できるもの85 自動化できるもの

86</h2>86</h2>

87 87 

88Hooks を使用すると、Claude Code のライフサイクルの主要なポイントでコードを実行できます:編集後にファイルをフォーマットし、実行前にコマンドをブロックし、Claude が入力を必要とするときに通知を送信し、セッション開始時にコンテキストを注入するなど。Hook イベントの完全なリストについては、[Hooks リファレンス](/ja/hooks#hook-lifecycle) を参照してください。88Hooks を使用すると、Claude Code のライフサイクルの主要なポイントでコードを実行できます:編集後にファイルをフォーマットし、実行前にコマンドをブロックし、Claude が入力を必要とするときに通知を送信し、セッション開始時にコンテキストを注入するなど。Hook イベントの完全なリストについては、[Hooks リファレンス](/docs/ja/hooks#hook-lifecycle) を参照してください。

89 89 

90各例には、[設定ファイル](#configure-hook-location) に追加する準備ができた設定ブロックが含まれています。90各例には、[設定ファイル](#configure-hook-location) に追加する準備ができた設定ブロックが含まれています。

91 91 

92本番環境での hooks の例として、別のモデルレビューを実行し、その結果をセッションにフィードバックする場合は、[`security-guidance` プラグインが Claude Code と統合する方法](/ja/security-guidance#how-the-plugin-integrates-with-claude-code) を参照してください。92本番環境での hooks の例として、別のモデルレビューを実行し、その結果をセッションにフィードバックする場合は、[`security-guidance` プラグインが Claude Code と統合する方法](/docs/ja/security-guidance#how-the-plugin-integrates-with-claude-code) を参照してください。

93 93 

94<h3 id="get-notified-when-claude-needs-input">94<h3 id="get-notified-when-claude-needs-input">

95 Claude が入力を必要とするときに通知を受け取る95 Claude が入力を必要とするときに通知を受け取る


181| `elicitation_dialog` | MCP サーバーが引き出しフォームを開くとき |181| `elicitation_dialog` | MCP サーバーが引き出しフォームを開くとき |

182| `elicitation_complete` | MCP 引き出しフォームが送信または却下されたとき |182| `elicitation_complete` | MCP 引き出しフォームが送信または却下されたとき |

183| `elicitation_response` | MCP 引き出し応答がサーバーに送り返されたとき |183| `elicitation_response` | MCP 引き出し応答がサーバーに送り返されたとき |

184| `agent_needs_input` | バックグラウンドセッションがあなたの入力を待つのを開始します。[agent view](/ja/agent-view) が開いている間のみ発火します |184| `agent_needs_input` | バックグラウンドセッションがあなたの入力を待つのを開始します。[agent view](/docs/ja/agent-view) が開いている間のみ発火します |

185| `agent_completed` | バックグラウンドセッションが完了または失敗します。[agent view](/ja/agent-view) が開いている間のみ発火します |185| `agent_completed` | バックグラウンドセッションが完了または失敗します。[agent view](/docs/ja/agent-view) が開いている間のみ発火します |

186 186 

187`agent_needs_input` および `agent_completed` マッチャーには Claude Code v2.1.198 以降が必要です。187`agent_needs_input` および `agent_completed` マッチャーには Claude Code v2.1.198 以降が必要です。

188 188 

189`/hooks` と入力して `Notification` を選択し、hook が登録されていることを確認します。完全なイベントスキーマについては、[Notification リファレンス](/ja/hooks#notification) を参照してください。189`/hooks` と入力して `Notification` を選択し、hook が登録されていることを確認します。完全なイベントスキーマについては、[Notification リファレンス](/docs/ja/hooks#notification) を参照してください。

190 190 

191<h3 id="auto-format-code-after-edits">191<h3 id="auto-format-code-after-edits">

192 編集後にコードを自動フォーマットする192 編集後にコードを自動フォーマットする


309}309}

310```310```

311 311 

312`echo` を `git log --oneline -5` などの動的出力を生成するコマンドに置き換えて、最近のコミットを表示できます。すべてのセッション開始時にコンテキストを注入する場合は、代わりに [CLAUDE.md](/ja/memory) を使用することを検討してください。環境変数については、リファレンスの [`CLAUDE_ENV_FILE`](/ja/hooks#persist-environment-variables) を参照してください。312`echo` を `git log --oneline -5` などの動的出力を生成するコマンドに置き換えて、最近のコミットを表示できます。すべてのセッション開始時にコンテキストを注入する場合は、代わりに [CLAUDE.md](/docs/ja/memory) を使用することを検討してください。環境変数については、リファレンスの [`CLAUDE_ENV_FILE`](/docs/ja/hooks#persist-environment-variables) を参照してください。

313 313 

314<h3 id="audit-configuration-changes">314<h3 id="audit-configuration-changes">

315 設定変更を監査する315 設定変更を監査する


337}337}

338```338```

339 339 

340マッチャーは設定タイプでフィルタリングします:`user_settings`、`project_settings`、`local_settings`、`policy_settings`、または `skills`。変更が有効になるのをブロックするには、終了コード 2 で終了するか、`{"decision": "block"}` を返します。完全な入力スキーマについては、[ConfigChange リファレンス](/ja/hooks#configchange) を参照してください。340マッチャーは設定タイプでフィルタリングします:`user_settings`、`project_settings`、`local_settings`、`policy_settings`、または `skills`。変更が有効になるのをブロックするには、終了コード 2 で終了するか、`{"decision": "block"}` を返します。完全な入力スキーマについては、[ConfigChange リファレンス](/docs/ja/hooks#configchange) を参照してください。

341 341 

342<h3 id="reload-environment-when-directory-or-files-change">342<h3 id="reload-environment-when-directory-or-files-change">

343 ディレクトリまたはファイルが変更されたときに環境をリロードする343 ディレクトリまたはファイルが変更されたときに環境をリロードする


376 376 

377`direnv allow` をすべてのディレクトリで 1 回実行して、direnv が `.envrc` をロードすることが許可されるようにします。direnv の代わりに devbox または nix を使用する場合、同じパターンは `direnv export bash` の代わりに `devbox shellenv` または `devbox global shellenv` で機能します。377`direnv allow` をすべてのディレクトリで 1 回実行して、direnv が `.envrc` をロードすることが許可されるようにします。direnv の代わりに devbox または nix を使用する場合、同じパターンは `direnv export bash` の代わりに `devbox shellenv` または `devbox global shellenv` で機能します。

378 378 

379すべてのディレクトリ変更ではなく、特定のファイルに反応するには、`FileChanged` を `matcher` で使用して、監視するファイル名をリストします(パイプで区切られています)。ウォッチリストを構築するために、この値は正規表現として評価されるのではなく、リテラルファイル名に分割されます。[FileChanged](/ja/hooks#filechanged) を参照して、同じ値がファイルが変更されたときにどの hook グループが実行されるかをフィルタリングする方法を確認してください。この例は現在のディレクトリの `.envrc` と `.env` を監視します:379すべてのディレクトリ変更ではなく、特定のファイルに反応するには、`FileChanged` を `matcher` で使用して、監視するファイル名をリストします(パイプで区切られています)。ウォッチリストを構築するために、この値は正規表現として評価されるのではなく、リテラルファイル名に分割されます。[FileChanged](/docs/ja/hooks#filechanged) を参照して、同じ値がファイルが変更されたときにどの hook グループが実行されるかをフィルタリングする方法を確認してください。この例は現在のディレクトリの `.envrc` と `.env` を監視します:

380 380 

381```json theme={null}381```json theme={null}

382{382{


396}396}

397```397```

398 398 

399入力スキーマ、`watchPaths` 出力、および `CLAUDE_ENV_FILE` の詳細については、[CwdChanged](/ja/hooks#cwdchanged) および [FileChanged](/ja/hooks#filechanged) リファレンスエントリを参照してください。399入力スキーマ、`watchPaths` 出力、および `CLAUDE_ENV_FILE` の詳細については、[CwdChanged](/docs/ja/hooks#cwdchanged) および [FileChanged](/docs/ja/hooks#filechanged) リファレンスエントリを参照してください。

400 400 

401<h3 id="auto-approve-specific-permission-prompts">401<h3 id="auto-approve-specific-permission-prompts">

402 特定の許可プロンプトを自動承認する402 特定の許可プロンプトを自動承認する


431特定の許可モードを設定する代わりに、hook の出力に `setMode` エントリを含む `updatedPermissions` 配列を含めることができます。`mode` 値は `default`、`acceptEdits`、または `bypassPermissions` などの任意の許可モードであり、`destination: "session"` は現在のセッションのみに適用します。431特定の許可モードを設定する代わりに、hook の出力に `setMode` エントリを含む `updatedPermissions` 配列を含めることができます。`mode` 値は `default`、`acceptEdits`、または `bypassPermissions` などの任意の許可モードであり、`destination: "session"` は現在のセッションのみに適用します。

432 432 

433<Note>433<Note>

434 `bypassPermissions` は、セッションが既にバイパスモードで起動された場合にのみ適用されます:`--dangerously-skip-permissions`、`--permission-mode bypassPermissions`、`--allow-dangerously-skip-permissions`、または設定の `permissions.defaultMode: "bypassPermissions"`、および [`permissions.disableBypassPermissionsMode`](/ja/permissions#managed-settings) で無効化されていない場合。`defaultMode` として永続化されることはありません。434 `bypassPermissions` は、セッションが既にバイパスモードで起動された場合にのみ適用されます:`--dangerously-skip-permissions`、`--permission-mode bypassPermissions`、`--allow-dangerously-skip-permissions`、または設定の `permissions.defaultMode: "bypassPermissions"`、および [`permissions.disableBypassPermissionsMode`](/docs/ja/permissions#managed-settings) で無効化されていない場合。`defaultMode` として永続化されることはありません。

435</Note>435</Note>

436 436 

437セッションを `acceptEdits` に切り替えるには、hook は stdout に次の JSON を書き込みます:437セッションを `acceptEdits` に切り替えるには、hook は stdout に次の JSON を書き込みます:


450}450}

451```451```

452 452 

453マッチャーをできるだけ狭く保ちます。`.*` でマッチングするか、マッチャーを空のままにすると、ファイル書き込みやシェルコマンドを含むすべての許可プロンプトが自動承認されます。決定フィールドの完全なセットについては、[PermissionRequest リファレンス](/ja/hooks#permissionrequest-decision-control) を参照してください。453マッチャーをできるだけ狭く保ちます。`.*` でマッチングするか、マッチャーを空のままにすると、ファイル書き込みやシェルコマンドを含むすべての許可プロンプトが自動承認されます。決定フィールドの完全なセットについては、[PermissionRequest リファレンス](/docs/ja/hooks#permissionrequest-decision-control) を参照してください。

454 454 

455<h2 id="how-hooks-work">455<h2 id="how-hooks-work">

456 hooks の仕組み456 hooks の仕組み


478| `TaskCompleted` | When a task is being marked as completed |478| `TaskCompleted` | When a task is being marked as completed |

479| `Stop` | When Claude finishes responding |479| `Stop` | When Claude finishes responding |

480| `StopFailure` | When the turn ends due to an API error. Output and exit code are ignored |480| `StopFailure` | When the turn ends due to an API error. Output and exit code are ignored |

481| `TeammateIdle` | When an [agent team](/en/agent-teams) teammate is about to go idle |481| `TeammateIdle` | When an [agent team](/docs/en/agent-teams) teammate is about to go idle |

482| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |482| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |

483| `ConfigChange` | When a configuration file changes during a session |483| `ConfigChange` | When a configuration file changes during a session |

484| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |484| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |

485| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |485| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |

486| `WorktreeCreate` | When a worktree is being created via `--worktree` or `isolation: "worktree"`. Replaces default git behavior |486| `WorktreeCreate` | When a worktree is being created via `--worktree`, `isolation: "worktree"`, or for a background session. Replaces default git behavior |

487| `WorktreeRemove` | When a worktree is being removed, either at session exit or when a subagent finishes |487| `WorktreeRemove` | When a worktree is being removed at session exit, when a subagent finishes, or when you delete a background session |

488| `PreCompact` | Before context compaction |488| `PreCompact` | Before context compaction |

489| `PostCompact` | After context compaction completes |489| `PostCompact` | After context compaction completes |

490| `Elicitation` | When an MCP server requests user input during a tool call |490| `Elicitation` | When an MCP server requests user input during a tool call |


494各 hook には、それがどのように実行されるかを決定する `type` があります。ほとんどの hooks は `"type": "command"` を使用し、シェルコマンドを実行します。他の 4 つのタイプが利用可能です:494各 hook には、それがどのように実行されるかを決定する `type` があります。ほとんどの hooks は `"type": "command"` を使用し、シェルコマンドを実行します。他の 4 つのタイプが利用可能です:

495 495 

496* `"type": "http"`:イベントデータを URL に POST します。[HTTP hooks](#http-hooks) を参照してください。496* `"type": "http"`:イベントデータを URL に POST します。[HTTP hooks](#http-hooks) を参照してください。

497* `"type": "mcp_tool"`:既に接続されている MCP サーバー上のツールを呼び出します。[MCP tool hooks](/ja/hooks#mcp-tool-hook-fields) を参照してください。497* `"type": "mcp_tool"`:既に接続されている MCP サーバー上のツールを呼び出します。[MCP tool hooks](/docs/ja/hooks#mcp-tool-hook-fields) を参照してください。

498* `"type": "prompt"`:シングルターン LLM 評価。[プロンプトベースの hooks](#prompt-based-hooks) を参照してください。498* `"type": "prompt"`:シングルターン LLM 評価。[プロンプトベースの hooks](#prompt-based-hooks) を参照してください。

499* `"type": "agent"`:ツールアクセス付きマルチターン検証。エージェント hooks は実験的であり、変更される可能性があります。[エージェントベースの hooks](#agent-based-hooks) を参照してください。499* `"type": "agent"`:ツールアクセス付きマルチターン検証。エージェント hooks は実験的であり、変更される可能性があります。[エージェントベースの hooks](#agent-based-hooks) を参照してください。

500 500 


556}556}

557```557```

558 558 

559スクリプトはその JSON を解析し、これらのフィールドのいずれかに基づいて動作できます。`UserPromptSubmit` hooks は代わりに `prompt` テキストを取得し、`SessionStart` hooks は `source`(startup、resume、clear、compact)を取得するなど。リファレンスの [共通入力フィールド](/ja/hooks#common-input-fields) で共有フィールドを参照し、各イベントのセクションでイベント固有のスキーマを参照してください。559スクリプトはその JSON を解析し、これらのフィールドのいずれかに基づいて動作できます。`UserPromptSubmit` hooks は代わりに `prompt` テキストを取得し、`SessionStart` hooks は `source`(startup、resume、clear、compact)を取得するなど。リファレンスの [共通入力フィールド](/docs/ja/hooks#common-input-fields) で共有フィールドを参照し、各イベントのセクションでイベント固有のスキーマを参照してください。

560 560 

561<h4 id="hook-output">561<h4 id="hook-output">

562 Hook 出力562 Hook 出力


579 579 

580終了コードは次に何が起こるかを決定します:580終了コードは次に何が起こるかを決定します:

581 581 

582* **終了 0**:hook は異議を報告せず、アクションは通常どおり進行します。`PreToolUse` hook の場合、これはツール呼び出しを承認しません:通常の [許可フロー](/ja/permissions) が引き続き適用されます。`UserPromptSubmit`、`UserPromptExpansion`、および `SessionStart` hooks の場合、stdout に書き込むすべてのものが Claude のコンテキストに追加されます。582* **終了 0**:hook は異議を報告せず、アクションは通常どおり進行します。`PreToolUse` hook の場合、これはツール呼び出しを承認しません:通常の [許可フロー](/docs/ja/permissions) が引き続き適用されます。`UserPromptSubmit`、`UserPromptExpansion`、および `SessionStart` hooks の場合、stdout に書き込むすべてのものが Claude のコンテキストに追加されます。

583* **終了 2**:アクションがブロックされます。stderr に理由を書き込み、Claude はそれをフィードバックとして受け取るため、調整できます。一部のイベントはブロックできません:`SessionStart`、`Setup`、`Notification` などの場合、終了 2 は stderr をユーザーに表示し、実行は続行されます。[イベントごとの終了コード 2 の動作](/ja/hooks#exit-code-2-behavior-per-event) で完全なリストを参照してください。583* **終了 2**:アクションがブロックされます。stderr に理由を書き込み、Claude はそれをフィードバックとして受け取るため、調整できます。一部のイベントはブロックできません:`SessionStart`、`Setup`、`Notification` などの場合、終了 2 は stderr をユーザーに表示し、実行は続行されます。[イベントごとの終了コード 2 の動作](/docs/ja/hooks#exit-code-2-behavior-per-event) で完全なリストを参照してください。

584* **その他の終了コード**:アクションが続行されます。トランスクリプトは `<hook name> hook error` 通知を表示し、その後 stderr の最初の行が続きます。完全な stderr は [デバッグログ](/ja/hooks#debug-hooks) に記録されます。584* **その他の終了コード**:アクションが続行されます。トランスクリプトは `<hook name> hook error` 通知を表示し、その後 stderr の最初の行が続きます。完全な stderr は [デバッグログ](/docs/ja/hooks#debug-hooks) に記録されます。

585 585 

586<h4 id="structured-json-output">586<h4 id="structured-json-output">

587 構造化 JSON 出力587 構造化 JSON 出力


607 607 

608`"deny"` を使用すると、Claude Code はツール呼び出しをキャンセルし、`permissionDecisionReason` を Claude にフィードバックとして返します。これらの `permissionDecision` 値は `PreToolUse` に固有です:608`"deny"` を使用すると、Claude Code はツール呼び出しをキャンセルし、`permissionDecisionReason` を Claude にフィードバックとして返します。これらの `permissionDecision` 値は `PreToolUse` に固有です:

609 609 

610* `"allow"`:インタラクティブな許可プロンプトをスキップします。Deny および ask ルール(エンタープライズ管理 deny リストを含む)は引き続き適用されます。また、[組織が `ask` に設定した](/ja/mcp#organization-controls-on-connector-tools) コネクタツールのプロンプトと、[`requiresUserInteraction`](/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツールも適用されます。610* `"allow"`:インタラクティブな許可プロンプトをスキップします。Deny および ask ルール(エンタープライズ管理 deny リストを含む)は引き続き適用されます。また、[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools) コネクタツールのプロンプトと、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツールも適用されます。

611* `"deny"`:ツール呼び出しをキャンセルし、理由を Claude に送信します611* `"deny"`:ツール呼び出しをキャンセルし、理由を Claude に送信します

612* `"ask"`:通常どおりユーザーに許可プロンプトを表示します612* `"ask"`:通常どおりユーザーに許可プロンプトを表示します

613 613 

6144 番目の値 `"defer"` は、`-p` フラグ付きの [非インタラクティブモード](/ja/headless) で利用可能です。プロセスを終了し、ツール呼び出しを保持して、Agent SDK ラッパーが入力を収集して再開できるようにします。リファレンスの [ツール呼び出しを後で延期する](/ja/hooks#defer-a-tool-call-for-later) を参照してください。6144 番目の値 `"defer"` は、`-p` フラグ付きの [非インタラクティブモード](/docs/ja/headless) で利用可能です。プロセスを終了し、ツール呼び出しを保持して、Agent SDK ラッパーが入力を収集して再開できるようにします。リファレンスの [ツール呼び出しを後で延期する](/docs/ja/hooks#defer-a-tool-call-for-later) を参照してください。

615 615 

616`"allow"` を返すとインタラクティブプロンプトをスキップしますが、[許可ルール](/ja/permissions#manage-permissions) をオーバーライドしません。Deny ルールがツール呼び出しにマッチする場合、hook が `"allow"` を返しても呼び出しはブロックされます。Ask ルールがマッチする場合、ユーザーはまだプロンプトが表示されます。また、[組織が `ask` に設定した](/ja/mcp#organization-controls-on-connector-tools) コネクタツールと、[`requiresUserInteraction`](/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツールもプロンプトが表示されます。これは、[管理設定](/ja/settings#settings-files) を含むすべての設定スコープからの deny ルールが、hook 承認よりも常に優先されることを意味します。616`"allow"` を返すとインタラクティブプロンプトをスキップしますが、[許可ルール](/docs/ja/permissions#manage-permissions) をオーバーライドしません。Deny ルールがツール呼び出しにマッチする場合、hook が `"allow"` を返しても呼び出しはブロックされます。Ask ルールがマッチする場合、ユーザーはまだプロンプトが表示されます。また、[組織が `ask` に設定した](/docs/ja/mcp#organization-controls-on-connector-tools) コネクタツールと、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツールもプロンプトが表示されます。これは、[管理設定](/docs/ja/settings#settings-files) を含むすべての設定スコープからの deny ルールが、hook 承認よりも常に優先されることを意味します。

617 617 

618他のイベントは異なる決定パターンを使用します。たとえば、`PostToolUse` および `Stop` hooks はトップレベルの `decision: "block"` フィールドを使用し、`PermissionRequest` は `hookSpecificOutput.decision.behavior` を使用します。リファレンスの [サマリーテーブル](/ja/hooks#decision-control) でイベント別の完全な内訳を参照してください。618他のイベントは異なる決定パターンを使用します。たとえば、`PostToolUse` および `Stop` hooks はトップレベルの `decision: "block"` フィールドを使用し、`PermissionRequest` は `hookSpecificOutput.decision.behavior` を使用します。リファレンスの [サマリーテーブル](/docs/ja/hooks#decision-control) でイベント別の完全な内訳を参照してください。

619 619 

620`UserPromptSubmit` hooks の場合、代わりに `hookSpecificOutput.additionalContext` を使用して Claude のコンテキストにテキストを注入します。`additionalContext` を `hookSpecificOutput` の内側にネストします。JSON の最上位レベルに配置すると、Claude Code はそれを無視します。たとえば、この出力はすべてのプロンプトに現在のブランチ状態を追加します:620`UserPromptSubmit` hooks の場合、代わりに `hookSpecificOutput.additionalContext` を使用して Claude のコンテキストにテキストを注入します。`additionalContext` を `hookSpecificOutput` の内側にネストします。JSON の最上位レベルに配置すると、Claude Code はそれを無視します。たとえば、この出力はすべてのプロンプトに現在のブランチ状態を追加します:

621 621 


628}628}

629```629```

630 630 

631完全な出力形状(プロンプトのブロックとセッションタイトルの設定を含む)については、[UserPromptSubmit 決定制御](/ja/hooks#userpromptsubmit-decision-control) を参照してください。631完全な出力形状(プロンプトのブロックとセッションタイトルの設定を含む)については、[UserPromptSubmit 決定制御](/docs/ja/hooks#userpromptsubmit-decision-control) を参照してください。

632 632 

633Hooks with `type: "prompt"` handle output differently: see [Prompt-based hooks](#prompt-based-hooks).633Hooks with `type: "prompt"` handle output differently: see [Prompt-based hooks](#prompt-based-hooks).

634 634 


653}653}

654```654```

655 655 

656`"Edit|Write"` マッチャーは `Edit` または `Write` ツール呼び出しでのみ発火し、`Bash`、`Read`、または他のツールでは発火しません。Claude Code v2.1.191 以降では、カンマもまた同じ方法で代替を区切るため、`"Edit, Write"` は同等です。[マッチャーパターン](/ja/hooks#matcher-patterns) を参照して、プレーン名と正規表現がどのように評価されるかを確認してください。656`"Edit|Write"` マッチャーは `Edit` または `Write` ツール呼び出しでのみ発火し、`Bash`、`Read`、または他のツールでは発火しません。Claude Code v2.1.191 以降では、カンマもまた同じ方法で代替を区切るため、`"Edit, Write"` は同等です。[マッチャーパターン](/docs/ja/hooks#matcher-patterns) を参照して、プレーン名と正規表現がどのように評価されるかを確認してください。

657 657 

658<Note>658<Note>

659 Claude はまた、`Bash` ツールを通じてシェルコマンドを実行することでファイルを作成または変更できます。コンプライアンススキャンまたは監査ログなど、hook がすべてのファイル変更を確認する必要がある場合は、ターンごとに 1 回作業ツリーをスキャンする [`Stop`](/ja/hooks#stop) hook を追加してください。呼び出しごとのカバレッジの場合は、`Bash` もマッチさせ、スクリプトで `git status --porcelain` を使用して変更されたファイルと追跡されていないファイルをリストアップしてください。659 Claude はまた、`Bash` ツールを通じてシェルコマンドを実行することでファイルを作成または変更できます。コンプライアンススキャンまたは監査ログなど、hook がすべてのファイル変更を確認する必要がある場合は、ターンごとに 1 回作業ツリーをスキャンする [`Stop`](/docs/ja/hooks#stop) hook を追加してください。呼び出しごとのカバレッジの場合は、`Bash` もマッチさせ、スクリプトで `git status --porcelain` を使用して変更されたファイルと追跡されていないファイルをリストアップしてください。

660</Note>660</Note>

661 661 

662各イベントタイプは特定のフィールドでマッチします:662各イベントタイプは特定のフィールドでマッチします:


676| `InstructionsLoaded` | ロード理由 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |676| `InstructionsLoaded` | ロード理由 | `session_start`、`nested_traversal`、`path_glob_match`、`include`、`compact` |

677| `Elicitation` | MCP サーバー名 | 設定した MCP サーバー名 |677| `Elicitation` | MCP サーバー名 | 設定した MCP サーバー名 |

678| `ElicitationResult` | MCP サーバー名 | `Elicitation` と同じ値 |678| `ElicitationResult` | MCP サーバー名 | `Elicitation` と同じ値 |

679| `FileChanged` | リテラルファイル名を監視([FileChanged](/ja/hooks#filechanged) を参照) | `.envrc\|.env` |679| `FileChanged` | リテラルファイル名を監視([FileChanged](/docs/ja/hooks#filechanged) を参照) | `.envrc\|.env` |

680| `UserPromptExpansion` | コマンド名 | スキルまたはコマンド名 |680| `UserPromptExpansion` | コマンド名 | スキルまたはコマンド名 |

681| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`CwdChanged`、`MessageDisplay` | マッチャーサポートなし | すべての発生で常に発火 |681| `UserPromptSubmit`、`PostToolBatch`、`Stop`、`TeammateIdle`、`TaskCreated`、`TaskCompleted`、`WorktreeCreate`、`WorktreeRemove`、`CwdChanged`、`MessageDisplay` | マッチャーサポートなし | すべての発生で常に発火 |

682 682 


706 </Tab>706 </Tab>

707 707 

708 <Tab title="MCP ツールをマッチさせる">708 <Tab title="MCP ツールをマッチさせる">

709 MCP ツールは組み込みツールとは異なる命名規則を使用します:`mcp__<server>__<tool>`。ここで `<server>` は MCP サーバー名で、`<tool>` はそれが提供するツールです。たとえば、`mcp__github__search_repositories` または `mcp__filesystem__read_file`。[プラグインバンドルサーバー](/ja/mcp#plugin-provided-mcp-servers) からのツールは、`mcp__plugin_my-plugin_db__query` などのスコープ付きサーバーセグメントを使用します。特定のサーバーからすべてのツールをターゲットするために正規表現マッチャーを使用するか、`mcp__.*__write.*` のようなパターンでサーバー全体でマッチします。リファレンスの [MCP ツールをマッチさせる](/ja/hooks#match-mcp-tools) を参照して、完全な例のリストを確認してください。709 MCP ツールは組み込みツールとは異なる命名規則を使用します:`mcp__<server>__<tool>`。ここで `<server>` は MCP サーバー名で、`<tool>` はそれが提供するツールです。たとえば、`mcp__github__search_repositories` または `mcp__filesystem__read_file`。[プラグインバンドルサーバー](/docs/ja/mcp#plugin-provided-mcp-servers) からのツールは、`mcp__plugin_my-plugin_db__query` などのスコープ付きサーバーセグメントを使用します。特定のサーバーからすべてのツールをターゲットするために正規表現マッチャーを使用するか、`mcp__.*__write.*` のようなパターンでサーバー全体でマッチします。リファレンスの [MCP ツールをマッチさせる](/docs/ja/hooks#match-mcp-tools) を参照して、完全な例のリストを確認してください。

710 710 

711 以下のコマンドは hook の JSON 入力からツール名を `jq` で抽出し、stderr に書き込みます。stderr に書き込むことで stdout をクリーンに保ち、メッセージを [デバッグログ](/ja/hooks#debug-hooks) に送信します:711 以下のコマンドは hook の JSON 入力からツール名を `jq` で抽出し、stderr に書き込みます。stderr に書き込むことで stdout をクリーンに保ち、メッセージを [デバッグログ](/docs/ja/hooks#debug-hooks) に送信します:

712 712 

713 ```json theme={null}713 ```json theme={null}

714 {714 {


752 </Tab>752 </Tab>

753</Tabs>753</Tabs>

754 754 

755完全なマッチャー構文については、[Hooks リファレンス](/ja/hooks#configuration) を参照してください。755完全なマッチャー構文については、[Hooks リファレンス](/docs/ja/hooks#configuration) を参照してください。

756 756 

757<h4 id="filter-by-tool-name-and-arguments-with-the-if-field">757<h4 id="filter-by-tool-name-and-arguments-with-the-if-field">

758 `if` フィールドでツール名と引数でフィルタリングする758 `if` フィールドでツール名と引数でフィルタリングする

759</h4>759</h4>

760 760 

761`if` フィールドは [許可ルール構文](/ja/permissions) を使用して、ツール名と引数の両方で hooks をフィルタリングするため、hook プロセスはツール呼び出しがマッチするときにのみ生成されます。これは `matcher` を超えており、ツール名のみでグループレベルでフィルタリングします。761`if` フィールドは [許可ルール構文](/docs/ja/permissions) を使用して、ツール名と引数の両方で hooks をフィルタリングするため、hook プロセスはツール呼び出しがマッチするときにのみ生成されます。これは `matcher` を超えており、ツール名のみでグループレベルでフィルタリングします。

762 762 

763たとえば、すべての Bash コマンドではなく、Claude が `git` コマンドを使用するときにのみ hook を実行するには:763たとえば、すべての Bash コマンドではなく、Claude が `git` コマンドを使用するときにのみ hook を実行するには:

764 764 


791| `Bash(git *)` | `echo $(date)` | いいえ | サブコマンドが `git *` にマッチしません |791| `Bash(git *)` | `echo $(date)` | いいえ | サブコマンドが `git *` にマッチしません |

792| `Bash(git push *)` | `echo $(date)` | はい | コマンド名以上を指定するパターンは、`$()`、バッククォート、または `$VAR` で hook を実行します |792| `Bash(git push *)` | `echo $(date)` | はい | コマンド名以上を指定するパターンは、`$()`、バッククォート、または `$VAR` で hook を実行します |

793 793 

794フィルターは失敗時にオープンで実行され、Bash コマンドを解析できない場合は hook を実行します。フィルターはベストエフォートであるため、ハード allow または deny を強制するには、hook ではなく [許可システム](/ja/permissions) を使用してください。794フィルターは失敗時にオープンで実行され、Bash コマンドを解析できない場合は hook を実行します。フィルターはベストエフォートであるため、ハード allow または deny を強制するには、hook ではなく [許可システム](/docs/ja/permissions) を使用してください。

795 795 

796`if` フィールドは許可ルールと同じパターンを受け入れます:`"Bash(git *)"`、`"Edit(*.ts)"` など。複数のツール名をマッチさせるには、それぞれ独自の `if` 値を持つ別のハンドラーを使用するか、パイプ交替がサポートされている `matcher` レベルでマッチします。796`if` フィールドは許可ルールと同じパターンを受け入れます:`"Bash(git *)"`、`"Edit(*.ts)"` など。複数のツール名をマッチさせるには、それぞれ独自の `if` 値を持つ別のハンドラーを使用するか、パイプ交替がサポートされている `matcher` レベルでマッチします。

797 797 


809| `.claude/settings.json` | 単一プロジェクト | はい、リポジトリにコミット可能 |809| `.claude/settings.json` | 単一プロジェクト | はい、リポジトリにコミット可能 |

810| `.claude/settings.local.json` | 単一プロジェクト | いいえ、gitignored |810| `.claude/settings.local.json` | 単一プロジェクト | いいえ、gitignored |

811| 管理ポリシー設定 | 組織全体 | はい、管理者制御 |811| 管理ポリシー設定 | 組織全体 | はい、管理者制御 |

812| [Plugin](/ja/plugins) `hooks/hooks.json` | プラグインが有効なとき | はい、プラグインにバンドル |812| [Plugin](/docs/ja/plugins) `hooks/hooks.json` | プラグインが有効なとき | はい、プラグインにバンドル |

813| [Skill](/ja/skills) または [agent](/ja/sub-agents) frontmatter | スキルまたはエージェントがアクティブなとき | はい、コンポーネントファイルで定義 |813| [Skill](/docs/ja/skills) または [agent](/docs/ja/sub-agents) frontmatter | スキルまたはエージェントがアクティブなとき | はい、コンポーネントファイルで定義 |

814 814 

815Claude Code で [`/hooks`](/ja/hooks#the-%2Fhooks-menu) を実行して、イベント別にグループ化されたすべての設定済み hooks を参照します。815Claude Code で [`/hooks`](/docs/ja/hooks#the-%2Fhooks-menu) を実行して、イベント別にグループ化されたすべての設定済み hooks を参照します。

816 816 

817hooks を無効にするには、設定ファイルで `"disableAllHooks": true` を設定します。管理設定で設定された Hooks は、`disableAllHooks` がそこにも設定されていない限り、実行されます。817hooks を無効にするには、設定ファイルで `"disableAllHooks": true` を設定します。管理設定で設定された Hooks は、`disableAllHooks` がそこにも設定されていない限り、実行されます。

818 818 


851}851}

852```852```

853 853 

854完全な設定オプションについては、リファレンスの [プロンプトベースの hooks](/ja/hooks#prompt-based-hooks) を参照してください。854完全な設定オプションについては、リファレンスの [プロンプトベースの hooks](/docs/ja/hooks#prompt-based-hooks) を参照してください。

855 855 

856<h2 id="agent-based-hooks">856<h2 id="agent-based-hooks">

857 エージェントベースの hooks857 エージェントベースの hooks

858</h2>858</h2>

859 859 

860<Warning>860<Warning>

861 エージェント hooks は実験的です。動作と設定は将来のリリースで変更される可能性があります。本番ワークフローについては、[コマンド hooks](/ja/hooks#command-hook-fields) を優先してください。861 エージェント hooks は実験的です。動作と設定は将来のリリースで変更される可能性があります。本番ワークフローについては、[コマンド hooks](/docs/ja/hooks#command-hook-fields) を優先してください。

862</Warning>862</Warning>

863 863 

864検証がファイルの検査またはコマンドの実行を必要とする場合、`type: "agent"` hooks を使用します。プロンプト hooks は単一の LLM 呼び出しを行いますが、エージェント hooks は条件を返す前にファイルを読み取り、コードを検索し、他のツールを使用できる subagent を生成します。864検証がファイルの検査またはコマンドの実行を必要とする場合、`type: "agent"` hooks を使用します。プロンプト hooks は単一の LLM 呼び出しを行いますが、エージェント hooks は条件を返す前にファイルを読み取り、コードを検索し、他のツールを使用できる subagent を生成します。


887 887 

888Hook 入力データだけで決定を下すのに十分な場合はプロンプト hooks を使用します。コードベースの実際の状態に対して何かを検証する必要がある場合はエージェント hooks を使用します。888Hook 入力データだけで決定を下すのに十分な場合はプロンプト hooks を使用します。コードベースの実際の状態に対して何かを検証する必要がある場合はエージェント hooks を使用します。

889 889 

890完全な設定オプションについては、リファレンスの [エージェントベースの hooks](/ja/hooks#agent-based-hooks) を参照してください。890完全な設定オプションについては、リファレンスの [エージェントベースの hooks](/docs/ja/hooks#agent-based-hooks) を参照してください。

891 891 

892<h2 id="http-hooks">892<h2 id="http-hooks">

893 HTTP hooks893 HTTP hooks


920}920}

921```921```

922 922 

923エンドポイントは、コマンド hooks と同じ [出力形式](/ja/hooks#json-output) を使用して JSON レスポンスボディを返す必要があります。ツール呼び出しをブロックするには、適切な `hookSpecificOutput` フィールドで 2xx レスポンスを返します。HTTP ステータスコードだけではアクションをブロックできません。923エンドポイントは、コマンド hooks と同じ [出力形式](/docs/ja/hooks#json-output) を使用して JSON レスポンスボディを返す必要があります。ツール呼び出しをブロックするには、適切な `hookSpecificOutput` フィールドで 2xx レスポンスを返します。HTTP ステータスコードだけではアクションをブロックできません。

924 924 

925ヘッダー値は `$VAR_NAME` または `${VAR_NAME}` 構文を使用した環境変数補間をサポートします。`allowedEnvVars` 配列にリストされている変数のみが解決されます。他のすべての `$VAR` 参照は空のままです。925ヘッダー値は `$VAR_NAME` または `${VAR_NAME}` 構文を使用した環境変数補間をサポートします。`allowedEnvVars` 配列にリストされている変数のみが解決されます。他のすべての `$VAR` 参照は空のままです。

926 926 

927完全な設定オプションとレスポンス処理については、リファレンスの [HTTP hooks](/ja/hooks#http-hook-fields) を参照してください。927完全な設定オプションとレスポンス処理については、リファレンスの [HTTP hooks](/docs/ja/hooks#http-hook-fields) を参照してください。

928 928 

929<h2 id="limitations-and-troubleshooting">929<h2 id="limitations-and-troubleshooting">

930 制限とトラブルシューティング930 制限とトラブルシューティング


942 * `prompt`:30 秒。942 * `prompt`:30 秒。

943 * `agent`:60 秒。943 * `agent`:60 秒。

944* `PostToolUse` hooks はツールが既に実行されているため、アクションを元に戻すことはできません。944* `PostToolUse` hooks はツールが既に実行されているため、アクションを元に戻すことはできません。

945* `PermissionRequest` hooks は [非インタラクティブモード](/ja/headless)(`-p` フラグ)では発火しません。自動化された許可決定には `PreToolUse` hooks を使用します。945* `PermissionRequest` hooks は [非インタラクティブモード](/docs/ja/headless)(`-p` フラグ)では発火しません。自動化された許可決定には `PreToolUse` hooks を使用します。

946* `Stop` hooks はタスク完了時だけでなく、Claude が応答を終了するたびに発火します。ユーザーの割り込みでは発火しません。API エラーは代わりに [StopFailure](/ja/hooks#stopfailure) を発火させます。946* `Stop` hooks はタスク完了時だけでなく、Claude が応答を終了するたびに発火します。ユーザーの割り込みでは発火しません。API エラーは代わりに [StopFailure](/docs/ja/hooks#stopfailure) を発火させます。

947* 複数の `PreToolUse` hooks が [`updatedInput`](/ja/hooks#pretooluse) を返してツールの引数を書き直す場合、最後に完了したものが勝ちます。Hooks は並列で実行されるため、順序は非決定的です。同じツールの入力を変更する複数の hooks を持つことを避けてください。947* 複数の `PreToolUse` hooks が [`updatedInput`](/docs/ja/hooks#pretooluse) を返してツールの引数を書き直す場合、最後に完了したものが勝ちます。Hooks は並列で実行されるため、順序は非決定的です。同じツールの入力を変更する複数の hooks を持つことを避けてください。

948 948 

949<h3 id="hooks-and-permission-modes">949<h3 id="hooks-and-permission-modes">

950 Hooks と許可モード950 Hooks と許可モード


952 952 

953`PreToolUse` hooks は任意の権限モードチェックの前に発火します。`permissionDecision: "deny"` を返す hook は、`bypassPermissions` モードまたは `--dangerously-skip-permissions` でもツールをブロックします。これにより、ユーザーが権限モードを変更してバイパスできないポリシーを適用できます。953`PreToolUse` hooks は任意の権限モードチェックの前に発火します。`permissionDecision: "deny"` を返す hook は、`bypassPermissions` モードまたは `--dangerously-skip-permissions` でもツールをブロックします。これにより、ユーザーが権限モードを変更してバイパスできないポリシーを適用できます。

954 954 

955逆は真ではありません:`"allow"` を返す hook は、設定からの deny ルールをバイパスしません。また、組織が `ask` に設定した [コネクタツール](/ja/mcp#organization-controls-on-connector-tools)のプロンプトを抑制することもできず、[`requiresUserInteraction`](/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツールも抑制できません。Hooks は制限を厳しくできますが、許可ルールが許可する範囲を超えて緩和することはできません。955逆は真ではありません:`"allow"` を返す hook は、設定からの deny ルールをバイパスしません。また、組織が `ask` に設定した [コネクタツール](/docs/ja/mcp#organization-controls-on-connector-tools)のプロンプトを抑制することもできず、[`requiresUserInteraction`](/docs/ja/mcp#require-approval-for-a-specific-tool) とマークされた MCP ツールも抑制できません。Hooks は制限を厳しくできますが、許可ルールが許可する範囲を超えて緩和することはできません。

956 956 

957<h3 id="hook-not-firing">957<h3 id="hook-not-firing">

958 Hook が発火しない958 Hook が発火しない


976 echo '{"tool_name":"Bash","tool_input":{"command":"ls"}}' | ./my-hook.sh976 echo '{"tool_name":"Bash","tool_input":{"command":"ls"}}' | ./my-hook.sh

977 echo $? # 終了コードを確認977 echo $? # 終了コードを確認

978 ```978 ```

979* 「command not found」が表示される場合は、絶対パスを使用するか、スクリプトを参照するために `${CLAUDE_PROJECT_DIR}` を使用します。シェルクォーティングを完全に回避するには、`"args": []` を追加して [exec form](/ja/hooks#exec-form-and-shell-form) に切り替えます。これはシェルなしでスクリプトを直接生成します979* 「command not found」が表示される場合は、絶対パスを使用するか、スクリプトを参照するために `${CLAUDE_PROJECT_DIR}` を使用します。シェルクォーティングを完全に回避するには、`"args": []` を追加して [exec form](/docs/ja/hooks#exec-form-and-shell-form) に切り替えます。これはシェルなしでスクリプトを直接生成します

980* 「jq: command not found」が表示される場合は、`jq` をインストールするか、JSON 解析に Python/Node.js を使用します980* 「jq: command not found」が表示される場合は、`jq` をインストールするか、JSON 解析に Python/Node.js を使用します

981* スクリプトがまったく実行されていない場合は、実行可能にします:`chmod +x ./my-hook.sh`981* スクリプトがまったく実行されていない場合は、実行可能にします:`chmod +x ./my-hook.sh`

982 982 


1007# ... hook ロジックの残り1007# ... hook ロジックの残り

1008```1008```

1009 1009 

1010Hook が収束するために 8 回以上の反復が正当に必要な場合は、[`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/ja/env-vars) で上限を引き上げます。1010Hook が収束するために 8 回以上の反復が正当に必要な場合は、[`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/ja/env-vars) で上限を引き上げます。

1011 1011 

1012<h3 id="json-validation-failed">1012<h3 id="json-validation-failed">

1013 JSON 検証に失敗しました1013 JSON 検証に失敗しました


1045 詳細を学ぶ1045 詳細を学ぶ

1046</h2>1046</h2>

1047 1047 

1048* [Hooks リファレンス](/ja/hooks):完全なイベントスキーマ、JSON 出力形式、非同期 hooks、および MCP ツール hooks1048* [Hooks リファレンス](/docs/ja/hooks):完全なイベントスキーマ、JSON 出力形式、非同期 hooks、および MCP ツール hooks

1049* [セキュリティに関する考慮事項](/ja/hooks#security-considerations):共有または本番環境に hooks をデプロイする前に確認してください1049* [セキュリティに関する考慮事項](/docs/ja/hooks#security-considerations):共有または本番環境に hooks をデプロイする前に確認してください

1050* [Bash コマンドバリデーター例](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py):完全なリファレンス実装1050* [Bash コマンドバリデーター例](https://github.com/anthropics/claude-code/blob/main/examples/hooks/bash_command_validator_example.py):完全なリファレンス実装

Details

7> Claude Code プラグインシステムの完全な技術リファレンス。スキーマ、CLI コマンド、コンポーネント仕様を含みます。7> Claude Code プラグインシステムの完全な技術リファレンス。スキーマ、CLI コマンド、コンポーネント仕様を含みます。

8 8 

9<Tip>9<Tip>

10 プラグインをインストールしたいですか?[プラグインの検出とインストール](/ja/discover-plugins)を参照してください。プラグインの作成については、[プラグイン](/ja/plugins)を参照してください。プラグインの配布については、[プラグインマーケットプレイス](/ja/plugin-marketplaces)を参照してください。10 プラグインをインストールしたいですか?[プラグインの検出とインストール](/docs/ja/discover-plugins)を参照してください。プラグインの作成については、[プラグイン](/docs/ja/plugins)を参照してください。プラグインの配布については、[プラグインマーケットプレイス](/docs/ja/plugin-marketplaces)を参照してください。

11</Tip>11</Tip>

12 12 

13このリファレンスは、Claude Code プラグインシステムの完全な技術仕様を提供します。コンポーネントスキーマ、CLI コマンド、開発ツールを含みます。13このリファレンスは、Claude Code プラグインシステムの完全な技術仕様を提供します。コンポーネントスキーマ、CLI コマンド、開発ツールを含みます。


48 48 

49プラグインに `skills/` ディレクトリがなく、`skills` manifest フィールドがない場合、プラグインルートの `SKILL.md` は単一の skill として読み込まれます。frontmatter の `name` フィールドを設定して、skill の呼び出し名を制御します。これがない場合、Claude Code はインストールディレクトリ名にフォールバックします。マーケットプレイスからインストールされたプラグインの場合、これは更新のたびに変わるバージョン文字列です。複数の skill を配布するプラグインの場合は、上記の `skills/` ディレクトリレイアウトを使用してください。49プラグインに `skills/` ディレクトリがなく、`skills` manifest フィールドがない場合、プラグインルートの `SKILL.md` は単一の skill として読み込まれます。frontmatter の `name` フィールドを設定して、skill の呼び出し名を制御します。これがない場合、Claude Code はインストールディレクトリ名にフォールバックします。マーケットプレイスからインストールされたプラグインの場合、これは更新のたびに変わるバージョン文字列です。複数の skill を配布するプラグインの場合は、上記の `skills/` ディレクトリレイアウトを使用してください。

50 50 

51詳細については、[Skills](/ja/skills)を参照してください。51詳細については、[Skills](/docs/ja/skills)を参照してください。

52 52 

53<h3 id="agents">53<h3 id="agents">

54 Agents54 Agents


79 79 

80**統合ポイント**:80**統合ポイント**:

81 81 

82* Agents は [@-mention typeahead](/ja/sub-agents#invoke-subagents-explicitly) に、`my-plugin:code-reviewer` などのスコープ付き名の下に表示されます。プラグインが有効になると82* Agents は [@-mention typeahead](/docs/ja/sub-agents#invoke-subagents-explicitly) に、`my-plugin:code-reviewer` などのスコープ付き名の下に表示されます。プラグインが有効になると

83* Claude はタスクコンテキストに基づいて自動的にエージェントを呼び出すことができます83* Claude はタスクコンテキストに基づいて自動的にエージェントを呼び出すことができます

84* Agents はユーザーが手動で呼び出すことができます84* Agents はユーザーが手動で呼び出すことができます

85* プラグインエージェントは組み込みの Claude エージェントと一緒に動作します85* プラグインエージェントは組み込みの Claude エージェントと一緒に動作します

86 86 

87詳細については、[Subagents](/ja/sub-agents)を参照してください。87詳細については、[Subagents](/docs/ja/sub-agents)を参照してください。

88 88 

89<h3 id="hooks">89<h3 id="hooks">

90 Hooks90 Hooks


116}116}

117```117```

118 118 

119プラグイン hooks は[ユーザー定義 hooks](/ja/hooks)と同じライフサイクルイベントに応答します:119プラグイン hooks は[ユーザー定義 hooks](/docs/ja/hooks)と同じライフサイクルイベントに応答します:

120 120 

121| Event | When it fires |121| Event | When it fires |

122| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |122| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |


138| `TaskCompleted` | When a task is being marked as completed |138| `TaskCompleted` | When a task is being marked as completed |

139| `Stop` | When Claude finishes responding |139| `Stop` | When Claude finishes responding |

140| `StopFailure` | When the turn ends due to an API error. Output and exit code are ignored |140| `StopFailure` | When the turn ends due to an API error. Output and exit code are ignored |

141| `TeammateIdle` | When an [agent team](/en/agent-teams) teammate is about to go idle |141| `TeammateIdle` | When an [agent team](/docs/en/agent-teams) teammate is about to go idle |

142| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |142| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |

143| `ConfigChange` | When a configuration file changes during a session |143| `ConfigChange` | When a configuration file changes during a session |

144| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |144| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |

145| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |145| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |

146| `WorktreeCreate` | When a worktree is being created via `--worktree` or `isolation: "worktree"`. Replaces default git behavior |146| `WorktreeCreate` | When a worktree is being created via `--worktree`, `isolation: "worktree"`, or for a background session. Replaces default git behavior |

147| `WorktreeRemove` | When a worktree is being removed, either at session exit or when a subagent finishes |147| `WorktreeRemove` | When a worktree is being removed at session exit, when a subagent finishes, or when you delete a background session |

148| `PreCompact` | Before context compaction |148| `PreCompact` | Before context compaction |

149| `PostCompact` | After context compaction completes |149| `PostCompact` | After context compaction completes |

150| `Elicitation` | When an MCP server requests user input during a tool call |150| `Elicitation` | When an MCP server requests user input during a tool call |


155 155 

156* `command`: シェルコマンドまたはスクリプトを実行156* `command`: シェルコマンドまたはスクリプトを実行

157* `http`: イベント JSON を URL への POST リクエストとして送信157* `http`: イベント JSON を URL への POST リクエストとして送信

158* `mcp_tool`: 設定された[MCP server](/ja/mcp)上のツールを呼び出す158* `mcp_tool`: 設定された[MCP server](/docs/ja/mcp)上のツールを呼び出す

159* `prompt`: LLM でプロンプトを評価(コンテキストの `$ARGUMENTS` プレースホルダーを使用)159* `prompt`: LLM でプロンプトを評価(コンテキストの `$ARGUMENTS` プレースホルダーを使用)

160* `agent`: 複雑な検証タスク用のツール付き agentic verifier を実行160* `agent`: 複雑な検証タスク用のツール付き agentic verifier を実行

161 161 

162プラグイン自体の[バンドルされた MCP server](#mcp-servers)をターゲットとする Hooks は、スコープ付き名を使用する必要があります。ツールマッチャーと `if` フィールドはスコープ付きツール名 `mcp__plugin_<plugin-name>_<server-name>__<tool>` を取り、`mcp_tool` hook の `server` フィールドは `plugin:<plugin-name>:<server-name>` を取ります。ベアサーバーキーに対して記述されたマッチャーは発火しません。[MCP ツールをマッチ](/ja/hooks#match-mcp-tools)および[プラグイン提供 MCP servers](/ja/mcp#plugin-provided-mcp-servers)を参照してください。162プラグイン自体の[バンドルされた MCP server](#mcp-servers)をターゲットとする Hooks は、スコープ付き名を使用する必要があります。ツールマッチャーと `if` フィールドはスコープ付きツール名 `mcp__plugin_<plugin-name>_<server-name>__<tool>` を取り、`mcp_tool` hook の `server` フィールドは `plugin:<plugin-name>:<server-name>` を取ります。ベアサーバーキーに対して記述されたマッチャーは発火しません。[MCP ツールをマッチ](/docs/ja/hooks#match-mcp-tools)および[プラグイン提供 MCP servers](/docs/ja/mcp#plugin-provided-mcp-servers)を参照してください。

163 163 

164<h3 id="mcp-servers">164<h3 id="mcp-servers">

165 MCP servers165 MCP servers


300 300 

301プラグインは、プラグインがアクティブな場合に Claude Code が自動的に開始するバックグラウンド monitors を宣言できます。各 monitor はセッションの期間中シェルコマンドを実行し、すべての stdout 行を Claude に通知として配信するため、Claude は自分自身に開始するよう求められることなく、ログエントリ、ステータス変更、またはポーリングされたイベントに反応できます。301プラグインは、プラグインがアクティブな場合に Claude Code が自動的に開始するバックグラウンド monitors を宣言できます。各 monitor はセッションの期間中シェルコマンドを実行し、すべての stdout 行を Claude に通知として配信するため、Claude は自分自身に開始するよう求められることなく、ログエントリ、ステータス変更、またはポーリングされたイベントに反応できます。

302 302 

303プラグイン monitors は[Monitor tool](/ja/tools-reference#monitor-tool)と同じメカニズムを使用し、その可用性制約を共有します。これらはインタラクティブ CLI セッションでのみ実行され、[hooks](#hooks)と同じ信頼レベルでサンドボックス化されずに実行され、Monitor tool が利用できないホストではスキップされます。303プラグイン monitors は[Monitor tool](/docs/ja/tools-reference#monitor-tool)と同じメカニズムを使用し、その可用性制約を共有します。これらはインタラクティブ CLI セッションでのみ実行され、[hooks](#hooks)と同じ信頼レベルでサンドボックス化されずに実行され、Monitor tool が利用できないホストではスキップされます。

304 304 

305**場所**: プラグインルートの `monitors/monitors.json`、または plugin.json 内のインライン305**場所**: プラグインルートの `monitors/monitors.json`、または plugin.json 内のインライン

306 306 


342 342 

343`command` 値は[パス置換](#environment-variables) `${CLAUDE_PLUGIN_ROOT}`、`${CLAUDE_PLUGIN_DATA}`、`${CLAUDE_PROJECT_DIR}`、および環境からの任意の `${ENV_VAR}` をサポートします。スクリプトがプラグイン自体のディレクトリから実行される必要がある場合は、コマンドの前に `cd "${CLAUDE_PLUGIN_ROOT}" && ` を付けます。343`command` 値は[パス置換](#environment-variables) `${CLAUDE_PLUGIN_ROOT}`、`${CLAUDE_PLUGIN_DATA}`、`${CLAUDE_PROJECT_DIR}`、および環境からの任意の `${ENV_VAR}` をサポートします。スクリプトがプラグイン自体のディレクトリから実行される必要がある場合は、コマンドの前に `cd "${CLAUDE_PLUGIN_ROOT}" && ` を付けます。

344 344 

345monitor `command` は[`${user_config.*}`](#user-configuration)値を参照することはできません。コマンドはシェルを通じて実行されるため、Claude Code は値を置換する代わりに[エラー](/ja/errors#plugin-command-references-user-config)でプラグインを拒否します。Monitor プロセスは `CLAUDE_PLUGIN_OPTION_<KEY>` 環境変数を受け取らないため、monitor スクリプトが所有する設定ファイルから値を読み取るようにしてください。v2.1.207 より前では、monitor コマンドは `${user_config.*}` 値を置換していました。345monitor `command` は[`${user_config.*}`](#user-configuration)値を参照することはできません。コマンドはシェルを通じて実行されるため、Claude Code は値を置換する代わりに[エラー](/docs/ja/errors#plugin-command-references-user-config)でプラグインを拒否します。Monitor プロセスは `CLAUDE_PLUGIN_OPTION_<KEY>` 環境変数を受け取らないため、monitor スクリプトが所有する設定ファイルから値を読み取るようにしてください。v2.1.207 より前では、monitor コマンドは `${user_config.*}` 値を置換していました。

346 346 

347セッション中にプラグインを無効にしても、既に実行中の monitors は停止しません。セッションが終了するときに停止します。347セッション中にプラグインを無効にしても、既に実行中の monitors は停止しません。セッションが終了するときに停止します。

348 348 


379| `user` | `~/.claude/settings.json` | すべてのプロジェクト全体で利用可能な個人プラグイン(デフォルト) |379| `user` | `~/.claude/settings.json` | すべてのプロジェクト全体で利用可能な個人プラグイン(デフォルト) |

380| `project` | `.claude/settings.json` | バージョン管理経由で共有されるチームプラグイン |380| `project` | `.claude/settings.json` | バージョン管理経由で共有されるチームプラグイン |

381| `local` | `.claude/settings.local.json` | プロジェクト固有のプラグイン、gitignored |381| `local` | `.claude/settings.local.json` | プロジェクト固有のプラグイン、gitignored |

382| `managed` | [管理設定](/ja/settings#settings-files) | 管理プラグイン(読み取り専用、更新のみ) |382| `managed` | [管理設定](/docs/ja/settings#settings-files) | 管理プラグイン(読み取り専用、更新のみ) |

383 383 

384プラグインは他の Claude Code 設定と同じスコープシステムを使用します。インストール手順とスコープフラグについては、[プラグインのインストール](/ja/discover-plugins#install-plugins)を参照してください。スコープの完全な説明については、[設定スコープ](/ja/settings#configuration-scopes)を参照してください。384プラグインは他の Claude Code 設定と同じスコープシステムを使用します。インストール手順とスコープフラグについては、[プラグインのインストール](/docs/ja/discover-plugins#install-plugins)を参照してください。スコープの完全な説明については、[設定スコープ](/docs/ja/settings#configuration-scopes)を参照してください。

385 385 

386***386***

387 387 


395 395 

396| 何を持っているか | それは何か |396| 何を持っているか | それは何か |

397| :-------------------------------------------- | :--------------------------------------------------------- |397| :-------------------------------------------- | :--------------------------------------------------------- |

398| `<skills-dir>/foo/SKILL.md` マニフェストなし | `foo` という名前の単純な[skill](/ja/skills) |398| `<skills-dir>/foo/SKILL.md` マニフェストなし | `foo` という名前の単純な[skill](/docs/ja/skills) |

399| `<skills-dir>/foo/.claude-plugin/plugin.json` | プラグイン `foo@skills-dir`。独自の skills、agents、hooks などをバンドルできます |399| `<skills-dir>/foo/.claude-plugin/plugin.json` | プラグイン `foo@skills-dir`。独自の skills、agents、hooks などをバンドルできます |

400| `<plugin>/skills/bar/SKILL.md` | プラグイン内にパッケージされた skill `bar` |400| `<plugin>/skills/bar/SKILL.md` | プラグイン内にパッケージされた skill `bar` |

401 401 


406| Skills ディレクトリ | スコープ | 読み込み |406| Skills ディレクトリ | スコープ | 読み込み |

407| :---------------------- | :------- | :--------------------------------------------- |407| :---------------------- | :------- | :--------------------------------------------- |

408| `~/.claude/skills/` | personal | すべてのプロジェクトで。場所があなただけのものだから |408| `~/.claude/skills/` | personal | すべてのプロジェクトで。場所があなただけのものだから |

409| `<cwd>/.claude/skills/` | project | そのフォルダのワークスペース[信頼ダイアログ](/ja/settings)を受け入れた後のみ |409| `<cwd>/.claude/skills/` | project | そのフォルダのワークスペース[信頼ダイアログ](/docs/ja/settings)を受け入れた後のみ |

410 410 

411プロジェクトスコープ プラグインはリポジトリにチェックインされ、クローンしたすべての共同作業者に到達します。そのコンテンツはあなたではなくリポジトリから来るため、`.claude/settings.json` を管理するのと同じ信頼ゲートの後にのみ読み込まれます。コードを実行するコンポーネントはさらに制限されます:411プロジェクトスコープ プラグインはリポジトリにチェックインされ、クローンしたすべての共同作業者に到達します。そのコンテンツはあなたではなくリポジトリから来るため、`.claude/settings.json` を管理するのと同じ信頼ゲートの後にのみ読み込まれます。コードを実行するコンポーネントはさらに制限されます:

412 412 

413* 宣言する MCP servers は、プロジェクト `.mcp.json` と同じ[サーバーごとの承認](/ja/mcp)を通過します413* 宣言する MCP servers は、プロジェクト `.mcp.json` と同じ[サーバーごとの承認](/docs/ja/mcp)を通過します

414* LSP servers はワークスペースを信頼した後にのみ開始します414* LSP servers はワークスペースを信頼した後にのみ開始します

415* [バックグラウンド monitors](#monitors)は読み込まれません415* [バックグラウンド monitors](#monitors)は読み込まれません

416 416 

417個人スコープ プラグインにはこれらの制限はありません。417個人スコープ プラグインにはこれらの制限はありません。

418 418 

419<Warning>419<Warning>

420 プロジェクトスコープ `@skills-dir` プラグインは、Claude Code を開始したディレクトリの `.claude/skills/` からのみ読み込まれます。plain skills と commands が行うように[リポジトリルートまでウォークアップ](/ja/skills#automatic-discovery-from-parent-and-nested-directories)しません。そのため、サブディレクトリから起動するとリポジトリルートに存在するプラグインが見つかりません。リポジトリルートから起動するか、ディレクトリを変更した後に `/reload-plugins` を実行してください。420 プロジェクトスコープ `@skills-dir` プラグインは、Claude Code を開始したディレクトリの `.claude/skills/` からのみ読み込まれます。plain skills と commands が行うように[リポジトリルートまでウォークアップ](/docs/ja/skills#automatic-discovery-from-parent-and-nested-directories)しません。そのため、サブディレクトリから起動するとリポジトリルートに存在するプラグインが見つかりません。リポジトリルートから起動するか、ディレクトリを変更した後に `/reload-plugins` を実行してください。

421</Warning>421</Warning>

422 422 

423<h3 id="edit-reload-and-disable-a-skills-directory-plugin">423<h3 id="edit-reload-and-disable-a-skills-directory-plugin">

424 Skills ディレクトリプラグインを編集、再読み込み、無効化424 Skills ディレクトリプラグインを編集、再読み込み、無効化

425</h3>425</h3>

426 426 

427skill の `SKILL.md` に加えた変更は現在のセッションで即座に有効になります。プラグインの他のコンポーネント(`hooks/`、`.mcp.json`、`agents/`、`output-styles/` など)への変更は有効になりません。`/reload-plugins` を実行するか Claude Code を再起動してそれらを取得してください。[ライブ変更検出](/ja/skills#live-change-detection)を参照してください。427skill の `SKILL.md` に加えた変更は現在のセッションで即座に有効になります。プラグインの他のコンポーネント(`hooks/`、`.mcp.json`、`agents/`、`output-styles/` など)への変更は有効になりません。`/reload-plugins` を実行するか Claude Code を再起動してそれらを取得してください。[ライブ変更検出](/docs/ja/skills#live-change-detection)を参照してください。

428 428 

429skills ディレクトリプラグインの読み込みを停止するには、そのフォルダを削除するか、名前で無効にしてください。マーケットプレイスから何もインストールされなかったため、`uninstall` ステップはありません。429skills ディレクトリプラグインの読み込みを停止するには、そのフォルダを削除するか、名前で無効にしてください。マーケットプレイスから何もインストールされなかったため、`uninstall` ステップはありません。

430 430 


487 487 

488| フィールド | 型 | 説明 | 例 |488| フィールド | 型 | 説明 | 例 |

489| :----- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |489| :----- | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

490| `name` | string | 一意の識別子(kebab-case、スペースなし)。[マーケットプレイスエントリ](/ja/plugin-marketplaces#plugin-entries)がプラグインを別の名前でリストする場合、マーケットプレイスエントリ名が `enabledPlugins` キーと `/plugin` で使用される名前です | `"deployment-tools"` |490| `name` | string | 一意の識別子(kebab-case、スペースなし)。[マーケットプレイスエントリ](/docs/ja/plugin-marketplaces#plugin-entries)がプラグインを別の名前でリストする場合、マーケットプレイスエントリ名が `enabledPlugins` キーと `/plugin` で使用される名前です | `"deployment-tools"` |

491 491 

492この名前はコンポーネントの名前空間に使用されます。たとえば、UI では、名前が `plugin-dev` のプラグインのエージェント `agent-creator` は `plugin-dev:agent-creator` として表示されます。492この名前はコンポーネントの名前空間に使用されます。たとえば、UI では、名前が `plugin-dev` のプラグインのエージェント `agent-creator` は `plugin-dev:agent-creator` として表示されます。

493 493 


533`defaultEnabled` は、他に何もプラグインの状態を決定していない場合のフォールバックです。2 つのことがそれより優先されます:533`defaultEnabled` は、他に何もプラグインの状態を決定していない場合のフォールバックです。2 つのことがそれより優先されます:

534 534 

535* **ユーザーの設定**: 任意の設定スコープの `enabledPlugins` のプラグインのエントリ。書き込まれると、プラグイン更新と再インストール全体で保持されるため、後のリリースで `defaultEnabled` を変更しても既存ユーザーをフリップしません。535* **ユーザーの設定**: 任意の設定スコープの `enabledPlugins` のプラグインのエントリ。書き込まれると、プラグイン更新と再インストール全体で保持されるため、後のリリースで `defaultEnabled` を変更しても既存ユーザーをフリップしません。

536* **依存関係要件**: プラグインがアクティブな別のプラグインによって必要とされる場合、Claude Code はインストール時または有効化時にそれに対して `true` を書き込みます。これにより明示的な設定が与えられるため、独自のデフォルトはもはや適用されません。[依存関係を持つプラグインを有効または無効にする](/ja/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies)を参照してください。536* **依存関係要件**: プラグインがアクティブな別のプラグインによって必要とされる場合、Claude Code はインストール時または有効化時にそれに対して `true` を書き込みます。これにより明示的な設定が与えられるため、独自のデフォルトはもはや適用されません。[依存関係を持つプラグインを有効または無効にする](/docs/ja/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies)を参照してください。

537 537 

538同じフィールドはプラグインのマーケットプレイスエントリに表示でき、`plugin.json` の値より優先されます。[オプションプラグインフィールド](/ja/plugin-marketplaces#optional-plugin-fields)を参照してください。538同じフィールドはプラグインのマーケットプレイスエントリに表示でき、`plugin.json` の値より優先されます。[オプションプラグインフィールド](/docs/ja/plugin-marketplaces#optional-plugin-fields)を参照してください。

539 539 

540<h3 id="component-path-fields">540<h3 id="component-path-fields">

541 コンポーネントパスフィールド541 コンポーネントパスフィールド


551| `outputStyles` | string\|array | カスタム出力スタイルファイル/ディレクトリ(デフォルト `output-styles/` を置き換え) | `"./styles/"` |551| `outputStyles` | string\|array | カスタム出力スタイルファイル/ディレクトリ(デフォルト `output-styles/` を置き換え) | `"./styles/"` |

552| `lspServers` | string\|array\|object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)コード インテリジェンス用の設定(定義へのジャンプ、参照の検索など) | `"./.lsp.json"` |552| `lspServers` | string\|array\|object | [Language Server Protocol](https://microsoft.github.io/language-server-protocol/)コード インテリジェンス用の設定(定義へのジャンプ、参照の検索など) | `"./.lsp.json"` |

553| `experimental.themes` | string\|array | カラーテーマファイル/ディレクトリ(デフォルト `themes/` を置き換え)。[テーマ](#themes)を参照してください | `"./themes/"` |553| `experimental.themes` | string\|array | カラーテーマファイル/ディレクトリ(デフォルト `themes/` を置き換え)。[テーマ](#themes)を参照してください | `"./themes/"` |

554| `experimental.monitors` | string\|array | プラグインがアクティブな場合に自動的に開始されるバックグラウンド[Monitor](/ja/tools-reference#monitor-tool)設定。[Monitors](#monitors)を参照してください | `"./monitors.json"` |554| `experimental.monitors` | string\|array | プラグインがアクティブな場合に自動的に開始されるバックグラウンド[Monitor](/docs/ja/tools-reference#monitor-tool)設定。[Monitors](#monitors)を参照してください | `"./monitors.json"` |

555| `userConfig` | object | ユーザー設定可能な値は有効化時にプロンプトされます。[ユーザー設定](#user-configuration)を参照してください | 下記を参照 |555| `userConfig` | object | ユーザー設定可能な値は有効化時にプロンプトされます。[ユーザー設定](#user-configuration)を参照してください | 下記を参照 |

556| `channels` | array | メッセージ注入用のチャネル宣言(Telegram、Slack、Discord スタイル)。[チャネル](#channels)を参照してください | 下記を参照 |556| `channels` | array | メッセージ注入用のチャネル宣言(Telegram、Slack、Discord スタイル)。[チャネル](#channels)を参照してください | 下記を参照 |

557| `dependencies` | array | このプラグインが必要とする他のプラグイン。オプションで semver バージョン制約付き。[プラグイン依存関係バージョンを制約](/ja/plugin-dependencies)を参照してください | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |557| `dependencies` | array | このプラグインが必要とする他のプラグイン。オプションで semver バージョン制約付き。[プラグイン依存関係バージョンを制約](/docs/ja/plugin-dependencies)を参照してください | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

558 558 

559<h3 id="experimental-components">559<h3 id="experimental-components">

560 実験的コンポーネント560 実験的コンポーネント


601 601 

602各値は MCP および LSP サーバー設定と hook コマンドで `${user_config.KEY}` として置換可能です。機密でない値は skill とエージェントコンテンツでも置換できます。すべての値はプラグインサブプロセスに `CLAUDE_PLUGIN_OPTION_<KEY>` 環境変数としてエクスポートされます。ここで `<KEY>` はオプションキーを大文字にしたものです。602各値は MCP および LSP サーバー設定と hook コマンドで `${user_config.KEY}` として置換可能です。機密でない値は skill とエージェントコンテンツでも置換できます。すべての値はプラグインサブプロセスに `CLAUDE_PLUGIN_OPTION_<KEY>` 環境変数としてエクスポートされます。ここで `<KEY>` はオプションキーを大文字にしたものです。

603 603 

604シェルで実行されるフィールドは `${user_config.*}` を拒否します: 設定された値をシェルコマンドに置換すると、シェルはその値が含むものを実行できるため、コンポーネントは[エラー](/ja/errors#plugin-command-references-user-config)で失敗します。拒否された各フィールドには、値を渡す別の方法があります:604シェルで実行されるフィールドは `${user_config.*}` を拒否します: 設定された値をシェルコマンドに置換すると、シェルはその値が含むものを実行できるため、コンポーネントは[エラー](/docs/ja/errors#plugin-command-references-user-config)で失敗します。拒否された各フィールドには、値を渡す別の方法があります:

605 605 

606| 拒否されたフィールド | 値を渡す方法 |606| 拒否されたフィールド | 値を渡す方法 |

607| :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- |607| :--------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- |

608| Shell-form hook コマンド | [exec form](/ja/hooks#exec-form-and-shell-form)を `args` で使用するか、hook の環境から `CLAUDE_PLUGIN_OPTION_<KEY>` を読み取ります |608| Shell-form hook コマンド | [exec form](/docs/ja/hooks#exec-form-and-shell-form)を `args` で使用するか、hook の環境から `CLAUDE_PLUGIN_OPTION_<KEY>` を読み取ります |

609| [Monitor](#monitors)コマンド | スクリプトの設定ファイルから値を読み取ります |609| [Monitor](#monitors)コマンド | スクリプトの設定ファイルから値を読み取ります |

610| MCP [`headersHelper`](/ja/mcp#use-dynamic-headers-for-custom-authentication) | スクリプトの設定ファイルから値を読み取ります |610| MCP [`headersHelper`](/docs/ja/mcp#use-dynamic-headers-for-custom-authentication) | スクリプトの設定ファイルから値を読み取ります |

611 611 

612v2.1.207 より前は、これらのフィールドは `${user_config.KEY}` 値を置換していました。これに依存していたプラグインを更新してください。612v2.1.207 より前は、これらのフィールドは `${user_config.KEY}` 値を置換していました。これに依存していたプラグインを更新してください。

613 613 

614機密でない値は `settings.json` の [`pluginConfigs`](/ja/settings#pluginconfigs) キーの下に `pluginConfigs[<plugin-id>].options` として保存されます。{/* min-version: 2.1.207 */}Claude Code はキーをユーザー設定に書き込み、ユーザー設定、`--settings` フラグ、および管理設定からそれを読み取ります。プロジェクトの `.claude/settings.json` または `.claude/settings.local.json` のエントリは無視されます。v2.1.207 より前は、Claude Code はプロジェクトおよびローカル設定も読み取っていました。614機密でない値は `settings.json` の [`pluginConfigs`](/docs/ja/settings#pluginconfigs) キーの下に `pluginConfigs[<plugin-id>].options` として保存されます。{/* min-version: 2.1.207 */}Claude Code はキーをユーザー設定に書き込み、ユーザー設定、`--settings` フラグ、および管理設定からそれを読み取ります。プロジェクトの `.claude/settings.json` または `.claude/settings.local.json` のエントリは無視されます。v2.1.207 より前は、Claude Code はプロジェクトおよびローカル設定も読み取っていました。

615 615 

616機密値は macOS Keychain、またはサポートされているキーチェーンが利用できないプラットフォームでは `~/.claude/.credentials.json` に移動します。キーチェーンストレージは OAuth トークンと共有され、約 2 KB の合計制限があるため、機密値は小さく保ってください。616機密値は macOS Keychain、またはサポートされているキーチェーンが利用できないプラットフォームでは `~/.claude/.credentials.json` に移動します。キーチェーンストレージは OAuth トークンと共有され、約 2 KB の合計制限があるため、機密値は小さく保ってください。

617 617 


653カスタムパスがプラグインのデフォルトディレクトリを置き換えるか拡張するかは、フィールドによって異なります:653カスタムパスがプラグインのデフォルトディレクトリを置き換えるか拡張するかは、フィールドによって異なります:

654 654 

655* **デフォルトを置き換える**: `commands`、`agents`、`outputStyles`、`experimental.themes`、`experimental.monitors`。たとえば、マニフェストが `commands` を指定する場合、デフォルト `commands/` ディレクトリはスキャンされません。デフォルトを保持してさらに追加するには、明示的にリストします: `"commands": ["./commands/", "./extras/"]`655* **デフォルトを置き換える**: `commands`、`agents`、`outputStyles`、`experimental.themes`、`experimental.monitors`。たとえば、マニフェストが `commands` を指定する場合、デフォルト `commands/` ディレクトリはスキャンされません。デフォルトを保持してさらに追加するには、明示的にリストします: `"commands": ["./commands/", "./extras/"]`

656* **デフォルトに追加**: `skills`。デフォルト `skills/` ディレクトリは常にスキャンされ、`skills` にリストされているディレクトリはそれと一緒に読み込まれます。例外: [マーケットプレイスエントリの `source` がマーケットプレイスルートに解決される](/ja/plugin-marketplaces#advanced-plugin-entries)場合、特定のサブディレクトリを宣言するとスキャンが置き換えられます656* **デフォルトに追加**: `skills`。デフォルト `skills/` ディレクトリは常にスキャンされ、`skills` にリストされているディレクトリはそれと一緒に読み込まれます。例外: [マーケットプレイスエントリの `source` がマーケットプレイスルートに解決される](/docs/ja/plugin-marketplaces#advanced-plugin-entries)場合、特定のサブディレクトリを宣言するとスキャンが置き換えられます

657* **独自のマージルール**: [hooks](#hooks)、[MCP servers](#mcp-servers)、[LSP servers](#lsp-servers)。各セクションで複数のソースがどのように結合されるかを参照してください657* **独自のマージルール**: [hooks](#hooks)、[MCP servers](#mcp-servers)、[LSP servers](#lsp-servers)。各セクションで複数のソースがどのように結合されるかを参照してください

658 658 

659プラグインがデフォルトフォルダと一致するマニフェストキーの両方を持つ場合、Claude Code v2.1.140 以降は無視されたフォルダを `claude plugin list` および `/plugin` 詳細ビューで警告します。プラグインはマニフェストパスを使用して読み込まれます。マニフェストキーがデフォルトフォルダを指す場合(例: `"commands": ["./commands/deploy.md"]`)は警告は表示されません。その場合、フォルダは明示的にアドレス指定されているためです。659プラグインがデフォルトフォルダと一致するマニフェストキーの両方を持つ場合、Claude Code v2.1.140 以降は無視されたフォルダを `claude plugin list` および `/plugin` 詳細ビューで警告します。プラグインはマニフェストパスを使用して読み込まれます。マニフェストキーがデフォルトフォルダを指す場合(例: `"commands": ["./commands/deploy.md"]`)は警告は表示されません。その場合、フォルダは明示的にアドレス指定されているためです。


704| MCP `http`、`sse`、`ws` サーバー | `url`、`headers`、`headersHelper` |704| MCP `http`、`sse`、`ws` サーバー | `url`、`headers`、`headersHelper` |

705| LSP サーバー | `command`、`args`、`env`、`workspaceFolder` |705| LSP サーバー | `command`、`args`、`env`、`workspaceFolder` |

706 706 

707hook コマンドでは、[exec form](/ja/hooks#exec-form-and-shell-form)を `args` で使用して、各パスが 1 つの引数として引用符なしで渡されるようにしてください。shell-form hooks と monitor コマンドでは、`"${CLAUDE_PROJECT_DIR}/scripts/server.sh"` のようにダブルクォートで囲みます。この shell-form hook はプラグインにバンドルされたスクリプトを実行します:707hook コマンドでは、[exec form](/docs/ja/hooks#exec-form-and-shell-form)を `args` で使用して、各パスが 1 つの引数として引用符なしで渡されるようにしてください。shell-form hooks と monitor コマンドでは、`"${CLAUDE_PROJECT_DIR}/scripts/server.sh"` のようにダブルクォートで囲みます。この shell-form hook はプラグインにバンドルされたスクリプトを実行します:

708 708 

709```json theme={null}709```json theme={null}

710{710{


727 727 

728プラグインがセッション中に更新されると、hook コマンド、monitors、MCP サーバー、LSP サーバーは前のバージョンのパスを使用し続けます。`/reload-plugins` を実行して、hook、MCP サーバー、LSP サーバーを新しいパスに切り替えます。monitors はセッション再起動が必要です。728プラグインがセッション中に更新されると、hook コマンド、monitors、MCP サーバー、LSP サーバーは前のバージョンのパスを使用し続けます。`/reload-plugins` を実行して、hook、MCP サーバー、LSP サーバーを新しいパスに切り替えます。monitors はセッション再起動が必要です。

729 729 

730MCP サーバーは `roots/list` リクエストを呼び出すこともでき、セッションの作業ディレクトリを実行時に読み取ることができます。[`roots/list` が返すもの、および Claude Code がサーバーに変更を通知するタイミング](/ja/mcp#option-3-add-a-local-stdio-server)を参照してください。730MCP サーバーは `roots/list` リクエストを呼び出すこともでき、セッションの作業ディレクトリを実行時に読み取ることができます。[`roots/list` が返すもの、および Claude Code がサーバーに変更を通知するタイミング](/docs/ja/mcp#option-3-add-a-local-stdio-server)を参照してください。

731 731 

732<h4 id="persistent-data-directory">732<h4 id="persistent-data-directory">

733 永続データディレクトリ733 永続データディレクトリ


893| **LSP servers** | `.lsp.json` | 言語サーバー設定 |893| **LSP servers** | `.lsp.json` | 言語サーバー設定 |

894| **Monitors** | `monitors/monitors.json` | バックグラウンド monitor 設定 |894| **Monitors** | `monitors/monitors.json` | バックグラウンド monitor 設定 |

895| **実行可能ファイル** | `bin/` | Bash tool の `PATH` に追加される実行可能ファイル。ここのファイルはプラグインが有効な場合、任意の Bash tool 呼び出しで裸のコマンドとして呼び出し可能 |895| **実行可能ファイル** | `bin/` | Bash tool の `PATH` に追加される実行可能ファイル。ここのファイルはプラグインが有効な場合、任意の Bash tool 呼び出しで裸のコマンドとして呼び出し可能 |

896| **設定** | `settings.json` | プラグインが有効になったときに適用されるデフォルト設定。現在、[`agent`](/ja/sub-agents)および[`subagentStatusLine`](/ja/statusline#subagent-status-lines)キーのみがサポートされています |896| **設定** | `settings.json` | プラグインが有効になったときに適用されるデフォルト設定。現在、[`agent`](/docs/ja/sub-agents)および[`subagentStatusLine`](/docs/ja/statusline#subagent-status-lines)キーのみがサポートされています |

897 897 

898***898***

899 899 


942| `mcp` | HTTP と stdio サーバーの例を含む `.mcp.json` |942| `mcp` | HTTP と stdio サーバーの例を含む `.mcp.json` |

943| `lsp` | `.lsp.json` 言語サーバーの例 |943| `lsp` | `.lsp.json` 言語サーバーの例 |

944| `output-style` | プラグインが有効な場合に自動的に適用される `output-styles/<name>.md` |944| `output-style` | プラグインが有効な場合に自動的に適用される `output-styles/<name>.md` |

945| `channel` | MCP ベースの[チャネル](/ja/channels): stdio サーバー(`server.ts`)、その `.mcp.json`、および `package.json` |945| `channel` | MCP ベースの[チャネル](/docs/ja/channels): stdio サーバー(`server.ts`)、その `.mcp.json`、および `package.json` |

946 946 

947スキャフォルドされたプラグインはマーケットプレイスではなく `@skills-dir` ソースを使用します。管理者は `strictKnownMarketplaces` でこのソースをブロックするか、[管理設定](/ja/plugin-marketplaces#managed-marketplace-restrictions)の `blockedMarketplaces` に `{"source": "skills-dir"}` を追加することでブロックできます。ブロックされると、`plugin init` は書き込み前に失敗します。947スキャフォルドされたプラグインはマーケットプレイスではなく `@skills-dir` ソースを使用します。管理者は `strictKnownMarketplaces` でこのソースをブロックするか、[管理設定](/docs/ja/plugin-marketplaces#managed-marketplace-restrictions)の `blockedMarketplaces` に `{"source": "skills-dir"}` を追加することでブロックできます。ブロックされると、`plugin init` は書き込み前に失敗します。

948 948 

949**例:**949**例:**

950 950 


1027 plugin prune1027 plugin prune

1028</h3>1028</h3>

1029 1029 

1030インストール済みプラグインによって不要になった自動インストール プラグイン依存関係を削除します。Claude Code が別のプラグインの [`dependencies`](/ja/plugin-dependencies) フィールドを満たすために取得した依存関係は削除されます。直接インストールしたプラグインは決して削除されません。1030インストール済みプラグインによって不要になった自動インストール プラグイン依存関係を削除します。Claude Code が別のプラグインの [`dependencies`](/docs/ja/plugin-dependencies) フィールドを満たすために取得した依存関係は削除されます。直接インストールしたプラグインは決して削除されません。

1031 1031 

1032```bash theme={null}1032```bash theme={null}

1033claude plugin prune [options]1033claude plugin prune [options]


1054 plugin enable1054 plugin enable

1055</h3>1055</h3>

1056 1056 

1057無効なプラグインを有効にします。プラグインが [dependencies](/ja/plugin-dependencies) を宣言している場合、Claude Code はそれらを同じスコープで推移的に有効にし、依存関係がインストールされていない場合はコマンドが失敗します。1057無効なプラグインを有効にします。プラグインが [dependencies](/docs/ja/plugin-dependencies) を宣言している場合、Claude Code はそれらを同じスコープで推移的に有効にし、依存関係がインストールされていない場合はコマンドが失敗します。

1058 1058 

1059```bash theme={null}1059```bash theme={null}

1060claude plugin enable <plugin> [options]1060claude plugin enable <plugin> [options]


1075 plugin disable1075 plugin disable

1076</h3>1076</h3>

1077 1077 

1078プラグインをアンインストールせずに無効にします。別の有効なプラグインが [ターゲットに依存している](/ja/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies) 場合は失敗します。エラーメッセージには、最初にすべての依存プラグインを無効にするチェーンコマンドが含まれます。1078プラグインをアンインストールせずに無効にします。別の有効なプラグインが [ターゲットに依存している](/docs/ja/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies) 場合は失敗します。エラーメッセージには、最初にすべての依存プラグインを無効にするチェーンコマンドが含まれます。

1079 1079 

1080```bash theme={null}1080```bash theme={null}

1081claude plugin disable <plugin> [options]1081claude plugin disable <plugin> [options]


1192 plugin tag1192 plugin tag

1193</h3>1193</h3>

1194 1194 

1195現在のディレクトリ内のプラグインのリリース git タグを作成します。プラグインのフォルダ内から実行してください。[プラグインリリースにタグを付ける](/ja/plugin-dependencies#tag-plugin-releases-for-version-resolution)を参照してください。1195現在のディレクトリ内のプラグインのリリース git タグを作成します。プラグインのフォルダ内から実行してください。[プラグインリリースにタグを付ける](/docs/ja/plugin-dependencies#tag-plugin-releases-for-version-resolution)を参照してください。

1196 1196 

1197```bash theme={null}1197```bash theme={null}

1198claude plugin tag [options]1198claude plugin tag [options]


1352 関連項目1352 関連項目

1353</h2>1353</h2>

1354 1354 

1355* [プラグイン](/ja/plugins) - チュートリアルと実践的な使用法1355* [プラグイン](/docs/ja/plugins) - チュートリアルと実践的な使用法

1356* [プラグインマーケットプレイス](/ja/plugin-marketplaces) - マーケットプレイスの作成と管理1356* [プラグインマーケットプレイス](/docs/ja/plugin-marketplaces) - マーケットプレイスの作成と管理

1357* [Skills](/ja/skills) - Skill 開発の詳細1357* [Skills](/docs/ja/skills) - Skill 開発の詳細

1358* [Subagents](/ja/sub-agents) - エージェント設定と機能1358* [Subagents](/docs/ja/sub-agents) - エージェント設定と機能

1359* [Hooks](/ja/hooks) - イベント処理と自動化1359* [Hooks](/docs/ja/hooks) - イベント処理と自動化

1360* [MCP](/ja/mcp) - 外部ツール統合1360* [MCP](/docs/ja/mcp) - 外部ツール統合

1361* [設定](/ja/settings) - プラグインの設定オプション1361* [設定](/docs/ja/settings) - プラグインの設定オプション

troubleshooting.md +18 −14

Details

10 10 

11| 症状 | 移動先 |11| 症状 | 移動先 |

12| :-------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- |12| :-------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- |

13| `command not found`、インストール失敗、PATH の問題、`EACCES`、TLS エラー | [インストールとログインのトラブルシューティング](/ja/troubleshoot-install) |13| `command not found`、インストール失敗、PATH の問題、`EACCES`、TLS エラー | [インストールとログインのトラブルシューティング](/docs/ja/troubleshoot-install) |

14| 更新またはインストールダウンロードが `The connection dropped while downloading the update` または `aborted` で失敗する | [エラーリファレンス](/ja/errors#the-connection-dropped-while-downloading-the-update) |14| 更新またはインストールダウンロードが `The connection dropped while downloading the update` または `aborted` で失敗する | [エラーリファレンス](/docs/ja/errors#the-connection-dropped-while-downloading-the-update) |

15| ログインループ、OAuth エラー、`403 Forbidden`、「organization disabled」、Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry 認証情報 | [インストールとログインのトラブルシューティング](/ja/troubleshoot-install#login-and-authentication) |15| ログインループ、OAuth エラー、`403 Forbidden`、「organization disabled」、Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry 認証情報 | [インストールとログインのトラブルシューティング](/docs/ja/troubleshoot-install#login-and-authentication) |

16| 設定が適用されない、hooks が実行されない、MCP サーバーがロードされない | [設定をデバッグする](/ja/debug-your-config) |16| 設定が適用されない、hooks が実行されない、MCP サーバーがロードされない | [設定をデバッグする](/docs/ja/debug-your-config) |

17| `API Error: 5xx`、`529 Overloaded`、`429`、リクエスト検証エラー | [エラーリファレンス](/ja/errors) |17| `API Error: 5xx`、`529 Overloaded`、`429`、リクエスト検証エラー | [エラーリファレンス](/docs/ja/errors) |

18| `model not found` または `you may not have access to it` | [エラーリファレンス](/ja/errors#theres-an-issue-with-the-selected-model) |18| `model not found` または `you may not have access to it` | [エラーリファレンス](/docs/ja/errors#theres-an-issue-with-the-selected-model) |

19| VS Code 拡張機能が接続されていない、または Claude を検出していない | [VS Code 統合](/ja/vs-code#fix-common-issues) |19| VS Code 拡張機能が接続されていない、または Claude を検出していない | [VS Code 統合](/docs/ja/vs-code#fix-common-issues) |

20| JetBrains プラグインまたは IDE が検出されない | [JetBrains 統合](/ja/jetbrains#troubleshooting) |20| JetBrains プラグインまたは IDE が検出されない | [JetBrains 統合](/docs/ja/jetbrains#troubleshooting) |

21| CPU またはメモリ使用量が多い、応答が遅い、ハング、検索がファイルを見つけられない | [パフォーマンスと安定性](#performance-and-stability)(下記) |21| CPU またはメモリ使用量が多い、応答が遅い、ハング、検索がファイルを見つけられない | [パフォーマンスと安定性](#performance-and-stability)(下記) |

22 22 

23どれが当てはまるかわからない場合は、Claude Code 内で `/doctor` を実行して、インストール、設定、拡張機能、コンテキスト使用量の自動チェックを実行してください。確認後に適用できる修正を提案します。`claude` がまったく起動しない場合は、代わりにシェルから `claude doctor` を実行してください。MCP サーバーのステータスを確認するには `/mcp` を実行してください。23どれが当てはまるかわからない場合は、Claude Code 内で `/doctor` を実行して、インストール、設定、拡張機能、コンテキスト使用量の自動チェックを実行してください。確認後に適用できる修正を提案します。`claude` がまったく起動しない場合は、代わりにシェルから `claude doctor` を実行してください。MCP サーバーのステータスを確認するには `/mcp` を実行してください。


371. `/compact` を定期的に使用してコンテキストサイズを削減します371. `/compact` を定期的に使用してコンテキストサイズを削減します

382. 主要なタスク間で Claude Code を閉じて再起動します382. 主要なタスク間で Claude Code を閉じて再起動します

393. 大規模なビルドディレクトリを `.gitignore` ファイルに追加することを検討してください393. 大規模なビルドディレクトリを `.gitignore` ファイルに追加することを検討してください

404. [`claude --safe-mode`](/ja/cli-reference#cli-flags) で再起動して、プラグイン、MCP サーバー、またはフックが原因かどうかを確認します。セッション中のすべてのカスタマイズが無効になります。使用量が低下した場合は、[設定をデバッグする](/ja/debug-your-config#test-against-a-clean-configuration)を参照して、どれが原因かを特定します404. [`claude --safe-mode`](/docs/ja/cli-reference#cli-flags) で再起動して、プラグイン、MCP サーバー、またはフックが原因かどうかを確認します。セッション中のすべてのカスタマイズが無効になります。使用量が低下した場合は、[設定をデバッグする](/docs/ja/debug-your-config#test-against-a-clean-configuration)を参照して、どれが原因かを特定します

41 41 

42これらのステップ後もメモリ使用量が高いままの場合は、`/heapdump` を実行して JavaScript ヒープスナップショットとメモリ分析を `~/Desktop` に書き込みます。Linux でデスクトップフォルダがない場合、ファイルはホームディレクトリに書き込まれます。42これらのステップ後もメモリ使用量が高いままの場合は、`/heapdump` を実行して JavaScript ヒープスナップショットとメモリ分析を `~/Desktop` に書き込みます。Linux でデスクトップフォルダがない場合、ファイルはホームディレクトリに書き込まれます。

43 43 

44分析は常駐セットサイズ、JS ヒープ、配列バッファおよび説明されていないネイティブメモリを表示し成長が JavaScript オブジェクトにあるかネイティブコードにあるかを識別するのに役立ちます。Chrome DevTools のメモリロードで `.heapsnapshot` ファイルを開いて、リテイナーを検査しますメモリの問題を報告するときに両方のファイルを [GitHub](https://github.com/anthropics/claude-code/issues) に添付します44分析にはresident set size、JS ヒープ、array buffersおよび説明されていないネイティブメモリが表示されます。これにより増加が JavaScript オブジェクトにあるのかネイティブコードにあるのかを特定するのに役立ちます保持者を検査するには、Chrome DevTools Memory Load `.heapsnapshot` ファイルを開きます分析は `-diagnostics.json` で終わるファイルです

45 

46<Warning>

47 `.heapsnapshot` ファイルには、プロセス内のすべての文字列が含まれています。公開の issue に添付したり、共有したりしないでください。メモリの問題を [GitHub](https://github.com/anthropics/claude-code/issues) で報告する場合は、`-diagnostics.json` ファイルのみを添付してください。このファイルにはメモリ統計が含まれており、会話内容や認証情報は含まれていません。

48</Warning>

45 49 

46<h3 id="large-tables-are-cut-off-in-the-terminal">50<h3 id="large-tables-are-cut-off-in-the-terminal">

47 ターミナルで大きなテーブルが切り取られる51 ターミナルで大きなテーブルが切り取られる

48</h3>52</h3>

49 53 

50200 行以上の Markdown テーブルは、最初の 200 行とそれに続く `… N more rows not shown` 行をレンダリングします。表示のみが制限されます。完全なテーブルはカンバセーションに残り、[`/copy`](/ja/commands) はすべての行をコピーします。ターミナルで読むには大きすぎるテーブルの場合は、Claude にファイルに書き込むよう依頼してください。v2.1.208 より前では、Claude Code はすべての行をレンダリングしていたため、非常に大きなテーブルを含むセッションを再開すると、再レンダリング中にスタールする可能性がありました。54200 行以上の Markdown テーブルは、最初の 200 行とそれに続く `… N more rows not shown` 行をレンダリングします。表示のみが制限されます。完全なテーブルはカンバセーションに残り、[`/copy`](/docs/ja/commands) はすべての行をコピーします。ターミナルで読むには大きすぎるテーブルの場合は、Claude にファイルに書き込むよう依頼してください。v2.1.208 より前では、Claude Code はすべての行をレンダリングしていたため、非常に大きなテーブルを含むセッションを再開すると、再レンダリング中にスタールする可能性がありました。

51 55 

52<h3 id="auto-compaction-stops-with-a-thrashing-error">56<h3 id="auto-compaction-stops-with-a-thrashing-error">

53 自動コンパクションがスラッシングエラーで停止する57 自動コンパクションがスラッシングエラーで停止する


59 63 

601. Claude に、ファイル全体ではなく、特定の行範囲または関数など、より小さなチャンクで大きなファイルを読むよう依頼します641. Claude に、ファイル全体ではなく、特定の行範囲または関数など、より小さなチャンクで大きなファイルを読むよう依頼します

612. `/compact` を実行して、大きな出力を削除するフォーカスを使用します(例:`/compact keep only the plan and the diff`)652. `/compact` を実行して、大きな出力を削除するフォーカスを使用します(例:`/compact keep only the plan and the diff`)

623. 大規模ファイルの作業を [subagent](/ja/sub-agents) に移動して、別のコンテキストウィンドウで実行されるようにします663. 大規模ファイルの作業を [subagent](/docs/ja/sub-agents) に移動して、別のコンテキストウィンドウで実行されるようにします

634. 以前の会話がもう必要ない場合は `/clear` を実行します674. 以前の会話がもう必要ない場合は `/clear` を実行します

64 68 

65<h3 id="command-hangs-or-freezes">69<h3 id="command-hangs-or-freezes">


77 エディタの統合ターミナルでのテキストの文字化けまたは破損81 エディタの統合ターミナルでのテキストの文字化けまたは破損

78</h3>82</h3>

79 83 

80VS Code、Cursor、または Devin Desktop の統合ターミナルで Claude Code を実行する場合、文字がボックス、スミア、または間違ったグリフとしてレンダリングされる場合、ターミナルの GPU レンダラーが原因である可能性があります。Claude Code 内で `/terminal-setup` を実行して、`terminal.integrated.gpuAcceleration` を `"off"` に設定するか、エディタの設定で手動で設定してウィンドウをリロードします。[ターミナル設定](/ja/terminal-config)で、`/terminal-setup` が書き込む他の設定を参照してください。84VS Code、Cursor、または Devin Desktop の統合ターミナルで Claude Code を実行する場合、文字がボックス、スミア、または間違ったグリフとしてレンダリングされる場合、ターミナルの GPU レンダラーが原因である可能性があります。Claude Code 内で `/terminal-setup` を実行して、`terminal.integrated.gpuAcceleration` を `"off"` に設定するか、エディタの設定で手動で設定してウィンドウをリロードします。[ターミナル設定](/docs/ja/terminal-config)で、`/terminal-setup` が書き込む他の設定を参照してください。

81 85 

82<h3 id="search-and-discovery-issues">86<h3 id="search-and-discovery-issues">

83 検索と発見の問題87 検索と発見の問題


117 </Tab>121 </Tab>

118</Tabs>122</Tabs>

119 123 

120その後、[environment](/ja/env-vars) で `USE_BUILTIN_RIPGREP=0` を設定します。124その後、[environment](/docs/ja/env-vars) で `USE_BUILTIN_RIPGREP=0` を設定します。

121 125 

122<h3 id="slow-or-incomplete-search-results-on-wsl">126<h3 id="slow-or-incomplete-search-results-on-wsl">

123 WSL での遅い、または不完全な検索結果127 WSL での遅い、または不完全な検索結果