SpyBara
Go Premium

Documentation 2026-11-12 23:02 UTC to 2026-11-13 23:02 UTC

66 files changed +647 −349. View all changes and history on the product overview
2026
Sat 14 03:01 Fri 13 23:02 Thu 12 23:02 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

117 --network none \117 --network none \

118 --memory 2g \118 --memory 2g \

119 --cpus 2 \119 --cpus 2 \

120 --pids-limit 100 \120 --pids-limit 600 \

121 --user 1000:1000 \121 --user 1000:1000 \

122 -v /path/to/code:/workspace:ro \122 -v /path/to/code:/workspace:ro \

123 -v /var/run/proxy.sock:/var/run/proxy.sock:ro \123 -v /var/run/proxy.sock:/var/run/proxy.sock:ro \


135| `--tmpfs /tmp:...` | コンテナが停止したときにクリアされる書き込み可能な一時ディレクトリを提供します |135| `--tmpfs /tmp:...` | コンテナが停止したときにクリアされる書き込み可能な一時ディレクトリを提供します |

136| `--network none` | コンテナを外部ネットワークから切り離します |136| `--network none` | コンテナを外部ネットワークから切り離します |

137| `--memory 2g` | メモリ使用量を 2GB に制限して、リソース枯渇を防ぎます |137| `--memory 2g` | メモリ使用量を 2GB に制限して、リソース枯渇を防ぎます |

138| `--pids-limit 100` | プロセス数を制限してフォークボムを防ぎます |138| `--pids-limit 600` | プロセスとスレッドの数を制限してフォークボムを防ぎます |

139| `--user 1000:1000` | 非ルートユーザーとして実行します |139| `--user 1000:1000` | 非ルートユーザーとして実行します |

140| `-v ...:/workspace:ro` | コードを読み取り専用でマウントして、エージェントが分析できるが変更できないようにします。**`~/.ssh`、`~/.aws`、`~/.config` などの機密ホストディレクトリのマウントは避けてください** |140| `-v ...:/workspace:ro` | コードを読み取り専用でマウントして、エージェントが分析できるが変更できないようにします。**`~/.ssh`、`~/.aws`、`~/.config` などの機密ホストディレクトリのマウントは避けてください** |

141| `-v .../proxy.sock:...` | コンテナ外で実行されているプロキシに接続された Unix ソケットをマウントします(以下を参照) |141| `-v .../proxy.sock:...` | コンテナ外で実行されているプロキシに接続された Unix ソケットをマウントします(以下を参照) |

Details

104| `options` | [`Options`](#options) | オプションの設定オブジェクト。`query()` の `options` パラメータと同じです |104| `options` | [`Options`](#options) | オプションの設定オブジェクト。`query()` の `options` パラメータと同じです |

105| `initializeTimeoutMs` | `number` | サブプロセス初期化の完了を待つ最大時間(ミリ秒)。デフォルトは `60000` です。初期化が時間内に完了しない場合、プロミスはタイムアウトエラーで拒否されます |105| `initializeTimeoutMs` | `number` | サブプロセス初期化の完了を待つ最大時間(ミリ秒)。デフォルトは `60000` です。初期化が時間内に完了しない場合、プロミスはタイムアウトエラーで拒否されます |

106 106 

107時間のかかる [SessionStart](https://code.claude.com/docs/ja/hooks.md#sessionstart) および [Setup](https://code.claude.com/docs/ja/hooks.md#setup) の [コマンドフック](https://code.claude.com/docs/ja/hooks.md#command-hook-fields) に追加の時間が与えられるのは、`initializeTimeoutMs` が未設定の場合のみです。

108 

109* **未設定のままにした場合:** これらのフックの実行に費やされた時間は、合計 10 分までは 60 秒のデフォルトにカウントされません。そのため、初期化には最大で 11 分かかる可能性があります。

110* **値を設定した場合(`60000` を含む):** フックの実行中であっても、その値が上限になります。

111 

112この追加の時間には TypeScript Agent SDK v0.3.304 以降が必要です。

113 

107#### 戻り値114#### 戻り値

108 115 

109サブプロセスが生成され、初期化ハンドシェイクを完了したら解決する `Promise<`[`WarmQuery`](#warmquery)`>` を返します。116サブプロセスが生成され、初期化ハンドシェイクを完了したら解決する `Promise<`[`WarmQuery`](#warmquery)`>` を返します。


128 135 

129### `prewarm()`136### `prewarm()`

130 137 

131*アルファ版。* どのセッションに対応するかわかる前に Claude Code プロセスをスペアとして開始します。後で [`claim()`](#spareprocess) を使用してセッションにバインドできます。ユーザーがフォルダを選択する前に起動するアプリケーションで使用します。TypeScript Agent SDK v0.3.282 以降が必要です。138*アルファ版。* どのセッションに対応するかわかる前に Claude Code プロセスをスペアとして開始します。後で [`claim()`](#spareprocess) を使用してセッションにバインドできます。TypeScript Agent SDK v0.3.282 以降が必要です。

132 139 

133`prewarm()` は [`startup()`](#startup) と同じ初期化ハンドシェイクを完了します。`options.cwd` を設定した場合はそのディレクトリで、それ以外の場合は Claude Code 設定ディレクトリ下のプライベート一時ディレクトリでプロセスが待機します。セッションの作業ディレクトリ、その `SessionStart` フック、その stdio MCP サーバー、その CLAUDE.md と git コンテキストはクレームを待ちます。スペアは待機中に約 230 ~ 260 MB のメモリを保持します。[`spawnClaudeCodeProcess`](#options) が別のマシンまたはコンテナで Claude Code を実行する場合は、`options.cwd` をそこに存在するディレクトリに設定して、スペアが待機するようにしてください。140ユーザーがフォルダを選択する前にアプリケーションが起動する場合は、`prewarm()` を使用してください。

134 141 

135```typescript theme={null}142```typescript theme={null}

136function prewarm(params?: {143function prewarm(params?: {


139}): Promise<SpareProcess>;146}): Promise<SpareProcess>;

140```147```

141 148 

142`options` と `initializeTimeoutMs` は `startup()` と同じ意味ですが、`options.cwd` はスペアが待機するディレクトリのみを設定します。プロミスは、プロセスが初期化ハンドシェイクを完了したら [`SpareProcess`](#spareprocess) で解決します。`prewarm()` は `options` が `resume`、`continue`、または `forkSession` を設定する場合にスローします。スペアにはセッションがないためです。クレームが設定できないもの(`mcpServers`、`hooks`、`canUseTool`、`settingSources`、`systemPrompt`、`plugins` など)はスペアの存続期間中固定されるため、それらのオプションの異なるセットごとに 1 つのスペアを保持し、変更時に再度プリウォーミングしてください。149#### パラメータ

150 

151| パラメータ | 型 | 説明 |

152| :- | :- | :- |

153| `options` | [`Options`](#options) | オプションの設定オブジェクト。`startup()` が受け取るものと同じ型です |

154| `initializeTimeoutMs` | `number` | スペアの初期化を待つ最大時間(ミリ秒)。デフォルトは `60000` です。初期化が時間内に完了しない場合、プロミスはタイムアウトエラーで拒否されます |

155 

156`prewarm()` は、`initializeTimeoutMs` を未設定のままにした場合でも、[Setup](https://code.claude.com/docs/ja/hooks.md#setup) フックに費やされた時間を `initializeTimeoutMs` にカウントします。時間のかかる Setup フックにより多くの時間を与えるには、より長い値を設定してください。

157 

158#### 戻り値

159 

160スペアがクレーム可能な状態になったら解決する `Promise<`[`SpareProcess`](#spareprocess)`>` を返します。

161 

162`options` で `resume`、`continue`、または `forkSession` を指定した場合、プロミスは拒否されます。スペアにはまだセッションがないためです。

163 

164#### スペアの仕組み

165 

166* **スペアが待機する場所:** Claude Code 設定ディレクトリ下のプライベート一時ディレクトリ、または `prewarm()` で `options.cwd` を設定した場合はそのディレクトリです。

167* **[`spawnClaudeCodeProcess`](#options) が別のマシンまたはコンテナで Claude Code を実行する場合:** デフォルトの一時ディレクトリは自分のマシン上に作成されるため、そこに存在する `options.cwd` を `prewarm()` に渡してください。

168* **メモリ:** 各スペアは待機中に約 230 ~ 260 MB を使用します。

169* **`claim()` を呼び出すまで行われないこと:**

170 * `claim()` に渡した作業ディレクトリへの移動

171 * SessionStart フックの実行

172 * stdio MCP サーバーの起動

173 * CLAUDE.md と git コンテキストの読み込み

174* **クレームで変更できないもの:** `mcpServers`、`hooks`、`canUseTool`、`settingSources`、`plugins` などのオプションは、`prewarm()` で指定した値を保持します。クレームで設定できるものは [`SpareProcess`](#spareprocess) に記載されています。

175* **セッションごとにこれらの値を変える必要がある場合:** 値のセットごとに個別のスペアを保持してください。

143 176 

144#### 例177#### 例

145 178 

agent-view.md +5 −3

Details

8 8 

9`claude agents` で開くエージェントビューは、すべてのバックグラウンドセッションの 1 つの画面です。実行中のもの、入力が必要なもの、完了したものが表示されます。新しいセッションをディスパッチし、トランスクリプトをスクロールする代わりに一目でセッションの状態を確認し、セッションが必要とするときだけ介入します。各バックグラウンドセッションは完全な Claude Code の会話であり、ターミナルが接続されていなくてもバックグラウンドで実行し続けるため、いつでも開いて、返信して、去ることができます。9`claude agents` で開くエージェントビューは、すべてのバックグラウンドセッションの 1 つの画面です。実行中のもの、入力が必要なもの、完了したものが表示されます。新しいセッションをディスパッチし、トランスクリプトをスクロールする代わりに一目でセッションの状態を確認し、セッションが必要とするときだけ介入します。各バックグラウンドセッションは完全な Claude Code の会話であり、ターミナルが接続されていなくてもバックグラウンドで実行し続けるため、いつでも開いて、返信して、去ることができます。

10 10 

11![ターミナルのエージェントビュー。上部の行は、入力を待機しているセッション、実行中のセッション、完了したセッションの数をカウントします。4 つのセッションは「入力が必要」、「実行中」、「完了」の下にグループ化されています。各行はセッションの名前、最新のステータスまたは質問、および時間を表示します。下部には新しいタスクを説明するための入力と、キーボードヒントの行があります。](https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/agent-view-light.png?fit=max\&auto=format\&n=HDAmBwgbrZVk0pOt\&q=85\&s=d6905012bee31f3e6b3920b09c05dd02)11![ターミナルのエージェントビュー。上部の行は、入力を待機しているセッション、実行中のセッション、完了したセッションの数をカウントします。4 つのセッションは「入力が必要」、「実行中」、「完了」の下にグループ化されています。各行はセッションの名前、最新のステータスまたは質問、および時間を表示します。下部には新しいタスクを説明するための入力と、キーボードヒントの行があります。](https://mintcdn.com/claude-code/v_J840yKc6uuKDX_/images/agent-view-light.png?fit=max\&auto=format\&n=v_J840yKc6uuKDX_\&q=85\&s=bd95fda83ea66ca8b2e0e7b68f8cb29e)

12 12 

13Claude が複数の独立したタスクに対して、あなたが毎ステップを監視することなく作業できる場合に、エージェントビューを使用します。バグ修正、プルリクエストレビュー、不安定なテストの調査を 3 つの行としてディスパッチし、別のウィンドウで作業を続け、行が入力が必要であることを示すか、結果が得られたときに確認します。13Claude が複数の独立したタスクに対して、あなたが毎ステップを監視することなく作業できる場合に、エージェントビューを使用します。バグ修正、プルリクエストレビュー、不安定なテストの調査を 3 つの行としてディスパッチし、別のウィンドウで作業を続け、行が入力が必要であることを示すか、結果が得られたときに確認します。

14 14 


628 628 

629* エージェントビューは、コミットされていない変更も含めて worktree を削除するため、残しておきたいものは先にコミットしてください。629* エージェントビューは、コミットされていない変更も含めて worktree を削除するため、残しておきたいものは先にコミットしてください。

630* `claude rm` は、コミットされていない変更がある場合、セッションの行と一緒に worktree を保持します。630* `claude rm` は、コミットされていない変更がある場合、セッションの行と一緒に worktree を保持します。

631* エージェントビューも `claude rm` も、別の実行中のセッションが使用中またはロック中の worktree は削除せず、再度削除しても変わりません。Claude Code は worktree とセッションを保持し、保持したディレクトリとその理由を示します。エージェントビューでは、セッションの行に `not deleted` が表示されます。もう一方のセッションを閉じてから、再度削除してください。631* エージェントビューも `claude rm` も、別の実行中のセッションが使用中またはロック中の worktree は削除せず、再度削除しても変わりません。Claude Code は worktree とセッションを保持し、保持したディレクトリとその理由を示します。エージェントビューでは、セッションの行に `not removed` が表示されます。もう一方のセッションを閉じてから、再度削除してください。

632* 他の場所に保存されていることを Claude Code が確認できないコミットが worktree にあるセッションを削除すると、Claude Code は worktree とセッションを保持し、メッセージには worktree のブランチと未プッシュのコミット数が示されます。メッセージには、コミットをプッシュするか、再度削除してコミットを破棄するかの 2 つの対処方法も示されます。632* 他の場所に保存されていることを Claude Code が確認できないコミットが worktree にあるセッションを削除すると、Claude Code は worktree とセッションを保持し、メッセージには worktree のブランチと未プッシュのコミット数が示されます。メッセージには、コミットをプッシュするか、再度削除してコミットを破棄するかの 2 つの対処方法も示されます。

633 633 

634 リモート上のコミットは削除を妨げません。`origin` リモートのデフォルトブランチのローカルコピー上のコミットも、そのブランチがメインチェックアウト(worktree ではなくリポジトリディレクトリ自体)でチェックアウトされている限り、削除を妨げません。634 リモート上のコミットは削除を妨げません。`origin` リモートのデフォルトブランチのローカルコピー上のコミットも、そのブランチがメインチェックアウト(worktree ではなくリポジトリディレクトリ自体)でチェックアウトされている限り、削除を妨げません。


935マシンをシャットダウンまたは再起動すると、実行中のバックグラウンドセッションが停止します。入力を待機していたセッションは、戻ってきたときに `Needs input` の下に留まります。その他の実行中のセッションについては、エージェントビューが表示する内容は、最後に進捗があってからどのくらい前かによって異なります:935マシンをシャットダウンまたは再起動すると、実行中のバックグラウンドセッションが停止します。入力を待機していたセッションは、戻ってきたときに `Needs input` の下に留まります。その他の実行中のセッションについては、エージェントビューが表示する内容は、最後に進捗があってからどのくらい前かによって異なります:

936 936 

937* 48 時間以内の場合、セッションは失敗として表示されます。アタッチまたは返信すると、保存された会話から再開します。中断した作業を再開するには、続行を求める返信を送信してください。937* 48 時間以内の場合、セッションは失敗として表示されます。アタッチまたは返信すると、保存された会話から再開します。中断した作業を再開するには、続行を求める返信を送信してください。

938* 48 時間以上経過した場合(マシンが数日間オフになっていた後など)、セッションは `ended while the background service was off` として停止として表示されます。行で `Enter` を押すと、フッターに `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` が表示されます。同じ行で再度 `Enter` を押して、保存された会話を再開します。返信または `claude attach <id>` でそのフッタープロンプトなしで再開します。938* 48 時間以上経過した場合(マシンが数日間オフになっていた後など)、セッションは `ended while the background service was off` として停止として表示されます。

939 

940 行で `Enter` を押すと、フッターに `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to remove it.` が表示されます。同じ行で再度 `Enter` を押して、保存された会話を再開します。返信または `claude attach <id>` でそのフッタープロンプトなしで再開します。

939 941 

940[トランスクリプトクリーンアップ](https://code.claude.com/docs/ja/settings-reference.md#cleanupperioddays)が停止したセッションの保存された会話を削除した場合、Claude Code は行を開くことを拒否します。メッセージは再開するものがないことを示しています。`claude rm <id>` は行を削除します。ただし、[保持されたケース](#what-deleting-a-session-removes)で説明されている場合を除き、`claude respawn <id>` は元のプロンプトを再度実行します。[このセッションの保存された会話はディスク上にもはやありません](https://code.claude.com/docs/ja/errors.md#this-sessions-saved-conversation-is-no-longer-on-disk)を参照してください。942[トランスクリプトクリーンアップ](https://code.claude.com/docs/ja/settings-reference.md#cleanupperioddays)が停止したセッションの保存された会話を削除した場合、Claude Code は行を開くことを拒否します。メッセージは再開するものがないことを示しています。`claude rm <id>` は行を削除します。ただし、[保持されたケース](#what-deleting-a-session-removes)で説明されている場合を除き、`claude respawn <id>` は元のプロンプトを再度実行します。[このセッションの保存された会話はディスク上にもはやありません](https://code.claude.com/docs/ja/errors.md#this-sessions-saved-conversation-is-no-longer-on-disk)を参照してください。

941 943 

Details

349 349 

350### モデルがセッション中に無効化される場合350### モデルがセッション中に無効化される場合

351 351 

352セッションが実行されているモデルへのアカウントアクセスが失われた場合(例えば、管理者が Amazon Bedrock アカウントでそれを無効化した場合)、Claude Code は各リクエストが失敗する代わりにセッションを別のモデルに切り替え、`Switched to <fallback> because <model> is not available` を表示します。スタートアップフォールバックと同じモデルを試します。同じティアの以前のバージョンを最初に試し、Opus セッションで Opus バージョンが利用できない場合、デフォルト Sonnet モデルを試します。352Amazon Bedrock がセッションのモデルをアカウントで利用できないとして拒否した場合、Claude Code はセッションを別のモデルに切り替えるため、作業を続けられます。`Switched to <fallback> because <model> is not available` で始まるメッセージが表示されます。これは、例えば管理者がモデルを無効化した場合や、最新のモデルがまだアカウントで利用できない場合に発生します。

353 353 

354切り替えは、ピン留めしていないティアにのみ適用されます。これはスタートアップフォールバックと同じ条件です。選択した特定のバージョン、または[アプリケーション推論プロファイル ARN](#map-each-model-version-to-an-inference-profile)でセッションを実行している場合、そのモデルを保持し、フォールバックモデルチェーンがないため、リクエストは失敗します。[auto モード](https://code.claude.com/docs/ja/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry)では、Claude Code は Amazon Bedrock で auto モードがサポートするモデルにのみ切り替えます。それらのモデルも利用できない場合、リクエストは[AWS 認証失敗](https://code.claude.com/docs/ja/errors.md#aws-authentication-failed)で失敗し、モデルを有効にするためのヒントが表示されます。354[フォールバックモデルチェーン](https://code.claude.com/docs/ja/model-config.md#fallback-model-chains)を設定している場合、Claude Code は代わりに設定したフォールバックに切り替えます。チェーンがない場合、次のようなケースではリクエストが失敗します。

355 355 

356設定した[フォールバックモデルチェーン](https://code.claude.com/docs/ja/model-config.md#fallback-model-chains)はティア切り替えを置き換えます。これらの拒否では Claude Code は設定したフォールバックに切り替えます。拒否されたリクエストが切り替わるのではなく失敗するようにするには、[`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/ja/env-vars)を設定してください。設定したフォールバックチェーンはこれらの拒否で切り替わります。すべての拒否されたリクエストが失敗するようにしたい場合は、チェーンも削除してください。356* セッションが、ピン留めされたモデル、選択した特定のバージョン、または[アプリケーション推論プロファイル ARN](#map-each-model-version-to-an-inference-profile) で実行されている

357* [Claude Code が試すモデル](#startup-model-checks)がどれも利用できない。[auto モード](https://code.claude.com/docs/ja/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry)では、Claude Code は Amazon Bedrock で auto モードがサポートするモデルにのみ切り替えます。

358 

359作業を続けるには、セッションで `/model` を実行し、アカウントで使用できるモデル上で `s` を押してください。この操作ではデフォルトは変更されません。`403` は [AWS authentication failed](https://code.claude.com/docs/ja/errors.md#aws-authentication-failed) として表示されます。

360 

361拒否されたリクエストが切り替わるのではなく失敗するようにするには、[`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/ja/env-vars)を設定してください。フォールバックモデルチェーンを設定している場合は、Claude Code が引き続きそのフォールバックに移行するため、チェーンも削除してください。

357 362 

358## クロスリージョン推論プロファイルプレフィックス363## クロスリージョン推論プロファイルプレフィックス

359 364 

Details

222 222 

223各フィールドは散文説明の配列であり、自然言語ルールとして読み込まれます。分類器の前に実行されるツールパターンベースのハードブロックについては、[`permissions.deny`](https://code.claude.com/docs/ja/permissions) を使用します。223各フィールドは散文説明の配列であり、自然言語ルールとして読み込まれます。分類器の前に実行されるツールパターンベースのハードブロックについては、[`permissions.deny`](https://code.claude.com/docs/ja/permissions) を使用します。

224 224 

225> [!NOTE]

226>

227> [Code Mode](https://code.claude.com/docs/ja/code-mode.md#permission-checks) セッションでは、分類器は Claude のコードをレビューする際に `hard_deny` と `soft_deny` を適用し、コードが行う個々のツール呼び出しには適用しません。`permissions.deny` ルールは個々の呼び出しに適用されます。

228 

225分類器内では、優先順位は 4 つのレベルで機能します。229分類器内では、優先順位は 4 つのレベルで機能します。

226 230 

227* `hard_deny` ルールは無条件にブロックします。ユーザーの意図と `allow` 例外は適用されません。231* `hard_deny` ルールは無条件にブロックします。ユーザーの意図と `allow` 例外は適用されません。


283 287 

284デフォルトでは、狭い Bash および PowerShell の許可ルール(`Bash(npm test)` など)はオートモードで有効なままであり、Claude Code は分類器が実行される前にそれらを解決します。ただし、コマンドが [コマンドごとの許可ドメイン](https://code.claude.com/docs/ja/sandboxing.md#per-command-allowed-domains-in-auto-mode) を含む場合は除きます。Claude Code は、`Bash(*)` やワイルドカード化されたインタープリターなどの任意のコード実行を許可する広いルール、および [`Monitor`](https://code.claude.com/docs/ja/tools-reference#monitor-tool) という名前のすべてのルールを一時停止します。Monitor コマンドはシェルを通して実行されるためです。これは、狭いルールが、分類器が見ることなく、破壊的な引数(スクリプトパスやルールのプレフィックスが予想しなかったフラグなど)を通す可能性があることを意味します。288デフォルトでは、狭い Bash および PowerShell の許可ルール(`Bash(npm test)` など)はオートモードで有効なままであり、Claude Code は分類器が実行される前にそれらを解決します。ただし、コマンドが [コマンドごとの許可ドメイン](https://code.claude.com/docs/ja/sandboxing.md#per-command-allowed-domains-in-auto-mode) を含む場合は除きます。Claude Code は、`Bash(*)` やワイルドカード化されたインタープリターなどの任意のコード実行を許可する広いルール、および [`Monitor`](https://code.claude.com/docs/ja/tools-reference#monitor-tool) という名前のすべてのルールを一時停止します。Monitor コマンドはシェルを通して実行されるためです。これは、狭いルールが、分類器が見ることなく、破壊的な引数(スクリプトパスやルールのプレフィックスが予想しなかったフラグなど)を通す可能性があることを意味します。

285 289 

286`autoMode.classifyAllShell` を `true` に設定して、オートモードがアクティブな間、すべての Bash および PowerShell の許可ルールを一時停止し、分類器が許可リストに関係なくすべてのシェルコマンドを評価するようにします。ただし、[重要パスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths) は除きます。290`autoMode.classifyAllShell` を `true` に設定すると、auto モードがアクティブな間、すべての Bash および PowerShell の許可ルールが一時停止され、分類器が許可リストに関係なくすべてのシェルコマンドを評価するようになります。ただし、[重要パスの削除](https://code.claude.com/docs/ja/permission-modes.md#critical-paths) は除きます。[Code Mode](https://code.claude.com/docs/ja/code-mode.md#permission-checks) セッションでは、この設定がオンの場合でも、分類器はコマンドを実行するコードをレビューします。

287 291 

288```json theme={null}292```json theme={null}

289{293{

Details

315 {315 {

316 "matcher": "Edit|Write",316 "matcher": "Edit|Write",

317 "hooks": [317 "hooks": [

318 { "type": "command", "command": "npx prettier --write --ignore-unknown \"$(jq -r '.tool_input.file_path')\"" }318 { "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }

319 ]319 ]

320 }320 }

321 ]321 ]

Details

74| PostgreSQL 11 以降 | デバイスサインインフローとレート制限カウンターをサポートします。最小層を含むマネージド PostgreSQL サービスが利用できます。[サポートされているデータベース](https://code.claude.com/docs/ja/claude-apps-gateway-deploy.md#postgres)を参照してください。[支出制限](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits.md)を使用すると、バックアップする必要がある耐久的な支出、監査、およびアイデンティティテーブルも保持します。`?sslmode=require` 経由の TLS が推奨されます。PostgreSQL 11、12、13 には、ゲートウェイサーバーで Claude Code v2.1.290 以降が必要です。PostgreSQL プロジェクトはこれらのバージョンの保守を終了しているため、可能な場合は新しいバージョンを使用してください。 |74| PostgreSQL 11 以降 | デバイスサインインフローとレート制限カウンターをサポートします。最小層を含むマネージド PostgreSQL サービスが利用できます。[サポートされているデータベース](https://code.claude.com/docs/ja/claude-apps-gateway-deploy.md#postgres)を参照してください。[支出制限](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits.md)を使用すると、バックアップする必要がある耐久的な支出、監査、およびアイデンティティテーブルも保持します。`?sslmode=require` 経由の TLS が推奨されます。PostgreSQL 11、12、13 には、ゲートウェイサーバーで Claude Code v2.1.290 以降が必要です。PostgreSQL プロジェクトはこれらのバージョンの保守を終了しているため、可能な場合は新しいバージョンを使用してください。 |

75| モデルアップストリーム | Amazon Bedrock 認証情報、Claude Platform on AWS 認証情報、Google Cloud 認証情報、Microsoft Foundry リソース、または Anthropic API キー。複数のアップストリームがサポートされ、フェイルオーバーがあります。 |75| モデルアップストリーム | Amazon Bedrock 認証情報、Claude Platform on AWS 認証情報、Google Cloud 認証情報、Microsoft Foundry リソース、または Anthropic API キー。複数のアップストリームがサポートされ、フェイルオーバーがあります。 |

76| HTTPS | ゲートウェイは開発者ラップトップとサインインに使用されるブラウザから `https://` 経由で到達可能である必要があります。ゲートウェイは同じリスナーでデバイス検証ページを提供します。`listen.tls` 経由で TLS 証明書を提供するか、TLS 終了イングレスの背後で実行し、いずれの場合も `listen.public_url` を外部オリジンに設定します。`/login` では、Claude Code はゲートウェイホストがループバック(`localhost`、`127.0.0.1`、または `::1`)の場合にのみプレーン `http://` オリジンを受け入れます。 |76| HTTPS | ゲートウェイは開発者ラップトップとサインインに使用されるブラウザから `https://` 経由で到達可能である必要があります。ゲートウェイは同じリスナーでデバイス検証ページを提供します。`listen.tls` 経由で TLS 証明書を提供するか、TLS 終了イングレスの背後で実行し、いずれの場合も `listen.public_url` を外部オリジンに設定します。`/login` では、Claude Code はゲートウェイホストがループバック(`localhost`、`127.0.0.1`、または `::1`)の場合にのみプレーン `http://` オリジンを受け入れます。 |

77| プライベートネットワークアドレス | `/login` では、Claude Code はゲートウェイのホスト名または IP アドレスがプライベートアドレスのみに解決されることを要求します。RFC 1918、リンクローカル、CGNAT `100.64.0.0/10`、IPv6 ULA `fc00::/7`、またはループバック。ホストするゲートウェイの場合、宣言するブロック外のパブリックアドレスは拒否されます。デプロイガイドの[脅威モデル](https://code.claude.com/docs/ja/claude-apps-gateway-deploy.md#threat-model-summary)を参照してください。開発者マシンが HTTPS を企業プロキシ経由でルーティングする場合、サインインはプロキシホストもプライベートアドレスに解決されることを要求します。そうでない場合は、ゲートウェイホストを `NO_PROXY` に追加して、CLI が直接接続するようにします。内部ネットワークが組織が所有するパブリック IPv4 スペースから番号付けされている場合は、[これらのブロックを宣言](#allow-a-gateway-on-public-address-space-you-own)して、`/login` がそこでゲートウェイを受け入れるようにします。 |77| プライベートネットワークアドレス | `/login` では、Claude Code はゲートウェイのホスト名または IP アドレスがプライベートアドレスのみに解決されることを要求します。プライベートアドレスとは、RFC 1918 およびリンクローカル範囲、CGNAT `100.64.0.0/10`、IPv6 ULA `fc00::/7`、ループバックです。[脅威モデル](https://code.claude.com/docs/ja/claude-apps-gateway-deploy.md#threat-model-summary)を参照してください。内部ネットワークが組織が所有するパブリック IPv4 スペースから番号付けされている場合は、[これらのブロックを宣言](#allow-a-gateway-on-public-address-space-you-own)して、`/login` がそこでゲートウェイを受け入れるようにします。 |

78| Linux ランタイム | ゲートウェイサーバーはネイティブ Linux バイナリでのみ実行されます。macOS はローカル開発用に機能します。Windows はサーバープラットフォームとしてサポートされていません。 |78| Linux ランタイム | ゲートウェイサーバーはネイティブ Linux バイナリでのみ実行されます。macOS はローカル開発用に機能します。Windows はサーバープラットフォームとしてサポートされていません。 |

79 79 

80ゲートウェイホストに `HTTPS_PROXY` または `HTTP_PROXY` が適用される場合、サインインには、ホスト名がプライベートアドレスに解決されるプロキシか、開発者マシンの `NO_PROXY` にゲートウェイホストが含まれていることも必要です。これらのマシンで `no_proxy` も設定している場合は、そこにもゲートウェイホストを追加してください。追加しないと、モデルリクエストは引き続きプロキシを経由します。

81 

80### ステップ82### ステップ

81 83 

82**1. IdP で OAuth クライアントを登録する**84**1. IdP で OAuth クライアントを登録する**

Details

14 14 

15## ファイル構造15## ファイル構造

16 16 

175 つのセクションが[必須](#required-sections)です。その他のセクションはすべて[オプション](#optional-sections)であり、省略されたセクションはデフォルト値を使用します。不明なキーはブート時に失敗するため、タイプミスは設定が無視されるのではなく、名前付きエラーとして表示されます。175 つのセクションが[必須](#required-sections)です。その他のセクションはすべて[オプション](#optional-sections)であり、省略されたセクションはデフォルト値を使用します。

18 18 

19**必須セクション:**19**必須セクション:**

20 20 


517 517 

518Claude Code v2.1.281 以降を実行しているゲートウェイが必要です。[AWS でのコスト帰属](https://code.claude.com/docs/ja/claude-apps-gateway-on-aws.md#cost-attribution)では、IAM ロールと、AWS の請求でセッションがどこに表示されるかを説明しています。518Claude Code v2.1.281 以降を実行しているゲートウェイが必要です。[AWS でのコスト帰属](https://code.claude.com/docs/ja/claude-apps-gateway-on-aws.md#cost-attribution)では、IAM ロールと、AWS の請求でセッションがどこに表示されるかを説明しています。

519 519 

520> [!NOTE]

521>

522> 開発者ごとの帰属を行うには、`aws_bearer_token` を使用するものを除くすべての `bedrock` および [`mantle`](#amazon-bedrock-mantle-endpoint) アップストリームで、`session_name` を指定した `assume_role` を設定してください。`aws_bearer_token` を使用するアップストリームは [`assume_role` を使用できない](#bedrock-in-another-aws-account)ため、そのリクエストは 1 つのプリンシパルのままになります。

523 

520```yaml theme={null}524```yaml theme={null}

521upstreams:525upstreams:

522 - provider: bedrock526 - provider: bedrock


533 537 

534ゲートウェイは、このロールで独自の呼び出しも 1 つ行います。[支出制限](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits.md)を正確に保つための、クライアントが中断したリクエストのトークンカウントです。そのカウントとその [1 トークンのフォールバックリクエスト](#amazon-bedrock)は共有の `claude-apps-gateway` セッションで署名されるため、AWS はフォールバックを開発者ではなく `claude-apps-gateway` に帰属させます。538ゲートウェイは、このロールで独自の呼び出しも 1 つ行います。[支出制限](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits.md)を正確に保つための、クライアントが中断したリクエストのトークンカウントです。そのカウントとその [1 トークンのフォールバックリクエスト](#amazon-bedrock)は共有の `claude-apps-gateway` セッションで署名されるため、AWS はフォールバックを開発者ではなく `claude-apps-gateway` に帰属させます。

535 539 

536厳密な開発者ごとの帰属を行うには、列挙するすべての Bedrock アップストリームで `session_name` 付きの `assume_role` を設定してください。これがないアップストリームは、処理するリクエストに自身の認証情報で署名します。

537 

538#### Amazon Bedrock Mantle エンドポイント540#### Amazon Bedrock Mantle エンドポイント

539 541 

540`mantle` プロバイダーは、Amazon Bedrock の [Mantle エンドポイント](https://code.claude.com/docs/ja/amazon-bedrock.md#use-the-mantle-endpoint)に推論を送信します。ゲートウェイサーバーで Claude Code v2.1.283 以降が必要です。それより前のゲートウェイリリースは起動時にこれを拒否するため、追加する前にすべてのレプリカをアップグレードしてください。542`mantle` プロバイダーは、Amazon Bedrock の [Mantle エンドポイント](https://code.claude.com/docs/ja/amazon-bedrock.md#use-the-mantle-endpoint)に推論を送信します。ゲートウェイサーバーで Claude Code v2.1.283 以降が必要です。それより前のゲートウェイリリースは起動時にこれを拒否するため、追加する前にすべてのレプリカをアップグレードしてください。


654 656 

655| セットアップ | 方法 |657| セットアップ | 方法 |

656| - | - |658| - | - |

657| RBAC | ゲートウェイの ID に、Microsoft Foundry リソースに対する `Azure AI User` または `Cognitive Services User` を付与します |659| RBAC | ゲートウェイの ID に、Microsoft Foundry リソースに対する `Foundry User` または `Cognitive Services User` ロールを付与します |

658| デプロイ | Microsoft Foundry は、正規のモデル ID ではなく管理者が選択したデプロイ名を使用します。各正規 ID をデプロイ名にマッピングする [`models:`](#models) ブロックを追加してください。 |660| デプロイ | Microsoft Foundry は、正規のモデル ID ではなく管理者が選択したデプロイ名を使用します。各正規 ID をデプロイ名にマッピングする [`models:`](#models) ブロックを追加してください。 |

659| AKS(ワークロード ID) | ユーザー割り当てマネージド ID をクラスターの OIDC 発行者とフェデレーションし、ゲートウェイのサービスアカウントにバインドします。`use_azure_ad: true` が `WorkloadIdentityCredential` 経由でそれを取得します。 |661| AKS(ワークロード ID) | ユーザー割り当てマネージド ID をクラスターの OIDC 発行者とフェデレーションし、ゲートウェイのサービスアカウントにバインドします。`use_azure_ad: true` が `WorkloadIdentityCredential` 経由でそれを取得します。 |

660| ACI / App Service | リソースでシステム割り当てまたはユーザー割り当てのマネージド ID を有効にします。`use_azure_ad: true` がそれを取得します。 |662| ACI / App Service | リソースでシステム割り当てまたはユーザー割り当てのマネージド ID を有効にします。`use_azure_ad: true` がそれを取得します。 |


999 1001 

1000`upstream_model` の各キーは、設定された上流の `name` と一致する必要があります。デフォルトはプロバイダー名です。キーが上流と一致しない場合、ブート失敗を引き起こすため、使用しないプロバイダーの行は省略してください。1002`upstream_model` の各キーは、設定された上流の `name` と一致する必要があります。デフォルトはプロバイダー名です。キーが上流と一致しない場合、ブート失敗を引き起こすため、使用しないプロバイダーの行は省略してください。

1001 1003 

1004`auto_include_builtin_models: false` で開発者が `fable` エイリアスを使用できるようにするには、`models` に `claude-fable-5` エントリを追加します。これは、ゲートウェイにサインインした開発者に対して [`fable` エイリアス](https://code.claude.com/docs/ja/model-config#fable-alias-resolution) が解決される ID です。これがないと、メッセージは `API Error: 400 model claude-fable-5 is not in the operator's model allowlist` で始まるエラーで失敗します。

1005 

1002### `managed`1006### `managed`

1003 1007 

1004`managed` ブロックは、IdP グループまたはメールドメインをキーとするロールベースのアクセスポリシーを定義します。ポリシーは順番に評価されます。デフォルトでは最初に一致したポリシーが選択され、`match: {}` のキャッチオールのベースにマージされます。2 つのロールポリシーに一致するユーザーには最初のポリシーのみが適用されるため、[一致するすべてのポリシーを適用](#apply-every-matching-policy)しない限り、2 番目のポリシーの拒否ルールは適用されません。ポリシーは `GET /managed/settings` でユーザーごとに提供され、ETag/304 によるキャッシュが行われます。1008`managed` ブロックは、IdP グループまたはメールドメインをキーとするロールベースのアクセスポリシーを定義します。ポリシーは順番に評価されます。デフォルトでは最初に一致したポリシーが選択され、`match: {}` のキャッチオールのベースにマージされます。2 つのロールポリシーに一致するユーザーには最初のポリシーのみが適用されるため、[一致するすべてのポリシーを適用](#apply-every-matching-policy)しない限り、2 番目のポリシーの拒否ルールは適用されません。ポリシーは `GET /managed/settings` でユーザーごとに提供され、ETag/304 によるキャッシュが行われます。


1023`match: {}` キャッチオール(慣例的に最後にリストされる)は基盤層として扱われます。他のすべてのポリシーは、設定しないキーをキャッチオールから継承するため、ロールごとのエントリは組織のデフォルトと異なる内容のみをリストすれば済みます。マージルールはキータイプに依存します:1027`match: {}` キャッチオール(慣例的に最後にリストされる)は基盤層として扱われます。他のすべてのポリシーは、設定しないキーをキャッチオールから継承するため、ロールごとのエントリは組織のデフォルトと異なる内容のみをリストすれば済みます。マージルールはキータイプに依存します:

1024 1028 

1025* **許可リスト**:`availableModels` と `permissions.allow`。特定のポリシーのリストは基盤のリストを完全に置き換えます。1029* **許可リスト**:`availableModels` と `permissions.allow`。特定のポリシーのリストは基盤のリストを完全に置き換えます。

1026* **拒否リストとフック配列**:`permissions.deny`、`permissions.ask`、`disabledMcpjsonServers`、`deniedMcpServers`、`blockedMarketplaces`、`deniedModels`、およびすべての `hooks` イベントタイプ配列。これらはベースとポリシーの和集合をとるため、組織全体の拒否や監査フックがロールごとの上書きによって誤って失われることはありません。1030* **拒否リストとフック配列**: ベースとポリシーの和集合になります。

1031 * `permissions.deny` と `permissions.ask`

1032 * `disabledMcpjsonServers` と `deniedMcpServers`

1033 * `blockedMarketplaces` と `deniedModels`

1034 * `hooks` のイベントタイプ配列

1027* **レコード型キー**:`env`、`modelOverrides`、`skillOverrides`。これらは浅くマージされるため、ロールごとの `env` ブロックは設定するキーを上書きし、残りを基盤から継承します。1035* **レコード型キー**:`env`、`modelOverrides`、`skillOverrides`。これらは浅くマージされるため、ロールごとの `env` ブロックは設定するキーを上書きし、残りを基盤から継承します。

1028 1036 

1029`availableModels` は `/v1/messages` でサーバー側でも強制されるため、拒否されたモデルはクライアントが送信する内容に関わらず `400` を返します。空のリストはすべてのモデルを拒否します。このチェックは、デベロッパーがモデルを選択する前にセッションが開始するモデルにも適用されるため、[ポリシーが許可するモデルでセッションを開始](#start-sessions-on-a-model-the-policy-allows) してください。1037`availableModels` は `/v1/messages` でサーバー側でも強制されるため、拒否されたモデルはクライアントが送信する内容に関わらず `400` を返します。空のリストはすべてのモデルを拒否します。このチェックは、デベロッパーがモデルを選択する前にセッションが開始するモデルにも適用されるため、[ポリシーが許可するモデルでセッションを開始](#start-sessions-on-a-model-the-policy-allows) してください。


1275 1283 

1276代わりに 1M コンテキストをオフにするには、同じ `env` ブロックで [`CLAUDE_CODE_DISABLE_1M_CONTEXT: "1"`](https://code.claude.com/docs/ja/model-config#extended-context) を設定します。すると Claude Code はすべてのモデルのウィンドウを 200K として扱います。インタラクティブセッションでは、この変数が有効になる前に、各デベロッパーが [承認ダイアログ](#what-goes-in-cli) でこれを承認します。1284代わりに 1M コンテキストをオフにするには、同じ `env` ブロックで [`CLAUDE_CODE_DISABLE_1M_CONTEXT: "1"`](https://code.claude.com/docs/ja/model-config#extended-context) を設定します。すると Claude Code はすべてのモデルのウィンドウを 200K として扱います。インタラクティブセッションでは、この変数が有効になる前に、各デベロッパーが [承認ダイアログ](#what-goes-in-cli) でこれを承認します。

1277 1285 

1286> [!NOTE]

1287>

1288> Claude Code は、コンテキストウィンドウのサイズを決めるためにエイリアスの `upstream_model` を読み取りません。Claude Code が認識しない `models` 内のエイリアスに、そのモデルのウィンドウを与えるには、[ゲートウェイまたはカスタムモデル ID のウィンドウを修正する](https://code.claude.com/docs/ja/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id) を参照してください。

1289 

1278#### 1 時間のプロンプトキャッシュ1290#### 1 時間のプロンプトキャッシュ

1279 1291 

1280デフォルトの 5 分の代わりに 1 時間の [プロンプトキャッシュ TTL](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime) をリクエストするには、ポリシーの既存の [`code`、`cli`、または `settings` ブロック](#choose-cli-or-code) にこれらのキーを追加し、ゲートウェイを再起動します。これらのキーには、ゲートウェイサーバーとクライアントの両方で Claude Code v2.1.242 以降が必要です。1292デフォルトの 5 分の代わりに 1 時間の [プロンプトキャッシュ TTL](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime) をリクエストするには、ポリシーの既存の [`code`、`cli`、または `settings` ブロック](#choose-cli-or-code) にこれらのキーを追加し、ゲートウェイを再起動します。これらのキーには、ゲートウェイサーバーとクライアントの両方で Claude Code v2.1.242 以降が必要です。


1377 1389 

1378##### ゲートウェイがブート時に拒否するもの1390##### ゲートウェイがブート時に拒否するもの

1379 1391 

1380ゲートウェイはブート時に各 `desktop` ブロックを Claude Desktop 自体が使用する設定スキーマに対して検証するため、間違いは接続されたすべてのデスクトップに届くのではなく、ゲートウェイ起動時にキーを示すエラーとして表面化します。ブロックに以下が含まれる場合、ゲートウェイはブート時に失敗します:1392`desktop` ブロックに次のものが含まれていると、ゲートウェイは起動時に失敗します:

1381 1393 

1382* 不明なキー1394* 空の値など、Claude Desktop が拒否するか暗黙的に破棄する値を持つ認識済みのキー。

1383* 空の値やネストされたエントリ内のサブキーのスペルミスなど、Claude Desktop が拒否するか黙って破棄する値を持つ認識済みのキー。v2.1.260 より前では、ゲートウェイは `managedMcpServers` または `orgPluginSettings` エントリのネストされたオブジェクト内のスペルミスのあるフィールドを、ブート時に失敗させずに黙って破棄していました。

1384* ゲートウェイ自身が計算するキー:推論接続、モデルリスト、OTLP リレー。これらは [`upstreams`](#upstreams)、[`models`](#models)、[`telemetry`](#telemetry) セクションの `forward_to` で設定してください。1395* ゲートウェイ自身が計算するキー:推論接続、モデルリスト、OTLP リレー。これらは [`upstreams`](#upstreams)、[`models`](#models)、[`telemetry`](#telemetry) セクションの `forward_to` で設定してください。

1385* 現在のキーのレガシーエイリアス。ブートエラーでは、ゲートウェイは記述すべき正規のキーを示します。1396* 現在のキーのレガシーエイリアス。ブートエラーでは、ゲートウェイは記述すべき正規のキーを示します。

1397* v2.1.300 以降では、セルフホスト型セッションホスト用のキーなど、名前が `selfHosted` で始まるすべてのキー。ゲートウェイを v2.1.300 以降にアップグレードする前に、これらのキーを削除してください。

1386 1398 

1387`transport` のない `managedMcpServers` エントリなど、非推奨の値やエントリ形式を使用した場合、ゲートウェイは起動し、代替を示す警告をログに記録します。1399`transport` のない `managedMcpServers` エントリなど、非推奨の値やエントリ形式を使用した場合、ゲートウェイは起動し、代替を示す警告をログに記録します。

1388 1400 

1389v2.1.232 より前では、ゲートウェイは `chatTabEnabled` や `disableAutoUpdates` など 11 個の機能ゲートキーの固定リストを受け入れ、その他のすべてのキーをブート時に拒否していました。v2.1.227 より前では、ゲートウェイは `chatTabEnabled` と `chatAdvancedFileAnalysisEnabled` もブート時に拒否していました。1401v2.1.232 より前では、ゲートウェイは `chatTabEnabled` や `disableAutoUpdates` など 11 個の機能ゲートキーの固定リストを受け入れ、その他のすべてのキーをブート時に拒否していました。v2.1.227 より前では、ゲートウェイは `chatTabEnabled` と `chatAdvancedFileAnalysisEnabled` もブート時に拒否していました。

1390 1402 

1403##### ゲートウェイが認識しないキー

1404 

1405Claude Code v2.1.295 以降を実行しているゲートウェイでは、新しい Claude Desktop リリースのほとんどのキーはゲートウェイのアップグレードを必要としません。v2.1.321 以降では、既知のキー内のほとんどの新しいサブキーも同様です。

1406 

1407一部のキーと値は、次のように引き続き起動時に失敗します:

1408 

1409* 既知のキーの固定値リストにおける新しい選択肢。

1410* `disableAutoUpdates` に対する `disable_auto_updates` など、`desktop` ブロックで設定できるキーのタイプミスと思われるもの。エラーで名前が提案されます。

1411 

1412いずれの場合も、その名前または値が新しい Claude Desktop リリースで実在するものであれば、[ゲートウェイを最新リリースにアップグレード](https://code.claude.com/docs/ja/claude-apps-gateway-deploy.md#upgrades)してください。そうでなければ、修正または削除してください。デプロイ前に確認するには、[ポリシーをテスト](#test-a-policy-before-deployment)してください。

1413 

1391##### より新しいゲートウェイまたは Claude Desktop のバージョンが必要なキー1414##### より新しいゲートウェイまたは Claude Desktop のバージョンが必要なキー

1392 1415 

1393ゲートウェイは `cli` ブロックと同様に、インストール済みバージョンにバンドルされたスキーマに対して `desktop` ブロックを検証します。新しい Claude Desktop リリースで導入された設定を配信するには、まずゲートウェイをアップグレードしてください。例えば、`userPluginMarketplacesEnabled` と `userPluginUploadsEnabled` には、ゲートウェイサーバー上の Claude Code v2.1.260 以降と、メンバーのマシン上の Claude Desktop 1.37937.0 以降が必要です。1416`userPluginMarketplacesEnabled` と `userPluginUploadsEnabled` には、ゲートウェイサーバーで Claude Code v2.1.260 以降、メンバーのマシンで Claude Desktop 1.37937.0 以降が必要です。

1394 1417 

1395`blockReadsOutsideWorkingDirectories`、`disableBypassPermissionsMode`、`configRecheckIntervalMinutes`、`sshClientPath` には、ゲートウェイサーバー上の Claude Code v2.1.281 以降が必要です。`microsoftAuthBroker` の `required` 値と、Microsoft 365 `managedMcpServers` エントリの `continuousAccessEvaluation` フィールドも同様です。`required` 値より前の Claude Desktop リリースはそれを `disabled` として読み取るため、すべてのメンバーの Claude Desktop がサポートしてから `required` を設定してください。Claude Desktop の [管理設定リファレンス](https://claude.com/docs/third-party/claude-desktop/configuration) には、各キーを最初に読み取るリリースがリストされています。1418`blockReadsOutsideWorkingDirectories`、`disableBypassPermissionsMode`、`configRecheckIntervalMinutes`、`sshClientPath` には、ゲートウェイサーバー上の Claude Code v2.1.281 以降が必要です。`microsoftAuthBroker` の `required` 値と、Microsoft 365 `managedMcpServers` エントリの `continuousAccessEvaluation` フィールドも同様です。`required` 値より前の Claude Desktop リリースはそれを `disabled` として読み取るため、すべてのメンバーの Claude Desktop がサポートしてから `required` を設定してください。Claude Desktop の [管理設定リファレンス](https://claude.com/docs/third-party/claude-desktop/configuration) には、各キーを最初に読み取るリリースがリストされています。

1396 1419 

Details

92 92 

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

94 94 

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

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

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

98 98 

Details

189 189 

190```190```

191Sent to cloud session.191Sent to cloud session.

192Session ID: session_01DiUkqY2kzbUbDmW1w96rfi192Session ID: session_01HJKLMNOPQRSTUVWXYZ

193View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0193View: https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ?from=cli&m=0

194```194```

195 195 

196機械可読な結果を得るには `--output-format json` を渡します。成功時は `{ok, session_id, url}`、送信に失敗した場合(セッションが存在しない、またはアーカイブされている場合など)は `{ok: false, session_id, error}` が返されます。サポートされていないプロバイダーや無効化された組織ポリシーなどの設定エラーは、JSON なしで stderr に出力されます。`--output-format stream-json` は `--cloud <session-id>` ではサポートされていません。196機械可読な結果を得るには `--output-format json` を渡します。成功時は `{ok, session_id, url}`、送信に失敗した場合(セッションが存在しない、またはアーカイブされている場合など)は `{ok: false, session_id, error}` が返されます。サポートされていないプロバイダーや無効化された組織ポリシーなどの設定エラーは、JSON なしで stderr に出力されます。`--output-format stream-json` は `--cloud <session-id>` ではサポートされていません。

Details

274 274 

275スレッドは[自動モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)で実行されるため、Claude はそのフォルダー内のコマンドを実行し、毎回あなたに尋ねることなくファイルを編集します。自動モードがそのコンピューターの Claude Code で利用できないか、オフになっている場合、スレッドはそれなしで実行され、発生するすべての権限プロンプトは、[承認を待機しているスレッドのブロックを解除する](#unblock-a-thread-waiting-on-approval)が説明するように、スレッドであなたの答えを待ちます。275スレッドは[自動モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)で実行されるため、Claude はそのフォルダー内のコマンドを実行し、毎回あなたに尋ねることなくファイルを編集します。自動モードがそのコンピューターの Claude Code で利用できないか、オフになっている場合、スレッドはそれなしで実行され、発生するすべての権限プロンプトは、[承認を待機しているスレッドのブロックを解除する](#unblock-a-thread-waiting-on-approval)が説明するように、スレッドであなたの答えを待ちます。

276 276 

277別のモードでスレッドを実行するには、[`--settings`](https://code.claude.com/docs/ja/remote-control#start-a-remote-control-session) を付けて `claude remote-control` を開始します。そのうえで、そのファイルまたはそのコンピューターの設定にある [`permissions.defaultMode`](https://code.claude.com/docs/ja/permission-modes#start-in-a-different-mode) で別のモードを選択できます。

278 

277スレッドが実行されている間、ヘッダーのラップトップアイコンはコンピューターが接続されているかどうかを示します。クリックしてスレッドが使用しているフォルダーを確認するか、接続をオフにします。そのコンピューターがスリープ状態の間、スレッドは一時停止し、デスクトップアプリまたは `claude remote-control` が終了すると停止します。279スレッドが実行されている間、ヘッダーのラップトップアイコンはコンピューターが接続されているかどうかを示します。クリックしてスレッドが使用しているフォルダーを確認するか、接続をオフにします。そのコンピューターがスリープ状態の間、スレッドは一時停止し、デスクトップアプリまたは `claude remote-control` が終了すると停止します。

278 280 

279* **スレッドを再開するには**:[フォルダーとの接続を失った](#lost-contact-with-your-folder)を参照してください281* **スレッドを再開するには**:[フォルダーとの接続を失った](#lost-contact-with-your-folder)を参照してください

code-mode.md +224 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Code Mode でコードからツール呼び出しを実行する

6 

7> Claude が 1 ステップで複数のツール呼び出しを行う JavaScript を書く実験的機能、Code Mode を試します。

8 

9Code Mode は、Claude が[ツール](https://code.claude.com/docs/ja/tools-reference.md)を使う方法を変更します。Code Mode がない場合、Claude は Bash、Read、Edit などのツール呼び出しを直接要求し、次に何をするかを決める前にそれぞれの結果を読みます。Code Mode では、Claude がツール呼び出しを行う JavaScript のコードを書き、Claude Code がそのコードをセッション内で実行します。

10 

11> [!NOTE]

12>

13> Code Mode は実験的な機能で、デフォルトではオフになっています。どのリリースでも変更または削除される可能性があります。フィードバックを送るには、`/feedback` を実行してください。

14 

15## Code Mode の仕組み

16 

17Code Mode のセッションでも、タスクはこれまでどおりプロンプトで説明し、Claude がそれを実行するための JavaScript を書きます。1 つのコードで、コマンドを並列に実行し、ある結果を次の呼び出しで使い、出力のうち Claude が読む必要のある部分を返すことができます。

18 

19たとえば、再試行の上限を引き上げるよう Claude に依頼すると、Claude はファイルを見つけて編集し、テストを実行するために次のようなコードを書くことがあります。最後の行で、ファイルのパスとテストの出力を Claude に返します。

20 

21```javascript theme={null}

22const files = await $`rg -l "function retryPolicy" src`.text();

23const target = files.trim().split("\n")[0];

24await edit(target, "maxAttempts: 3", "maxAttempts: 5");

25({ edited: target, tests: $`npm test -- retryPolicy`.nothrow() });

26```

27 

28会話には、編集の差分などのツール呼び出しが表示され、コードは表示されません。コードを読むには、`Ctrl+O` を押して[トランスクリプトビューア](https://code.claude.com/docs/ja/interactive-mode.md#transcript-viewer)を開きます。各コードはそこで折りたたまれた **Code** 行として表示され、展開方法のヒントが添えられています。

29 

30### Code Mode を使う場面

31 

32Code Mode は、関連する多数のツール呼び出しを必要とするタスクで試してください。たとえば次のようなものです。

33 

34* 多くのファイルにわたって繰り返される変更

35* Claude が読む前に結果を絞り込む必要がある検索

36* 同時に実行できる複数の独立したコマンド

37 

38### Code Mode の制限事項

39 

40Code Mode をオンにする前に、次の制限を受け入れられるか確認してください。

41 

42* **再開**: Code Mode のセッションは、ターミナルで Code Mode をオンにした状態でのみ再開できます

43* **auto モード**: auto モードの分類器は、[各ツール呼び出しではなくコードをレビューします](#permission-checks)

44* **長時間実行されるコード**: [コードをバックグラウンドで実行できる](#long-running-code)場合を除き、完了するまで待つ必要があり、コードは 10 分後に停止します

45* **フック**: `PreToolUse` フックが実行できない場合やタイムアウトした場合に[ツール呼び出しが拒否される](#tool-call-refused-by-a-hook)ことがあり、`UserPromptSubmit` フックによって[コードの出力がブロックされる](#code-output-withheld-by-a-hook)ことがあります

46* **利用できない機能**: [Remote Control](https://code.claude.com/docs/ja/remote-control.md)、[Claude in Chrome](https://code.claude.com/docs/ja/chrome.md)、[computer use](https://code.claude.com/docs/ja/computer-use.md) は使用できません

47* **セッションの移動**: セッションを Desktop アプリに移動したり、[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)に変えたりすることはできず、`/fork` でバックグラウンドのコピーを開始することもできません

48 

49## 要件

50 

51* **バージョン**: Claude Code v2.1.323 以降(どちらの[リリースチャネル](https://code.claude.com/docs/ja/setup.md#configure-release-channel)でも可)。古いバージョンでは、理由 `it isn't open to your account yet` の表示の有無にかかわらず、Code Mode なしで起動します

52* **アカウント**: Claude のサブスクリプションまたは Console アカウント。ゲートウェイ、Amazon Bedrock、Claude Platform on AWS、Google Cloud の Agent Platform、Microsoft Foundry を経由して Code Mode を使うことはできません

53* **組織**: 組織が [HIPAA 構成](https://code.claude.com/docs/ja/hipaa-setup.md)や[ゼロデータ保持](https://code.claude.com/docs/ja/zero-data-retention.md)を使用していないこと

54* **モデル**: Claude Opus 5.5、Sonnet 5.5、Haiku 5.5、または Fable 5.2

55* **サーフェス**: ターミナルでの対話型の `claude` セッション。Code Mode は `-p`、Agent SDK、VS Code パネル、Desktop アプリ、クラウドセッションでは動作しません

56* **インストール**: Claude Code の[ネイティブビルド](https://code.claude.com/docs/ja/setup.md)

57* **Windows**: [Git for Windows](https://git-scm.com/downloads/win) がインストールされていること

58 

59また、API キーヘルパー、エージェントチーム、OpenTelemetry エクスポート、`DISABLE_TELEMETRY` など、一部の設定がオンになっている場合も Code Mode を開始できません。それぞれの対処方法については、[Code Mode が起動しない](#code-mode-doesnt-start)を参照してください。

60 

61## Code Mode を試す

62 

63Code Mode をオンにして Claude にタスクを与え、Claude が書いたコードを確認します。

64 

65**1. バージョンを確認する**

66 

67`claude --version` を実行します。バージョンが v2.1.323 より古い場合は、`claude update` を実行します。`stable` チャネルを使用していて、更新しても v2.1.323 に達しない場合は、`stable` が追いつくのを待つか、[`latest` に切り替えてください](https://code.claude.com/docs/ja/setup#configure-release-channel)。

68 

69**2. Code Mode をオンにして Claude Code を起動する**

70 

71環境変数 [`CLAUDE_CODE_EXPERIMENTAL_CODE_MODE`](https://code.claude.com/docs/ja/env-vars#variables) を `1` に設定します。Code Mode を試すには、シェルで設定します。すべての新しいセッションで Code Mode をオンにするには、ユーザー設定で設定します。

72 

73> [tab] macOS, Linux, WSL

74>

75> ```bash theme={null}

76> CLAUDE_CODE_EXPERIMENTAL_CODE_MODE=1 claude

77> ```

78 

79> [tab] Windows PowerShell

80>

81> ```powershell theme={null}

82> $env:CLAUDE_CODE_EXPERIMENTAL_CODE_MODE = "1"

83> claude

84> ```

85 

86> [tab] settings.json

87>

88> この `env` ブロックを `~/.claude/settings.json` に保存し、`claude` を起動します。

89>

90> ```json theme={null}

91> {

92> "env": {

93> "CLAUDE_CODE_EXPERIMENTAL_CODE_MODE": "1"

94> }

95> }

96> ```

97>

98> Claude Code は[プロジェクトの設定ファイル内のこの変数を無視する](https://code.claude.com/docs/ja/settings-reference.md#variables-claude-code-ignores-in-env)ため、クローンしたリポジトリが勝手に Code Mode をオンにすることはできません。

99 

100**3. Code Mode を使うことを確認する**

101 

102Claude Code は、最初の Code Mode セッションの前に確認を求めます。**Yes, turn on Code Mode** を選択します。Claude Code が再起動し、セッションの上部付近に次の行が表示されます。

103 

104```text theme={null}

105Code Mode (experimental) is on · this session can be resumed only with Code Mode on

106```

107 

108別の行が表示された場合や何も表示されない場合は、[Code Mode が起動しない](#code-mode-doesnt-start)を参照してください。

109 

110**4. 多数のツール呼び出しを必要とするタスクを Claude に与える**

111 

112よく知っているプロジェクトで、次のようなプロンプトを送信します。

113 

114```text theme={null}

115Read every Markdown file in this project and list the links that point to local files that don't exist.

116```

117 

118**5. Claude が書いたコードを読む**

119 

120`Ctrl+O` を押して **Code** 行を展開すると、ツール呼び出しの背後にある JavaScript を確認できます。会話に戻るには、もう一度 `Ctrl+O` を押します。

121 

122> [!WARNING]

123>

124> 後で Code Mode のセッションを再開するには、`claude --continue` または `claude --resume` を実行するときに `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` を `1` に設定したままにしてください。Code Mode がオフの場合、Claude Code はセッションの再開を拒否します。Code Mode なしで開始したセッションは、変数が設定されていても Code Mode なしで再開されます。

125 

126### Code Mode をオフにする

127 

128シェルと `~/.claude/settings.json` から `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` を削除し、新しいセッションを開始します。変数を残したまま、どちらかの場所でその値を `0` に変更することもできます。一方の場所に `0` があれば、もう一方で `1` を設定していても Code Mode はオフのままです。

129 

130### 組織で Code Mode をブロックする

131 

132組織内の誰も Code Mode を使えないようにするには、[管理設定](https://code.claude.com/docs/ja/managed-settings.md)に値 `0` の `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` を追加します。

133 

134```json theme={null}

135{

136 "env": {

137 "CLAUDE_CODE_EXPERIMENTAL_CODE_MODE": "0"

138 }

139}

140```

141 

142Code Mode のセッション中のユーザーは、Claude Code を終了または再起動するまでそのセッションにとどまります。その後、ユーザーは Code Mode なしで起動し、`0` が設定されている間は Code Mode のセッションを再開できません。管理設定からユーザーに対して Code Mode をオンにすることはできません。

143 

144## 権限と長時間実行されるコード

145 

146権限モードによって、Claude のコードがどのようにチェックされるか、またコードの実行中に Claude と会話できるかどうかが決まります。

147 

148### 権限チェック

149 

150Claude のコードが行う各ツール呼び出しは、`deny` と `ask` の[権限ルール](https://code.claude.com/docs/ja/permissions.md)および [`PreToolUse` フック](https://code.claude.com/docs/ja/hooks#pretooluse)を通過します。`Bash` などのツールのルールや matcher を変更する必要はありません。ルールとフックに加えて、auto モードでは分類器がコードをレビューし、確認を求めるモードではプロンプトに応答します。

151 

152* **[auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)**: 分類器は、各ツール呼び出しではなく、実行前の各コードをレビューします。検索出力から取得したパスなど、実行時に計算される値は分類器には見えないため、制御する必要がある呼び出しにはルールやフックを残しておいてください。それでも、[以前のコードの実行中に新しいコードが開始されると、プロンプトが表示される](#permission-prompt-with-a-countdown)ことがあります

153* **その他の[権限モード](https://code.claude.com/docs/ja/permission-modes.md)**: コードはレビューなしで開始され、そのモードでプロンプトが表示されるツール呼び出しごとにプロンプトが表示されます

154 

155コード自体をチェックするには、Claude のコードを実行するツールである `REPL` にマッチする `PreToolUse` フックを書き、`tool_input.code` から JavaScript を読み取ります。

156 

157> [!WARNING]

158>

159> Bash ルールはコマンドのテキストにマッチするため、Code Mode の有無にかかわらず、Claude は拒否されたコマンドを[ルールにマッチしない形式で](https://code.claude.com/docs/ja/permissions.md#bash-rule-limits)実行できます。コマンドのテキストに依存しない制限については、[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md)を参照してください。

160 

161### 長時間実行されるコード

162 

163コードが長時間のビルドやテストを実行している間、Claude はその完了を待つか、バックグラウンドで続行させます。

164 

165* **待機**: Claude はコードの完了後に応答し、コードは 10 分後に停止します(権限プロンプトで費やした時間を含みます)

166* **バックグラウンド**: Claude との会話を続けることができ、コードは最大 2 時間実行できます

167 

168バックグラウンドでコードを実行するには、auto モードまたは `bypassPermissions` モードでセッションを開始します。それでも Claude が待機する場合は、現在のモードとセッションの開始方法を確認してください。

169 

170* **別のモードに切り替えた場合**: 開始時のモードに戻るまで `Shift+Tab` を押します

171* **別のモードで開始した場合、または `claude --resume` のリストからセッションを選択した場合**: [auto モードが利用できる](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)場合は、終了してから、Code Mode をオンにした状態で `claude --continue --permission-mode auto` を実行します

172* **`--tools` にツール名を渡した場合**: そのフラグなしで auto モードで再度起動します

173 

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

175 

176### Code Mode が起動しない

177 

178セッションの上部付近に `Code Mode (experimental) isn't available` と表示される場合、Claude Code は Code Mode なしで起動しています。理由は同じ行に続けて表示され、`/status` にも表示されます。次の表で理由を見つけて変更を行い、新しいセッションを開始してください。表にない理由の場合は、[要件](#requirements)を確認してください。

179 

180| 理由に含まれる文字列 | 対処方法 |

181| :- | :- |

182| `it isn't open to your account yet` | バージョンが v2.1.323 より古い場合は、[更新](#try-code-mode)してください。それ以外の場合は、ネットワーク接続を確認して再度起動してください。理由が変わらない場合は、別の日に再試行してください |

183| `it only works with the Anthropic API` | クラウドプロバイダー、ゲートウェイ、またはカスタムの `ANTHROPIC_BASE_URL` を経由してリクエストをルーティングする設定を削除してください |

184| `it doesn't work with an API key helper` | `apiKeyHelper`、`ANTHROPIC_AUTH_TOKEN`、および `ANTHROPIC_CUSTOM_HEADERS` 内の `Authorization` または `X-Api-Key` ヘッダーを削除してください。その後、サインインするか `ANTHROPIC_API_KEY` を設定してください |

185| `it only works with Opus 5.5, Sonnet 5.5 and later models` | [サポートされているモデル](#requirements)で起動してください(例: `--model opus`)。Haiku 5.5 と Fable 5.2 も動作します |

186| `it doesn't work in background jobs` | `--remote-control` なしでフォアグラウンドで起動してください |

187| `it needs settings that Claude Code downloads from Anthropic` | `DISABLE_TELEMETRY` など、[機能フラグの取得をオフにする](https://code.claude.com/docs/ja/env-vars.md#features-that-need-feature-flag-fetching)変数の設定を解除してください |

188| `OpenTelemetry is on` | [OpenTelemetry エクスポート](https://code.claude.com/docs/ja/monitoring-usage.md)なしで作業できる場合は、`CLAUDE_CODE_ENABLE_TELEMETRY` と `ENABLE_BETA_TRACING_DETAILED` の設定を解除してください |

189| `it doesn't yet work with an installed mod` | ツール呼び出しをチェックする [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) をオフにしてください |

190| `it can't be used together with agent teams yet` | `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` の設定を解除してください |

191| `this launch's tool options` | `--restricted` なしで起動し、`--tools` に `REPL` を追加して、`--disallowedTools` と `deny` ルールから `REPL` を削除してください |

192| `couldn't save your answer` | `~/.claude.json` を書き込み可能にしてください |

193| `your organization's settings don't allow it` | [管理設定](#block-code-mode-for-your-organization)について管理者に問い合わせてください |

194 

195Code Mode に関する行が何も表示されない場合は、`claude --version` を実行します。バージョンが v2.1.323 より古い場合は更新してください。その後、シェルまたはユーザー設定で `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` が `1` になっていることを確認し、それらの場所と `--settings` ファイルから `0` をすべて削除してください。

196 

197### カウントダウン付きの権限プロンプト

198 

199auto モードで、以前のコードがまだ実行中のときに Claude がさらにコードを開始すると、以前のコードは分類器によるレビューを失います。Claude Code は、以前のコードの残りの呼び出しのうちレビューが必要になるものについて確認を求めます。IDE が接続されていない場合、プロンプトにはカウントダウンが表示されます。

200 

201```text theme={null}

202Claude Code will automatically block this request in 1:59, to avoid holding up an unattended session

203```

204 

205カウントダウンが終わる前に応答してください。応答しない場合、その呼び出しは拒否され、カウントダウンが表示されるはずの以降の呼び出しもプロンプトなしで拒否されます。再びプロンプトを表示するには、Claude にメッセージを送信してください。

206 

207### フックによってツール呼び出しが拒否された

208 

209Claude がツール呼び出しの拒否を報告した場合は、エラーテキストを尋ねてください。次のエラーは、`PreToolUse` フックが判定を返さなかったことを意味し、[`onFailure`](https://code.claude.com/docs/ja/hooks#block-the-action-when-a-hook-fails) が設定されていない場合でも呼び出しは拒否されます。

210 

211* **`the hook failed`**: Claude のコードからの呼び出しで、フックが開始できなかった、強制終了された、126、127、または 128 を超えるコードで終了した、あるいは HTTP エラーや無効な出力を返しました。フックを修正してください

212* **`the hook did not finish`**: Claude のコードからの呼び出し、または Claude がセッション内でコードを実行した後のその他のツール呼び出しで、フックがタイムアウトしました。フックの [`timeout`](https://code.claude.com/docs/ja/hooks#common-fields) を引き上げてください

213 

214`command` または `http` フックが失敗またはタイムアウトしたときに呼び出しを続行させるには、そのフックに `"onFailure": "continue"` を設定します。`command` フックが 1 などの通常のコードで終了した場合、`"onFailure": "block"` を設定した場合を除き、呼び出しは続行されます。

215 

216### フックによってコードの出力が保留された

217 

218Claude のコードからの出力を期待していたところで Claude がフックのブロック理由を報告した場合は、[`UserPromptSubmit`](https://code.claude.com/docs/ja/hooks#userpromptsubmit) フックを確認してください。[コードをバックグラウンドで実行できる](#long-running-code)場合、そのイベントの `command`、`http`、`mcp_tool` フックはコードの出力に対しても実行されます。出力を通過させるには、入力の `source` が `poll_event` のときにブロックしないようにフックを変更してください。

219 

220## 関連リソース

221 

222* [権限モード](https://code.claude.com/docs/ja/permission-modes.md): auto モードとプロンプトを表示するモードを比較する

223* [フックリファレンス](https://code.claude.com/docs/ja/hooks.md): `PreToolUse` フックと `UserPromptSubmit` フックを書く

224* [管理設定](https://code.claude.com/docs/ja/managed-settings.md): 1 つの設定を組織全体に適用する

commands.md +3 −5

Details

35以下の表は、Claude Code に含まれるすべてのコマンドを一覧にしています。ほとんどは組み込みコマンドで、その動作は CLI にコード化されています。2 種類のエントリが標記されています:35以下の表は、Claude Code に含まれるすべてのコマンドを一覧にしています。ほとんどは組み込みコマンドで、その動作は CLI にコード化されています。2 種類のエントリが標記されています:

36 36 

37* **[Skill](https://code.claude.com/docs/ja/skills.md#bundled-skills)**: バンドルスキル。自分で書くスキルと同じように機能します:Claude に渡されるプロンプトです。37* **[Skill](https://code.claude.com/docs/ja/skills.md#bundled-skills)**: バンドルスキル。自分で書くスキルと同じように機能します:Claude に渡されるプロンプトです。

38 * `/verify` は呼び出したときのみ実行されます。

39* **[Workflow](https://code.claude.com/docs/ja/workflows.md#bundled-workflows)**: バンドルされた[動的ワークフロー](https://code.claude.com/docs/ja/workflows.md)で、多くのサブエージェントに作業を展開し、バックグラウンドで実行されます。38* **[Workflow](https://code.claude.com/docs/ja/workflows.md#bundled-workflows)**: バンドルされた[動的ワークフロー](https://code.claude.com/docs/ja/workflows.md)で、多くのサブエージェントに作業を展開し、バックグラウンドで実行されます。

40 * `/deep-research` は呼び出したときのみ実行されます。

41 39 

42独自のコマンドを追加するには、[スキル](https://code.claude.com/docs/ja/skills.md)を参照してください。40独自のコマンドを追加するには、[スキル](https://code.claude.com/docs/ja/skills.md)を参照してください。

43 41 


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

150| `/status` | 設定インターフェイスを Status タブで開き、バージョン、モデル、アカウント、接続性を表示します。`Session kind` 行は、[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)ではターミナルがアタッチされているかどうかに応じて `background job · attached` または `background job · unattended` と表示され、その他のセッションでは `interactive` と表示されます。v2.1.221 より前は、`/status` はこの行を表示しませんでした。Claude が応答している間も機能します |148| `/status` | 設定インターフェイスを Status タブで開き、バージョン、モデル、アカウント、接続性を表示します。`Session kind` 行は、[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)ではターミナルがアタッチされているかどうかに応じて `background job · attached` または `background job · unattended` と表示され、その他のセッションでは `interactive` と表示されます。v2.1.221 より前は、`/status` はこの行を表示しませんでした。Claude が応答している間も機能します |

151| `/statusline` | Claude Code の[ステータスライン](https://code.claude.com/docs/ja/statusline.md)を設定します。何をしたいかを説明するか、引数なしで実行してシェルプロンプトから自動設定します |149| `/statusline` | Claude Code の[ステータスライン](https://code.claude.com/docs/ja/statusline.md)を設定します。何をしたいかを説明するか、引数なしで実行してシェルプロンプトから自動設定します |

152| `/stickers` | Claude Code ステッカーを注文します |150| `/stickers` | Claude Code ステッカーの入手可否を確認します |

153| `/stop` | アタッチしている[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)、または[ピーク返信](https://code.claude.com/docs/ja/agent-view.md#peek-and-reply)として送信した先のセッションを停止します。トランスクリプトと worktree は保持されます。停止せずにデタッチするには、`/exit` を使用するか、`←` を押します |151| `/stop` | アタッチしている[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)、または[ピーク返信](https://code.claude.com/docs/ja/agent-view.md#peek-and-reply)として送信した先のセッションを停止します。トランスクリプトと worktree は保持されます。停止せずにデタッチするには、`/exit` を使用するか、`←` を押します |

154| `/subtask <task>` | [フォークされたサブエージェント](https://code.claude.com/docs/ja/sub-agents.md#fork-the-current-conversation)を生成します:完全な会話を継承し、ユーザーが作業を続けている間にタスクに取り組むバックグラウンドサブエージェントです。その結果は完了時にこの会話に戻ります。代わりに会話を別のバックグラウンドセッションにコピーするには、`/fork` を使用します。[agent view がオフ](https://code.claude.com/docs/ja/agent-view.md#turn-off-agent-view)になっている場合、`/subtask` は利用できず、代わりに `/fork` がフォークされたサブエージェントを生成します |152| `/subtask <task>` | [フォークされたサブエージェント](https://code.claude.com/docs/ja/sub-agents.md#fork-the-current-conversation)を生成します:完全な会話を継承し、ユーザーが作業を続けている間にタスクに取り組むバックグラウンドサブエージェントです。その結果は完了時にこの会話に戻ります。代わりに会話を別のバックグラウンドセッションにコピーするには、`/fork` を使用します。[agent view がオフ](https://code.claude.com/docs/ja/agent-view.md#turn-off-agent-view)になっている場合、`/subtask` は利用できず、代わりに `/fork` がフォークされたサブエージェントを生成します |

155| `/tasks` | 完了したサブエージェントを含む、現在のセッションのバックグラウンド作業を表示および管理します。`/bashes` としても利用可能です |153| `/tasks` | 完了したサブエージェントを含む、現在のセッションのバックグラウンド作業を表示および管理します。`/bashes` としても利用可能です |


161| `/ultraplan <prompt>` | 削除されました。代わりに [plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)を使用してください。以前は計画タスクを[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)に送信してブラウザで確認しました |159| `/ultraplan <prompt>` | 削除されました。代わりに [plan モード](https://code.claude.com/docs/ja/permission-modes.md#analyze-before-you-edit-with-plan-mode)を使用してください。以前は計画タスクを[クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md)に送信してブラウザで確認しました |

162| `/ultrareview [PR or branch]` | [ultrareview](https://code.claude.com/docs/ja/ultrareview.md) を使用してクラウドサンドボックスでディープなマルチエージェントコードレビューを実行します。PR リファレンスを渡してそのプルリクエストをレビューするか、ベースブランチまたはコミットを渡して比較ベースを変更します。推奨される呼び出しは `/code-review ultra` で、`/ultrareview` はエイリアスです。Pro、Max、Ultra で 3 回の無料実行が含まれ、その後は[使用クレジット](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)が必要です |160| `/ultrareview [PR or branch]` | [ultrareview](https://code.claude.com/docs/ja/ultrareview.md) を使用してクラウドサンドボックスでディープなマルチエージェントコードレビューを実行します。PR リファレンスを渡してそのプルリクエストをレビューするか、ベースブランチまたはコミットを渡して比較ベースを変更します。推奨される呼び出しは `/code-review ultra` で、`/ultrareview` はエイリアスです。Pro、Max、Ultra で 3 回の無料実行が含まれ、その後は[使用クレジット](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans)が必要です |

163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/ja/skills.md#bundled-skills).** コマンドを許可する、環境変数を設定する、[フック](https://code.claude.com/docs/ja/hooks.md)を追加するなどの設定変更を説明すると、Claude は該当する [`settings.json`](https://code.claude.com/docs/ja/settings) ファイルを編集します。テーマやモデルなどのオプションについては、代わりに `/config` を使用してください |161| `/update-config [request]` | **[Skill](https://code.claude.com/docs/ja/skills.md#bundled-skills).** コマンドを許可する、環境変数を設定する、[フック](https://code.claude.com/docs/ja/hooks.md)を追加するなどの設定変更を説明すると、Claude は該当する [`settings.json`](https://code.claude.com/docs/ja/settings) ファイルを編集します。テーマやモデルなどのオプションについては、代わりに `/config` を使用してください |

164| `/upgrade` | ブラウザでアップグレードページを開いて、より上位のプランティアに切り替えます。ブラウザが開かない場合、コマンドは URL を出力せずにサインインプロンプトを表示します |162| `/upgrade` | ブラウザでアップグレードページを開いて、より上位のプランティアに切り替えます。SSH 経由など、ブラウザでページを開けない場合、コマンドはサインインプロンプトの上にページの URL を出力します。URL の出力には Claude Code v2.1.323 以降が必要です |

165| `/usage` | セッションコスト、プランの使用制限、アクティビティ統計を表示します。Pro、Max、Ultra、Team、または Enterprise プランでは、[プラン制限に対してカウントされるもの](https://code.claude.com/docs/ja/costs.md#plan-usage-breakdown)の内訳が含まれます。支出を追跡する Claude apps gateway を経由している場合は、[ゲートウェイ経由の支出](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code)を表示します。`/cost` と `/stats` はエイリアスです |163| `/usage` | セッションコスト、プランの使用制限、アクティビティ統計を表示します。Pro、Max、Ultra、Team、または Enterprise プランでは、[プラン制限に対してカウントされるもの](https://code.claude.com/docs/ja/costs.md#plan-usage-breakdown)の内訳が含まれます。支出を追跡する Claude apps gateway を経由している場合は、[ゲートウェイ経由の支出](https://code.claude.com/docs/ja/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code)を表示します。`/cost` と `/stats` はエイリアスです |

166| `/usage-credits` | 制限に達したときに使用クレジットを設定するか、管理者に要求します。ブラウザで[使用クレジットの請求設定](https://code.claude.com/docs/ja/costs.md#add-usage-credits-to-your-subscription)を開きます。ただし、請求アクセスを持たない Team および Enterprise メンバーは、リクエストが管理者に通知されることをダイアログで確認した後、代わりに CLI から管理者に使用クレジットのリクエストを送信します。SSH 経由など、ブラウザで請求ページを開けない場合、コマンドは代わりにアクセスする URL を出力します。これには Claude Code v2.1.205 以降が必要で、以前のバージョンはこの場合に何も表示しませんでした。以前は `/extra-usage` |164| `/usage-credits` | 制限に達したときに使用クレジットを設定するか、管理者に要求します。ブラウザで[使用クレジットの請求設定](https://code.claude.com/docs/ja/costs.md#add-usage-credits-to-your-subscription)を開きます。請求アクセスを持たない Team および Enterprise メンバーは、代わりに CLI から管理者に使用クレジットのリクエストを送信します。SSH 経由など、ブラウザでページを開けないターミナルでは、コマンドは URL を出力します。URL の出力には Claude Code v2.1.205 以降が必要です。以前は `/extra-usage` |

167| `/verify` | **[Skill](https://code.claude.com/docs/ja/skills.md#bundled-skills).** テストや型チェックに頼るのではなく、プロジェクトのアプリをビルド、実行し、結果を観察することで、コード変更が意図どおりに動作することを確認します。[アプリを実行して検証する](https://code.claude.com/docs/ja/skills.md#run-and-verify-your-app)を参照してください |165| `/verify` | **[Skill](https://code.claude.com/docs/ja/skills.md#bundled-skills).** テストや型チェックに頼るのではなく、プロジェクトのアプリをビルド、実行し、結果を観察することで、コード変更が意図どおりに動作することを確認します。[アプリを実行して検証する](https://code.claude.com/docs/ja/skills.md#run-and-verify-your-app)を参照してください |

168| `/vim` | v2.1.92 で削除されました。Vim と Normal 編集モード間を切り替えるには、`/config` → Editor mode を使用してください |166| `/vim` | v2.1.92 で削除されました。Vim と Normal 編集モード間を切り替えるには、`/config` → Editor mode を使用してください |

169| `/voice [hold\|tap\|off]` | [音声入力](https://code.claude.com/docs/ja/voice-dictation.md)を切り替えるか、特定のモードで有効にします。Claude.ai アカウントが必要です |167| `/voice [hold\|tap\|off]` | [音声入力](https://code.claude.com/docs/ja/voice-dictation.md)を切り替えるか、特定のモードで有効にします。Claude.ai アカウントが必要です |

desktop.md +0 −4

Details

2261 2261 

2262Desktop アプリは、`claude_desktop_config.json` から MCP サーバーをローカルコードタブセッションに読み込み、`~/.claude.json` および `.mcp.json` のサーバーと並行して実行します。`claude_desktop_config.json` で定義したサーバーは、Desktop チャットサーフェイスとローカルコードタブセッションの両方で利用可能です。2262Desktop アプリは、`claude_desktop_config.json` から MCP サーバーをローカルコードタブセッションに読み込み、`~/.claude.json` および `.mcp.json` のサーバーと並行して実行します。`claude_desktop_config.json` で定義したサーバーは、Desktop チャットサーフェイスとローカルコードタブセッションの両方で利用可能です。

2263 2263 

2264`claude_desktop_config.json` と `~/.claude.json` または `.mcp.json` で同じサーバー名を定義した場合、ローカルセッションのコードタブは 1 回接続し、`claude_desktop_config.json` の定義を使用します。

2265 

2266アプリは、`~/.claude.json` の stdio サーバーをローカルセッションの組み込み CLI に再配信します。`~/.claude.json`(ユーザースコープ)と `.mcp.json` のトップレベルが同じ stdio サーバー名を定義する場合、コードタブは `~/.claude.json` の定義を使用し、CLI の[スコープ階層](https://code.claude.com/docs/ja/mcp.md#scope-hierarchy-and-precedence)から外れます。

2267 

2268> [!NOTE]2264> [!NOTE]

2269>2265>

2270> スタンドアロン CLI は `claude_desktop_config.json` を読み込みません。macOS と WSL では、`claude mcp add-from-claude-desktop` を実行して、それらのサーバーを `~/.claude.json` にコピーします。[Claude Desktop から MCP サーバーをインポート](https://code.claude.com/docs/ja/mcp.md#import-mcp-servers-from-claude-desktop)を参照して、インポートフローとスコープオプションを確認してください。2266> スタンドアロン CLI は `claude_desktop_config.json` を読み込みません。macOS と WSL では、`claude mcp add-from-claude-desktop` を実行して、それらのサーバーを `~/.claude.json` にコピーします。[Claude Desktop から MCP サーバーをインポート](https://code.claude.com/docs/ja/mcp.md#import-mcp-servers-from-claude-desktop)を参照して、インポートフローとスコープオプションを確認してください。

Details

71 71 

72アプリケーションランチャーから **Claude** を起動するか、ターミナルから `claude-desktop` を実行して、Anthropic アカウントでサインインします。72アプリケーションランチャーから **Claude** を起動するか、ターミナルから `claude-desktop` を実行して、Anthropic アカウントでサインインします。

73 73 

74Linux アプリは macOS と Windows と同じ方法でサインインします。claude.ai サブスクリプション、または組織の SSO を通じてサインインします。API キー認証には [CLI](https://code.claude.com/docs/ja/quickstart.md) を使用してください。代わりに Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または LLM ゲートウェイで Desktop を使用する場合は、[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) を参照してください。これらのデプロイにおけるプロキシサーバーとカスタム認証局については、[ネットワーク設定](https://code.claude.com/docs/ja/network-config.md) を参照してください。74Linux アプリは macOS と Windows と同じ方法でサインインします。claude.ai サブスクリプション、または組織の SSO を通じてサインインします。代わりに Claude API キー、Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry、または LLM ゲートウェイで Desktop を使用する場合は、[Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) を参照してください。これらのデプロイにおけるプロキシサーバーとカスタム認証局については、[ネットワーク設定](https://code.claude.com/docs/ja/network-config.md) を参照してください。

75 75 

76### ダウンロードしたファイルからインストールする76### ダウンロードしたファイルからインストールする

77 77 

Details

83 83 

84**8. 権限モードとモデルを選択する**84**8. 権限モードとモデルを選択する**

85 85 

86指示ボックスのツールバーで、[権限モード](#permissions-for-scheduled-tasks)とモデルを選択します。変更しない場合、実行には Claude Code の設定とデフォルトのモデルが使用されます。86指示ボックスのツールバーで、[権限モード](#permissions-for-scheduled-tasks)とモデルを選択します。

87 

88* **権限モード**:変更しない場合、実行には Claude Code の設定が使用されます。

89* **モデル**:モデルメニューに **Default · Set by admin** と表示されていて、別のモデルを選択しない場合、実行には組織が[管理設定](https://code.claude.com/docs/ja/managed-settings.md)で設定したモデルが使用されます。アプリの起動時に開始される[キャッチアップ実行](#missed-runs)では、代わりに[アカウントのランタイムデフォルト](https://code.claude.com/docs/ja/model-config.md#default-model-setting)が使用される場合があります。

87 90 

88**9. タスクを作成する**91**9. タスクを作成する**

89 92 

90**Create** をクリックします。まだフォルダを信頼していない場合は、この時点で Desktop がフォルダを信頼するよう求めます。タスクの詳細ページが開きます。93**Create** をクリックします。まだフォルダを信頼していない場合は、この時点で Desktop がフォルダを信頼するよう求めます。タスクの詳細ページが開きます。

91 94 

95**Default · Set by admin** がどのモデルを表しているかを確認するには、詳細ページで **Run now** をクリックしてタスクをすぐに実行します。次に[その実行のセッションを開く](#find-a-runs-session)と、プロンプトボックスの下の行にモデル名が表示されます。

96 

92詳細ページで鉛筆アイコンをクリックすると、[**Edit** フォーム](#manage-scheduled-tasks)が開きます。そこでは、Desktop が指示から自動入力した **Description** を変更したり、**Worktree** を選択したり、スケジュールを **Manual** または **Custom** に切り替えたりできます。97詳細ページで鉛筆アイコンをクリックすると、[**Edit** フォーム](#manage-scheduled-tasks)が開きます。そこでは、Desktop が指示から自動入力した **Description** を変更したり、**Worktree** を選択したり、スケジュールを **Manual** または **Custom** に切り替えたりできます。

93 98 

94任意のセッションで実行したい内容を説明することで、タスクを作成することもできます。たとえば、「毎朝 9 時に実行される毎日のコードレビューを設定する」と言うと、定期的なタスクが作成されます。「明日午後 3 時にデプロイをチェックするよう通知する」のようなリクエストでは、実行後に自分自身を無効にする 1 回限りのタスクが作成されます。99任意のセッションで実行したい内容を説明することで、タスクを作成することもできます。たとえば、「毎朝 9 時に実行される毎日のコードレビューを設定する」と言うと、定期的なタスクが作成されます。「明日午後 3 時にデプロイをチェックするよう通知する」のようなリクエストでは、実行後に自分自身を無効にする 1 回限りのタスクが作成されます。


181 186 

182タスクが `update_scheduled_task` MCP ツールを使用して自身のスケジュールまたはプロンプトを変更できるようにするには、**Run now** をクリックし、その呼び出しを毎回承認してください。187タスクが `update_scheduled_task` MCP ツールを使用して自身のスケジュールまたはプロンプトを変更できるようにするには、**Run now** をクリックし、その呼び出しを毎回承認してください。

183 188 

184ディスク上のタスクのプロンプトを編集するには、`~/.claude/scheduled-tasks/<task-name>/SKILL.md` を開きます([`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) が設定されている場合はその下)。ファイルは `name` と `description` の YAML frontmatter を使用し、プロンプトが本文です。変更は次の実行時に有効になります。スケジュール、フォルダ、モデル、および有効な状態はこのファイルにはありません。Edit フォームを通じて変更するか、Claude に尋ねます。189ディスク上のタスクのプロンプトを編集するには、`~/.claude/scheduled-tasks/<task-name>/SKILL.md` を開きます([`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/ja/env-vars) が設定されている場合はその下)。ファイルは `name` と `description` の YAML フロントマターを使用し、プロンプトが本文です。変更は次の実行時に有効になります。スケジュール、フォルダ、および有効な状態はこのファイルにはありません。Edit フォームを通じて変更するか、Claude に尋ねます。

185 190 

186## 関連リソース191## 関連リソース

187 192 

env-vars.md +7 −3

Details

211| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 自動的な [IDE 接続](https://code.claude.com/docs/ja/vs-code.md)を上書きします。デフォルトでは、サポートされている IDE の統合ターミナル内で起動すると、Claude Code は自動的に接続します。これを防ぐには `false` に設定します。tmux が親ターミナルを隠している場合など、自動検出が失敗したときに接続を強制的に試行するには `true` に設定します。[`autoConnectIde`](https://code.claude.com/docs/ja/settings-reference#autoconnectide) グローバル設定より優先されます |211| `CLAUDE_CODE_AUTO_CONNECT_IDE` | 自動的な [IDE 接続](https://code.claude.com/docs/ja/vs-code.md)を上書きします。デフォルトでは、サポートされている IDE の統合ターミナル内で起動すると、Claude Code は自動的に接続します。これを防ぐには `false` に設定します。tmux が親ターミナルを隠している場合など、自動検出が失敗したときに接続を強制的に試行するには `true` に設定します。[`autoConnectIde`](https://code.claude.com/docs/ja/settings-reference#autoconnectide) グローバル設定より優先されます |

212| `CLAUDE_CODE_AUTO_MODE_MODEL` | [auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)で Claude Code が送信する分類器リクエストのモデルを設定します。`claude-sonnet-4-6` のような完全なモデル ID を使用します。Claude Code がこれを無視するケースについては、[分類器モデルを選択する](https://code.claude.com/docs/ja/permission-modes.md#choose-the-classifier-model)を参照してください。Claude Code v2.1.302 以降が必要です |212| `CLAUDE_CODE_AUTO_MODE_MODEL` | [auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)で Claude Code が送信する分類器リクエストのモデルを設定します。`claude-sonnet-4-6` のような完全なモデル ID を使用します。Claude Code がこれを無視するケースについては、[分類器モデルを選択する](https://code.claude.com/docs/ja/permission-modes.md#choose-the-classifier-model)を参照してください。Claude Code v2.1.302 以降が必要です |

213| `CLAUDE_CODE_AUTO_MODE_SERVER` | Claude Code がサーバーに [auto モードのアクションのレビュー](https://code.claude.com/docs/ja/permission-modes.md#server-side-classifier-review)を依頼するかどうかを制御します。代わりに Claude Code 独自の分類器リクエストを使用するには、`0` に設定します。Anthropic API への直接接続では v2.1.281 以降が必要です。リンク先のセクションには、変数が設定されていない場合にどのセッションがサーバーに依頼するか、またどのバージョンからかが記載されています。Claude Code v2.1.271 以降が必要です |213| `CLAUDE_CODE_AUTO_MODE_SERVER` | Claude Code がサーバーに [auto モードのアクションのレビュー](https://code.claude.com/docs/ja/permission-modes.md#server-side-classifier-review)を依頼するかどうかを制御します。代わりに Claude Code 独自の分類器リクエストを使用するには、`0` に設定します。Anthropic API への直接接続では v2.1.281 以降が必要です。リンク先のセクションには、変数が設定されていない場合にどのセッションがサーバーに依頼するか、またどのバージョンからかが記載されています。Claude Code v2.1.271 以降が必要です |

214| `CLAUDE_CODE_AUTOMOUNT_ROOTS` | Claude Code が、`CLAUDE.md`、スキル、`.mcp.json` などのファイルを作業ディレクトリより上位のフォルダーで探すときにスキップする、オートマウントのルートフォルダー。それらの検索がオートマウンターの応答待ちになる場合に設定します。複数のパスは、Unix では `:`、Windows では `;` で区切り、それぞれをシンボリックリンクを含まない絶対パスで指定します。Claude Code v2.1.323 以降が必要です |

214| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | AWS のデフォルト認証情報プロバイダーチェーンが認証情報を生成するまで Claude Code が待機する時間(ミリ秒)。この時間を過ぎると、リクエストは [`AWS default-chain credential resolve timed out`](https://code.claude.com/docs/ja/errors#aws-default-chain-credential-resolve-timed-out) で失敗します(デフォルト:`60000`)。`aws-vault` のようなラッパーを介した MFA 付きのブラウザベースの SSO サインインなど、チェーン内のステップが正当な理由でより長い時間を必要とする場合に値を引き上げます。Amazon Bedrock、[Claude Platform on AWS](https://code.claude.com/docs/ja/claude-platform-on-aws.md)、[Mantle エンドポイント](https://code.claude.com/docs/ja/amazon-bedrock.md#use-the-mantle-endpoint)に適用されます。[認証情報のキャッシュと解決タイムアウト](https://code.claude.com/docs/ja/amazon-bedrock.md#credential-caching-and-resolution-timeout)を参照してください。Claude Code v2.1.207 以降が必要です |215| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | AWS のデフォルト認証情報プロバイダーチェーンが認証情報を生成するまで Claude Code が待機する時間(ミリ秒)。この時間を過ぎると、リクエストは [`AWS default-chain credential resolve timed out`](https://code.claude.com/docs/ja/errors#aws-default-chain-credential-resolve-timed-out) で失敗します(デフォルト:`60000`)。`aws-vault` のようなラッパーを介した MFA 付きのブラウザベースの SSO サインインなど、チェーン内のステップが正当な理由でより長い時間を必要とする場合に値を引き上げます。Amazon Bedrock、[Claude Platform on AWS](https://code.claude.com/docs/ja/claude-platform-on-aws.md)、[Mantle エンドポイント](https://code.claude.com/docs/ja/amazon-bedrock.md#use-the-mantle-endpoint)に適用されます。[認証情報のキャッシュと解決タイムアウト](https://code.claude.com/docs/ja/amazon-bedrock.md#credential-caching-and-resolution-timeout)を参照してください。Claude Code v2.1.207 以降が必要です |

215| `CLAUDE_CODE_BASH_EDIT_DIFF` | `0` に設定すると [Bash コマンドの実行中に変更されたファイルの差分](https://code.claude.com/docs/ja/hooks.md#bash)をオフにし、`1` に設定するとすべての権限モードで差分を記録します。[`bashEditDiffEnabled`](https://code.claude.com/docs/ja/settings-reference#basheditdiffenabled) 設定より優先されます。Claude Code v2.1.269 以降が必要です |216| `CLAUDE_CODE_BASH_EDIT_DIFF` | `0` に設定すると [Bash コマンドの実行中に変更されたファイルの差分](https://code.claude.com/docs/ja/hooks.md#bash)をオフにし、`1` に設定するとすべての権限モードで差分を記録します。[`bashEditDiffEnabled`](https://code.claude.com/docs/ja/settings-reference#basheditdiffenabled) 設定より優先されます。Claude Code v2.1.269 以降が必要です |

216| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | `0` に設定すると、バックグラウンドの作業がまだ実行中であっても、非対話セッションがターン終了のたびにホストにアイドルステータスを報告するようにします。デフォルトでは、バックグラウンドエージェントや[ワークフロー](https://code.claude.com/docs/ja/workflows.md)の実行などのバックグラウンドの作業がまだ動作している間、セッションはターン終了後も実行中ステータスを報告し続けます。これにより、リモートセッションリストなどステータスを監視するホストが、作業の途中で Claude がユーザーの入力を待っていると通知するのを防ぎます。開発サーバーなどのバックグラウンドシェルコマンドは、実行中ステータスを保持しません。実行中ステータスのデフォルトと `0` によるオプトアウトには Claude Code v2.1.269 以降が必要です。それより前のバージョンでは、実行中ステータスを保持するには `1` を設定します |217| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | `0` に設定すると、バックグラウンドの作業がまだ実行中であっても、非対話セッションがターン終了のたびにホストにアイドルステータスを報告するようにします。デフォルトでは、バックグラウンドエージェントや[ワークフロー](https://code.claude.com/docs/ja/workflows.md)の実行などのバックグラウンドの作業がまだ動作している間、セッションはターン終了後も実行中ステータスを報告し続けます。これにより、リモートセッションリストなどステータスを監視するホストが、作業の途中で Claude がユーザーの入力を待っていると通知するのを防ぎます。開発サーバーなどのバックグラウンドシェルコマンドは、実行中ステータスを保持しません。実行中ステータスのデフォルトと `0` によるオプトアウトには Claude Code v2.1.269 以降が必要です。それより前のバージョンでは、実行中ステータスを保持するには `1` を設定します |


298| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | `1` に設定すると、`bypassPermissions` モードで[危険な `rm` コマンドをプロンプトなしで実行します](https://code.claude.com/docs/ja/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode)。これにより、破壊的な削除に対する安全確認のプロンプトがなくなります。効果がない場所はリンク先のセクションに記載されています。Claude Code は[設定の `env` ブロックではこの変数を無視する](https://code.claude.com/docs/ja/settings-reference#variables-claude-code-ignores-in-env)ため、[Claude Code を起動する環境で設定してください](#set-variables-in-your-shell)。Claude Code v2.1.311 以降が必要です |299| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | `1` に設定すると、`bypassPermissions` モードで[危険な `rm` コマンドをプロンプトなしで実行します](https://code.claude.com/docs/ja/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode)。これにより、破壊的な削除に対する安全確認のプロンプトがなくなります。効果がない場所はリンク先のセクションに記載されています。Claude Code は[設定の `env` ブロックではこの変数を無視する](https://code.claude.com/docs/ja/settings-reference#variables-claude-code-ignores-in-env)ため、[Claude Code を起動する環境で設定してください](#set-variables-in-your-shell)。Claude Code v2.1.311 以降が必要です |

299| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | クエリループがアイドル状態になってから自動的に終了するまで待機する時間(ミリ秒)。SDK モードを使用する自動化ワークフローやスクリプトに便利です |300| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | クエリループがアイドル状態になってから自動的に終了するまで待機する時間(ミリ秒)。SDK モードを使用する自動化ワークフローやスクリプトに便利です |

300| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | `1` に設定すると [エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md) を有効にします。エージェントチームは実験的な機能で、デフォルトでは無効です |301| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | `1` に設定すると [エージェントチーム](https://code.claude.com/docs/ja/agent-teams.md) を有効にします。エージェントチームは実験的な機能で、デフォルトでは無効です |

302| `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` | `1` に設定すると、実験的な機能である [Code Mode](https://code.claude.com/docs/ja/code-mode.md) でセッションを開始します。`0` に設定するとオフのままになり、管理設定で設定すると[組織に対してブロック](https://code.claude.com/docs/ja/code-mode.md#block-code-mode-for-your-organization)できます。この変数は[すべての設定ファイルで有効になるわけではありません](https://code.claude.com/docs/ja/settings-reference.md#variables-claude-code-ignores-in-env)。[バージョンとアカウントの要件](https://code.claude.com/docs/ja/code-mode.md#requirements)を参照してください |

301| `CLAUDE_CODE_EXTRA_BODY` | モデルリクエストボディの最上位にマージする JSON オブジェクト。ただし、`/model` のチェックなど、会話外の一部のリクエストは除きます。Claude Code が直接公開していないプロバイダー固有のパラメーターを渡すのに便利です。シェルでエクスポートした値は、`claude agents` または `--bg` でディスパッチする[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)にも適用されます。v2.1.206 より前は、バックグラウンドセッションはシェルでエクスポートした値を無視し、バックグラウンドのスーパーバイザープロセスが継承したコピーを使用していました |303| `CLAUDE_CODE_EXTRA_BODY` | モデルリクエストボディの最上位にマージする JSON オブジェクト。ただし、`/model` のチェックなど、会話外の一部のリクエストは除きます。Claude Code が直接公開していないプロバイダー固有のパラメーターを渡すのに便利です。シェルでエクスポートした値は、`claude agents` または `--bg` でディスパッチする[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)にも適用されます。v2.1.206 より前は、バックグラウンドセッションはシェルでエクスポートした値を無視し、バックグラウンドのスーパーバイザープロセスが継承したコピーを使用していました |

302| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | [ファイル読み取り](https://code.claude.com/docs/ja/tools-reference.md#large-files)のデフォルトのトークン制限(25,000 トークン)を上書きします。大きなファイルを全体的に読み取る必要がある場合に便利です。Claude が `allow_large` パラメーターを使って行う読み取りは、コンテキストウィンドウに余裕がある場合はこの制限を超えることができます |304| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | [ファイル読み取り](https://code.claude.com/docs/ja/tools-reference.md#large-files)のデフォルトのトークン制限(25,000 トークン)を上書きします。大きなファイルを全体的に読み取る必要がある場合に便利です。Claude が `allow_large` パラメーターを使って行う読み取りは、コンテキストウィンドウに余裕がある場合はこの制限を超えることができます |

303| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | `1` に設定すると、この `claude` が別の Claude Code セッション内から起動された場合でも、トランスクリプトの永続化、プロンプト履歴、`claude agents` への登録を強制します。`screen` セッションや、Claude Code の Bash ツールが最初に起動したバックグラウンドランチャーなどから継承された `CLAUDE_CODE_CHILD_SESSION` 値によって、本来のトップレベルセッションがネストされたセッションと誤分類される場合に使用します。v2.1.178 以降、Claude Code は tmux のケースを自動的に検出して継承されたマーカーを無視するため、tmux ではこの変数は不要になりました。v2.1.169 以前でも有効です。この変数が上書きするネストされたセッションの検出が削除されていた v2.1.170 および v2.1.171 では効果がありません |305| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | `1` に設定すると、この `claude` が別の Claude Code セッション内から起動された場合でも、トランスクリプトの永続化、プロンプト履歴、`claude agents` への登録を強制します。`screen` セッションや、Claude Code の Bash ツールが最初に起動したバックグラウンドランチャーなどから継承された `CLAUDE_CODE_CHILD_SESSION` 値によって、本来のトップレベルセッションがネストされたセッションと誤分類される場合に使用します。v2.1.178 以降、Claude Code は tmux のケースを自動的に検出して継承されたマーカーを無視するため、tmux ではこの変数は不要になりました。v2.1.169 以前でも有効です。この変数が上書きするネストされたセッションの検出が削除されていた v2.1.170 および v2.1.171 では効果がありません |


348| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 保留中の OpenTelemetry スパンをフラッシュする際のタイムアウト(ミリ秒)(デフォルト: 5000)。[モニタリング](https://code.claude.com/docs/ja/monitoring-usage.md) を参照してください |350| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | 保留中の OpenTelemetry スパンをフラッシュする際のタイムアウト(ミリ秒)(デフォルト: 5000)。[モニタリング](https://code.claude.com/docs/ja/monitoring-usage.md) を参照してください |

349| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 動的な OpenTelemetry ヘッダーを更新する間隔(ミリ秒)(デフォルト: 1740000 / 29 分)。[動的ヘッダー](https://code.claude.com/docs/ja/monitoring-usage.md#dynamic-headers) を参照してください |351| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | 動的な OpenTelemetry ヘッダーを更新する間隔(ミリ秒)(デフォルト: 1740000 / 29 分)。[動的ヘッダー](https://code.claude.com/docs/ja/monitoring-usage.md#dynamic-headers) を参照してください |

350| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | シャットダウン時に OpenTelemetry エクスポーターが完了するまでのタイムアウト(ミリ秒)(デフォルト: 2000)。終了時にメトリクスが失われる場合は値を増やしてください。[モニタリング](https://code.claude.com/docs/ja/monitoring-usage.md) を参照してください |352| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | シャットダウン時に OpenTelemetry エクスポーターが完了するまでのタイムアウト(ミリ秒)(デフォルト: 2000)。終了時にメトリクスが失われる場合は値を増やしてください。[モニタリング](https://code.claude.com/docs/ja/monitoring-usage.md) を参照してください |

351| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | API が `529` 過負荷エラーで拒否したリクエストの [自動再試行](https://code.claude.com/docs/ja/errors.md#tune-retry-behavior) の間の指数バックオフの開始遅延(ミリ秒)。デフォルトの 500 の代わりに使用されます。API の容量が逼迫しているときに、より長い時間枠に再試行を分散させるには値を増やしてください。500 から 32000 までの整数のミリ秒を数字のみで指定します。Claude Code はそれ以外の値を未設定として扱います。`CLAUDE_CODE_RETRY_WATCHDOG` が `1` に設定されている場合、または拒否されたリクエストが [fast mode](https://code.claude.com/docs/ja/fast-mode.md#handle-rate-limits) で送信された場合は効果がありません。Claude Code v2.1.292 以降が必要です |353| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | API が `529` 過負荷エラーで拒否したリクエストの再試行間のバックオフにおける初期遅延(ミリ秒)(デフォルト: 500)。API が容量の上限に達している場合に、より長い時間にわたって再試行を分散させるには値を上げてください。500 から 32000 までの整数のミリ秒を数字のみで指定します。Claude Code はその他の値を未設定として扱います。[効果がない場合](https://code.claude.com/docs/ja/errors.md#tune-retry-behavior)を参照してください。Claude Code v2.1.292 以降が必要です |

352| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | API が `529` overloaded エラーで拒否したリクエストの[自動再試行](https://code.claude.com/docs/ja/errors.md#tune-retry-behavior)間の指数バックオフの上限(ミリ秒)。デフォルトの 32000 の代わりに使用されます。API が容量の上限に達しているときに、後の再試行の間隔を広げ続けるには値を引き上げてください。32000 から 64000 までの整数のミリ秒を数字のみで指定します。それ以外の値は未設定として扱われます。`CLAUDE_CODE_RETRY_WATCHDOG` が `1` に設定されている場合、または拒否されたリクエストが [fast mode](https://code.claude.com/docs/ja/fast-mode.md#handle-rate-limits) で送信された場合は効果がありません。Claude Code v2.1.296 以降が必要です |354| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | API が `529` 過負荷エラーで拒否したリクエストの再試行間のバックオフの上限(ミリ秒)(デフォルト: 32000)。値を上げると、後続の再試行の間隔が広がり続けるようになります。32000 から 300000 までの整数のミリ秒を数字のみで指定します。Claude Code はその他の値を未設定として扱います。64000 を超える値には v2.1.323 以降が必要です。[効果がない場合](https://code.claude.com/docs/ja/errors.md#tune-retry-behavior)を参照してください。Claude Code v2.1.296 以降が必要です |

353| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | `1` に設定すると、新しいバージョンが利用可能になったときに、Claude Code がパッケージマネージャーのアップグレードコマンドをバックグラウンドで実行できるようにします。Homebrew および WinGet でのインストールに適用されます。その他のパッケージマネージャーでは、引き続きアップグレードコマンドが実行されずに表示されます。[自動更新](https://code.claude.com/docs/ja/setup.md#auto-updates) を参照してください |355| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | `1` に設定すると、新しいバージョンが利用可能になったときに、Claude Code がパッケージマネージャーのアップグレードコマンドをバックグラウンドで実行できるようにします。Homebrew および WinGet でのインストールに適用されます。その他のパッケージマネージャーでは、引き続きアップグレードコマンドが実行されずに表示されます。[自動更新](https://code.claude.com/docs/ja/setup.md#auto-updates) を参照してください |

354| `CLAUDE_CODE_PERFORCE_MODE` | `1` に設定すると、Perforce 対応の書き込み保護を有効にします。設定すると、対象ファイルに所有者の書き込みビットがない場合、Edit、Write、NotebookEdit は `p4 edit <file>` のヒントを表示して失敗します。Perforce は、同期されたファイルを `p4 edit` で開くまでこのビットをクリアします。これにより、Claude Code が Perforce の変更追跡をバイパスすることを防ぎます |356| `CLAUDE_CODE_PERFORCE_MODE` | `1` に設定すると、Perforce 対応の書き込み保護を有効にします。設定すると、対象ファイルに所有者の書き込みビットがない場合、Edit、Write、NotebookEdit は `p4 edit <file>` のヒントを表示して失敗します。Perforce は、同期されたファイルを `p4 edit` で開くまでこのビットをクリアします。これにより、Claude Code が Perforce の変更追跡をバイパスすることを防ぎます |

355| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | プラグインのルートディレクトリを上書きします。名前に反して、これはキャッシュ自体ではなく親ディレクトリを設定します。マーケットプレイスとプラグインキャッシュは、このパスの下のサブディレクトリに配置されます。デフォルトは `~/.claude/plugins` です |357| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | プラグインのルートディレクトリを上書きします。名前に反して、これはキャッシュ自体ではなく親ディレクトリを設定します。マーケットプレイスとプラグインキャッシュは、このパスの下のサブディレクトリに配置されます。デフォルトは `~/.claude/plugins` です |


370| `CLAUDE_CODE_REMOTE` | Claude Code が [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md) として実行されている場合に、自動的に `true` に設定されます。フックやセットアップスクリプトからこれを読み取ることで、クラウドセッション内にいるかどうかを検出できます |372| `CLAUDE_CODE_REMOTE` | Claude Code が [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md) として実行されている場合に、自動的に `true` に設定されます。フックやセットアップスクリプトからこれを読み取ることで、クラウドセッション内にいるかどうかを検出できます |

371| `CLAUDE_CODE_REMOTE_SESSION_ID` | [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md) で、現在のセッションの ID に自動的に設定されます。これを読み取って、セッションのトランスクリプトへのリンクを作成できます。[出力をセッションにリンクする](https://code.claude.com/docs/ja/cloud-environments.md#link-output-back-to-the-session) を参照してください |373| `CLAUDE_CODE_REMOTE_SESSION_ID` | [クラウドセッション](https://code.claude.com/docs/ja/claude-code-on-the-web.md) で、現在のセッションの ID に自動的に設定されます。これを読み取って、セッションのトランスクリプトへのリンクを作成できます。[出力をセッションにリンクする](https://code.claude.com/docs/ja/cloud-environments.md#link-output-back-to-the-session) を参照してください |

372| `CLAUDE_CODE_RESTRICTED` | `1` に設定すると、[`--restricted`](https://code.claude.com/docs/ja/cli-reference#cli-flags) を渡した場合と同様に、制限モードでセッションを開始します。Claude Code は設定ファイルの `env` ブロック内のこの変数を無視します。Claude Code v2.1.248 以降が必要です |374| `CLAUDE_CODE_RESTRICTED` | `1` に設定すると、[`--restricted`](https://code.claude.com/docs/ja/cli-reference#cli-flags) を渡した場合と同様に、制限モードでセッションを開始します。Claude Code は設定ファイルの `env` ブロック内のこの変数を無視します。Claude Code v2.1.248 以降が必要です |

375| `CLAUDE_CODE_RESUME_HINT_COMMAND` | Claude Code を起動するラッパースクリプトで、ラッパーを実行するために入力する名前(`mytool` など)をこれに設定します。これにより、ローカルセッションは終了時に `claude --resume <session-id>` の代わりに `mytool --resume <session-id>` を表示します。Claude Code は `^\w[\w-]*$` に一致しない名前を無視します。また、設定ファイルの `env` ブロック内のこの変数も無視します。Claude Code v2.1.323 以降が必要です |

373| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | `1` に設定すると、前のセッションがターンの途中で終了した場合に自動的に再開します。SDK モードで使用され、SDK がプロンプトを再送信しなくてもモデルが続行できるようにします。これをオフにするには、変数を未設定にするか `0` に設定してください。VS Code のチャットパネルについては、[再読み込み後に会話を続ける](https://code.claude.com/docs/ja/vs-code.md#continue-conversations-after-a-reload) を参照してください |376| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | `1` に設定すると、前のセッションがターンの途中で終了した場合に自動的に再開します。SDK モードで使用され、SDK がプロンプトを再送信しなくてもモデルが続行できるようにします。これをオフにするには、変数を未設定にするか `0` に設定してください。VS Code のチャットパネルについては、[再読み込み後に会話を続ける](https://code.claude.com/docs/ja/vs-code.md#continue-conversations-after-a-reload) を参照してください |

374| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | ターンの途中で終了したセッションが再開時に自動的に続行されるための、最後のトランスクリプトメッセージの最大経過時間(ミリ秒)。最後のメッセージがこの上限より古い場合、Claude Code は `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` による自動再開とその `CLAUDE_CODE_RESUME_PROMPT` 継続メッセージをスキップし、セッションはアイドル状態で開始するため、ユーザーが明示的に続行します。未設定または `0` の場合は上限がありませんが、API エラーで終了したターンなど、一部のターンは最後のメッセージから 6 時間以内の場合にのみ再開されます。正の値は、それらを含むすべてのターンに上限を設定します。負の値または数値以外の値では 1 時間の上限が適用されます。長時間実行されるエージェントの起動スクリプトでこれを設定すると、古いトランスクリプトに対して再起動しても古いプロンプトが再実行されないようにできます。対話セッションから会話を引き継いだ [エージェントビュー](https://code.claude.com/docs/ja/agent-view.md) セッションがクラッシュして再起動する際には、Claude Code 自身が 1 時間の上限を設定します。Claude Code v2.1.211 以降が必要です |377| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | ターンの途中で終了したセッションが再開時に自動的に続行されるための、最後のトランスクリプトメッセージの最大経過時間(ミリ秒)。最後のメッセージがこの上限より古い場合、Claude Code は `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` による自動再開とその `CLAUDE_CODE_RESUME_PROMPT` 継続メッセージをスキップし、セッションはアイドル状態で開始するため、ユーザーが明示的に続行します。未設定または `0` の場合は上限がありませんが、API エラーで終了したターンなど、一部のターンは最後のメッセージから 6 時間以内の場合にのみ再開されます。正の値は、それらを含むすべてのターンに上限を設定します。負の値または数値以外の値では 1 時間の上限が適用されます。長時間実行されるエージェントの起動スクリプトでこれを設定すると、古いトランスクリプトに対して再起動しても古いプロンプトが再実行されないようにできます。対話セッションから会話を引き継いだ [エージェントビュー](https://code.claude.com/docs/ja/agent-view.md) セッションがクラッシュして再起動する際には、Claude Code 自身が 1 時間の上限を設定します。Claude Code v2.1.211 以降が必要です |

375| `CLAUDE_CODE_RESUME_PROMPT` | `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` が中断されたターンをプロンプトの再送信なしで続行する場合、または `-p` で [遅延されたツール呼び出し](https://code.claude.com/docs/ja/hooks.md#defer-a-tool-call-for-later) を再開する場合に、Claude Code が Claude に送信する継続メッセージを上書きします。デフォルトは `Continue from where you left off.` です。空の文字列を指定するとデフォルトが使用されます |378| `CLAUDE_CODE_RESUME_PROMPT` | `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` が中断されたターンをプロンプトの再送信なしで続行する場合、または `-p` で [遅延されたツール呼び出し](https://code.claude.com/docs/ja/hooks.md#defer-a-tool-call-for-later) を再開する場合に、Claude Code が Claude に送信する継続メッセージを上書きします。デフォルトは `Continue from where you left off.` です。空の文字列を指定するとデフォルトが使用されます |


405| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | `1` に設定すると、Bash コマンド、フック、stdio MCP サーバーなど、Claude Code が起動するサブプロセスの環境から認証情報を取り除きます。スクラブは変数名または値によって認証情報を識別し、GitHub トークンとプロキシ設定はそのまま残します。[サブプロセス環境のスクラブで削除されるもの](#what-the-subprocess-environment-scrub-removes) を参照してください。`allowed_non_write_users` が設定されている場合、`claude-code-action` はこれを自動的に設定します |408| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | `1` に設定すると、Bash コマンド、フック、stdio MCP サーバーなど、Claude Code が起動するサブプロセスの環境から認証情報を取り除きます。スクラブは変数名または値によって認証情報を識別し、GitHub トークンとプロキシ設定はそのまま残します。[サブプロセス環境のスクラブで削除されるもの](#what-the-subprocess-environment-scrub-removes) を参照してください。`allowed_non_write_users` が設定されている場合、`claude-code-action` はこれを自動的に設定します |

406| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 非対話モード(`-p` フラグ)で `1` に設定すると、最初のクエリの前にプラグインのインストールが完了するまで待機します。これがない場合、プラグインはバックグラウンドでインストールされ、最初のターンでは利用できない場合があります。待機時間を制限するには、`CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` と組み合わせてください |409| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | 非対話モード(`-p` フラグ)で `1` に設定すると、最初のクエリの前にプラグインのインストールが完了するまで待機します。これがない場合、プラグインはバックグラウンドでインストールされ、最初のターンでは利用できない場合があります。待機時間を制限するには、`CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` と組み合わせてください |

407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 同期的なプラグインインストールのタイムアウト(ミリ秒)。超過すると、Claude Code はプラグインなしで続行し、エラーをログに記録します。デフォルトはありません。この変数がない場合、同期インストールは完了するまで待機します |410| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | 同期的なプラグインインストールのタイムアウト(ミリ秒)。超過すると、Claude Code はプラグインなしで続行し、エラーをログに記録します。デフォルトはありません。この変数がない場合、同期インストールは完了するまで待機します |

408| `CLAUDE_CODE_SYNC_SKILLS` | `-p` フラグを使用した非対話モードで `1` に設定すると、Claude Code はその実行で claude.ai アカウントで有効になっているスキルをダウンロードし、最初のクエリを実行する前に、`CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` を上限としてスキルの一覧を待機します。claude.ai 認証が必要です。claude.ai アカウントでサインインするターミナルセッションでは、この変数がなくても [これらのスキルが同期される](https://code.claude.com/docs/ja/skills.md#where-synced-skills-load) ため、`-p` の実行で最初のクエリに最新のスキルが必要な場合にのみ設定してください |411| `CLAUDE_CODE_SYNC_SKILLS` | `1` に設定すると、Claude Code は claude.ai アカウントで有効になっているスキルをダウンロードします。`-p` フラグを使用した非対話モードでは、Claude Code は最初のクエリを実行する前に、スキルのリストを最大 `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` まで待機します。claude.ai 認証が必要です。claude.ai アカウントでサインインするターミナルセッションでは、この変数がなくても[これらのスキルが同期されます](https://code.claude.com/docs/ja/skills.md#where-synced-skills-load)。対話セッションでは、この変数には v2.1.323 以降が必要です |

409| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/typescript.md#query-object) で構築されたアプリがスキルを再読み込みする際に、セッションの途中で実行されるスキルの再同期のタイムアウト(ミリ秒)(デフォルト: 30000)。超過すると、再読み込みはすでに届いたスキルで続行され、残りのダウンロードはバックグラウンドで完了します |412| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | [Agent SDK](https://code.claude.com/docs/ja/agent-sdk/typescript.md#query-object) で構築されたアプリがスキルを再読み込みする際に、セッションの途中で実行されるスキルの再同期のタイムアウト(ミリ秒)(デフォルト: 30000)。超過すると、再読み込みはすでに届いたスキルで続行され、残りのダウンロードはバックグラウンドで完了します |

410| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | `CLAUDE_CODE_SYNC_SKILLS` が設定されている場合に、最初のクエリが初期のスキル一覧を待機するタイムアウト(ミリ秒)(デフォルト: 5000)。超過すると、最初のクエリはすでに届いたスキルで実行されます。いずれの場合もダウンロードはバックグラウンドで完了し、Claude はスキルを呼び出す際にそのスキルのダウンロードを待機します |413| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | `CLAUDE_CODE_SYNC_SKILLS` が設定されている場合に、最初のクエリが初期のスキル一覧を待機するタイムアウト(ミリ秒)(デフォルト: 5000)。超過すると、最初のクエリはすでに届いたスキルで実行されます。いずれの場合もダウンロードはバックグラウンドで完了し、Claude はスキルを呼び出す際にそのスキルのダウンロードを待機します |

411| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | `false` に設定すると、差分出力のシンタックスハイライトを無効にします。色がターミナルの設定に干渉する場合に便利です。コードブロックとファイルプレビューのハイライトも無効にするには、[`syntaxHighlightingDisabled`](https://code.claude.com/docs/ja/settings-reference#syntaxhighlightingdisabled) 設定を使用してください |414| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | `false` に設定すると、差分出力のシンタックスハイライトを無効にします。色がターミナルの設定に干渉する場合に便利です。コードブロックとファイルプレビューのハイライトも無効にするには、[`syntaxHighlightingDisabled`](https://code.claude.com/docs/ja/settings-reference#syntaxhighlightingdisabled) 設定を使用してください |


585* [You should know mod](https://code.claude.com/docs/ja/interactive-mode.md#you-should-know-suggestions) をオンにする588* [You should know mod](https://code.claude.com/docs/ja/interactive-mode.md#you-should-know-suggestions) をオンにする

586* [アドバイザーツール](https://code.claude.com/docs/ja/advisor.md#requirements)を使用する。ただし、Claude Code v2.1.300 以降を使用する Claude Platform on AWS の場合を除きます589* [アドバイザーツール](https://code.claude.com/docs/ja/advisor.md#requirements)を使用する。ただし、Claude Code v2.1.300 以降を使用する Claude Platform on AWS の場合を除きます

587* [MCP タスク](https://code.claude.com/docs/ja/mcp.md#mcp-tasks-that-run-on-the-server)を使用する590* [MCP タスク](https://code.claude.com/docs/ja/mcp.md#mcp-tasks-that-run-on-the-server)を使用する

591* [Code Mode](https://code.claude.com/docs/ja/code-mode.md#requirements) をオンにする

588* [アーティファクトへのコメント](https://code.claude.com/docs/ja/artifacts.md#collect-comments-on-an-artifact)を読む、または返信する592* [アーティファクトへのコメント](https://code.claude.com/docs/ja/artifacts.md#collect-comments-on-an-artifact)を読む、または返信する

589* Claude に[別の組織の公開アーティファクト](https://code.claude.com/docs/ja/artifacts.md#read-an-artifact-shared-with-you)を読ませる593* Claude に[別の組織の公開アーティファクト](https://code.claude.com/docs/ja/artifacts.md#read-an-artifact-shared-with-you)を読ませる

590* Git Bash がインストールされた Windows 上の claude.ai アカウントおよび Console アカウントで、[PowerShell ツール](https://code.claude.com/docs/ja/tools-reference.md#powershell-tool)をデフォルトで利用する。`CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定しない限り、Claude Code はシェルコマンドを Git Bash 経由で実行します。Git Bash のない Windows では、このツールはオンのままです594* Git Bash がインストールされた Windows 上の claude.ai アカウントおよび Console アカウントで、[PowerShell ツール](https://code.claude.com/docs/ja/tools-reference.md#powershell-tool)をデフォルトで利用する。`CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定しない限り、Claude Code はシェルコマンドを Git Bash 経由で実行します。Git Bash のない Windows では、このツールはオンのままです

errors.md +52 −10

Details

122| `A request to MCP server "<name>" was sent without your stored credentials` | [認証](#couldnt-read-the-stored-credentials-for-mcp-server) |122| `A request to MCP server "<name>" was sent without your stored credentials` | [認証](#couldnt-read-the-stored-credentials-for-mcp-server) |

123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [認証](#mcp-server-url-is-missing-or-not-a-valid-url) |123| `This server's URL is missing or not a valid URL, so sign-in can't start` | [認証](#mcp-server-url-is-missing-or-not-a-valid-url) |

124| `Issuer mismatch in authorization response (RFC 9207)` | [認証](#issuer-mismatch-in-authorization-response) |124| `Issuer mismatch in authorization response (RFC 9207)` | [認証](#issuer-mismatch-in-authorization-response) |

125| `Stopped an OAuth request` | [認証](#stopped-an-oauth-request) |

125| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [認証](#refusing-to-send-credentials-to-non-https-token-endpoint) |126| `Refusing to send credentials to non-https token endpoint` / `<short-name> from the MCP SDK for <server-url>` | [認証](#refusing-to-send-credentials-to-non-https-token-endpoint) |

126| `Cloud gateway session expired — run /login to reconnect.` | [認証](#cloud-gateway-session-expired) |127| `Cloud gateway session expired — run /login to reconnect.` | [認証](#cloud-gateway-session-expired) |

127| `Cloud gateway <url> no longer accepts this session` | [認証](#cloud-gateway-session-expired) |128| `Cloud gateway <url> no longer accepts this session` | [認証](#cloud-gateway-session-expired) |


251| `Ultrareview did not start` | [コマンドラインエラー](#ultrareview-did-not-start) |252| `Ultrareview did not start` | [コマンドラインエラー](#ultrareview-did-not-start) |

252| `Remote Control did not start: "<question>" got no answer` | [コマンドラインエラー](#remote-control-did-not-start-got-no-answer) |253| `Remote Control did not start: "<question>" got no answer` | [コマンドラインエラー](#remote-control-did-not-start-got-no-answer) |

253| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [コマンドラインエラー](#not-carried-over-to-the-sessions-remote-control-starts) |254| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [コマンドラインエラー](#not-carried-over-to-the-sessions-remote-control-starts) |

255| `Remote Control did not start, because sessions would skip part or all of the --settings file` | [コマンドラインエラー](#remote-control-did-not-start-because-of-the-settings-file) |

256| `The settings file <file> has changed since Remote Control started, so this session did not start` | [コマンドラインエラー](#settings-file-changed-since-remote-control-started) |

254| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [コマンドラインエラー](#sandbox-is-not-supported-by-claude-remote-control) |257| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [コマンドラインエラー](#sandbox-is-not-supported-by-claude-remote-control) |

255| `` `claude import` is not yet available in this build `` | [コマンドラインエラー](#claude-import-is-not-yet-available-in-this-build) |258| `` `claude import` is not yet available in this build `` | [コマンドラインエラー](#claude-import-is-not-yet-available-in-this-build) |

256| `Could not read Claude Code config` | [コマンドラインエラー](#could-not-read-claude-code-config) |259| `Could not read Claude Code config` | [コマンドラインエラー](#could-not-read-claude-code-config) |


825同じ Claude の応答内の後続の呼び出しも、次の理由で拒否されることがあります。828同じ Claude の応答内の後続の呼び出しも、次の理由で拒否されることがあります。

826 829 

827```text theme={null}830```text theme={null}

828another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged831another call in this response was changed after auto mode reviewed it, or could not be confirmed unchanged

829```832```

830 833 

831その後 Claude は、拒否された各呼び出しを再度発行して、サーバーにレビューさせることができます。権限プロンプトが開いた場合は、それに応答してください。Claude が応答の中で auto モードが呼び出しをチェックできなかったと述べない限り、他に何もする必要はありません。そう述べた場合は、変更を止めるか呼び出しを自分で承認してから、Claude にその呼び出しを再試行するよう依頼してください。834その後 Claude は、拒否された各呼び出しを再度発行して、サーバーにレビューさせることができます。権限プロンプトが開いた場合は、それに応答してください。Claude が応答の中で auto モードが呼び出しをチェックできなかったと述べない限り、他に何もする必要はありません。そう述べた場合は、変更を止めるか呼び出しを自分で承認してから、Claude にその呼び出しを再試行するよう依頼してください。


1822 1825 

1823v2.1.232 より前では、Claude Code は段階的なロールアウトの対象となった場合、または `MCP_SDK_GENERATION=v2` を設定した場合にのみ v2 ランタイムを使用していました。1826v2.1.232 より前では、Claude Code は段階的なロールアウトの対象となった場合、または `MCP_SDK_GENERATION=v2` を設定した場合にのみ v2 ランタイムを使用していました。

1824 1827 

1828### Stopped an OAuth request

1829 

1830このメッセージは、OAuth エンドポイントがリダイレクトを行ったため、Claude Code が [MCP サーバーの OAuth リクエスト](https://code.claude.com/docs/ja/mcp.md#authenticate-with-remote-mcp-servers)を停止したことを意味します。どちらの形式のメッセージでも、最初のアドレスがリダイレクトを送信した側です。

1831 

1832```text theme={null}

1833Stopped an OAuth request, which can hold secrets: https://auth.example.com redirected it to https://other.example.com. Ask the owner of https://auth.example.com to remove that redirect.

1834Stopped an OAuth request: https://auth.example.com redirected it more than 5 times. Ask the owner of https://auth.example.com to fix those redirects.

1835```

1836 

1837**対処方法:**

1838 

1839* MCP サーバーの運用者など、最初のアドレスを運用している人にリダイレクトの削除または修正を依頼してください。その後、`/mcp` からもう一度試します。

1840 

1825### 非 https のトークンエンドポイントへの認証情報の送信を拒否しました1841### 非 https のトークンエンドポイントへの認証情報の送信を拒否しました

1826 1842 

1827[v2 ランタイム](https://code.claude.com/docs/ja/mcp.md#mcp-client-runtimes)では、Claude Code は [MCP OAuth](https://code.claude.com/docs/ja/mcp.md#authenticate-with-remote-mcp-servers) のトークンリクエストを、HTTPS で提供されているトークンエンドポイント、または `localhost`、`127.0.0.1`、`::1` にあるトークンエンドポイントにのみ送信します。このメッセージは、サーバーのトークンエンドポイントがそのいずれでもないため、Claude Code がリクエストを送信する前に停止したことを意味します。これはブラウザでのサインイン後に発生するため、ブラウザのステップは先に成功します。また、Claude Code がサーバーのトークンを更新するたびにも発生します。1843[v2 ランタイム](https://code.claude.com/docs/ja/mcp.md#mcp-client-runtimes)では、Claude Code は [MCP OAuth](https://code.claude.com/docs/ja/mcp.md#authenticate-with-remote-mcp-servers) のトークンリクエストを、HTTPS で提供されているトークンエンドポイント、または `localhost`、`127.0.0.1`、`::1` にあるトークンエンドポイントにのみ送信します。このメッセージは、サーバーのトークンエンドポイントがそのいずれでもないため、Claude Code がリクエストを送信する前に停止したことを意味します。これはブラウザでのサインイン後に発生するため、ブラウザのステップは先に成功します。また、Claude Code がサーバーのトークンを更新するたびにも発生します。


2207 2223 

2208### クラウドセッションでホストが許可されていません2224### クラウドセッションでホストが許可されていません

2209 2225 

2210クラウドセッションまたはクラウドスケジュールタスクからのアウトバウンド HTTP リクエストが環境のネットワークポリシーによってブロックされました。2226クラウドセッションまたはクラウドスケジュールタスクでは、`403` や `ENOTFOUND` などの DNS エラーは、リクエストされたホストが [クラウド環境の許可リスト](https://code.claude.com/docs/ja/cloud-environments.md#access-levels) に含まれていないことを意味する場合があります。確認するには、ホストをそのリストと照合してください。次のヘッダーを含む `403` はブロックを裏付けますが、ブロックされたリクエストのすべての `403` にこのヘッダーが含まれるわけではありません。

2211 2227 

2212```text theme={null}2228```text theme={null}

2213HTTP 4032229HTTP 403


2565 2581 

2566Claude Code は通常、大きな画像を自動的にリサイズします。これらのエラーは、画像をデコードまたはリサイズして API 制限内に収めることができなかったことを意味します。2582Claude Code は通常、大きな画像を自動的にリサイズします。これらのエラーは、画像をデコードまたはリサイズして API 制限内に収めることができなかったことを意味します。

2567 2583 

2584表示されるエラーでは、これらの例の `2000x2000px` の代わりに `2576x2576px` など、異なるピクセル制限が示されることがあります。

2585 

2568**対応方法:**2586**対応方法:**

2569 2587 

2570* メッセージが画像を変換するよう求める場合は、PNG、JPEG、GIF、または WebP に変換して再度添付してください。Claude Code はファイルヘッダーからこれらの形式の寸法を確認でき、画像をデコードする必要はありません。2588* メッセージが画像を変換するよう求める場合は、PNG、JPEG、GIF、または WebP に変換して再度添付してください。Claude Code はファイルヘッダーからこれらの形式の寸法を確認でき、画像をデコードする必要はありません。


2873* **フックが書いた理由**:PreModelSwitch フックが [切り替えを拒否したか確認を求めた](https://code.claude.com/docs/ja/hooks.md#premodelswitch-decision-control)際に、その理由を提供しました。求められていることに対応するか、フックが許可するモデルを選択してください。2891* **フックが書いた理由**:PreModelSwitch フックが [切り替えを拒否したか確認を求めた](https://code.claude.com/docs/ja/hooks.md#premodelswitch-decision-control)際に、その理由を提供しました。求められていることに対応するか、フックが許可するモデルを選択してください。

2874* **`PreModelSwitch hook <name> did not respond before its timeout`**:[タイムアウト](https://code.claude.com/docs/ja/hooks.md#timeouts)までに応答しないフックは切り替えをブロックします。ハングしているコマンドを修正するか、そのフックの `timeout` を上げてから、再度切り替えてください。2892* **`PreModelSwitch hook <name> did not respond before its timeout`**:[タイムアウト](https://code.claude.com/docs/ja/hooks.md#timeouts)までに応答しないフックは切り替えをブロックします。ハングしているコマンドを修正するか、そのフックの `timeout` を上げてから、再度切り替えてください。

2875* **`confirmation required, and this session cannot ask`**:フックが理由なしで `ask` と答えましたが、制御リクエストには確認プロンプトを表示する方法がありません。[`-p` 実行](https://code.claude.com/docs/ja/headless)での `/model` コマンドは、同じ状態を理由の後に `(run /model interactively to confirm)` を付けて報告します。対話セッションから切り替えを行うか、このモデルに対するフックの決定を変更してください。2893* **`confirmation required, and this session cannot ask`**:フックが理由なしで `ask` と答えましたが、制御リクエストには確認プロンプトを表示する方法がありません。[`-p` 実行](https://code.claude.com/docs/ja/headless)での `/model` コマンドは、同じ状態を理由の後に `(run /model interactively to confirm)` を付けて報告します。対話セッションから切り替えを行うか、このモデルに対するフックの決定を変更してください。

2876* **`so organization-managed PreModelSwitch hooks could not be checked`**:Claude Code は、組織の [管理プラグイン](https://code.claude.com/docs/ja/settings-reference.md#enabledplugins)が提供する PreModelSwitch フックを判断できませんでした(たとえば、管理プラグインの読み込みに失敗した場合)。それらのフックのいずれかが切り替えをブロックする可能性があるため、Claude Code は未確認のまま切り替えを適用するのではなく拒否します。理由の冒頭に失敗したものが示されます。Claude Code は切り替えを試みるたびに再チェックするため、その後解消された失敗はブロックしなくなります。失敗し続ける場合は、`claude --debug` を実行して再度切り替え、詳細をキャプチャしてから、プラグインを修正するか、管理者に修正を依頼してください。2894* **`so organization-managed PreModelSwitch hooks could not be checked`**: v2.1.323 より前の Claude Code は、[管理プラグイン](https://code.claude.com/docs/ja/settings-reference.md#enabledplugins)が提供する PreModelSwitch フックを判別できない場合に拒否します。このフレーズの前のテキストには、失敗した内容が示されます。拒否を止めるには、Claude Code をアップデートしてください。失敗したプラグインのフックも実行させるには、プラグインを修正するか管理者に依頼してください。詳細を確認するには、シェルで `claude --debug` を起動してモデルを切り替え、[デバッグログ](https://code.claude.com/docs/ja/hooks.md#debug-hooks)を確認してください。

2877* **`a PreModelSwitch hook failed before answering`** または **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**:フックの実行が判定なしで終了し、Claude Code はそれを承認として扱いません。`claude --debug` を実行して失敗したものを確認してから、再度切り替えてください。2895* **`a PreModelSwitch hook failed before answering`** または **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`**:フックの実行が判定なしで終了し、Claude Code はそれを承認として扱いません。`claude --debug` を実行して失敗したものを確認してから、再度切り替えてください。

2878 2896 

2879v2.1.260 より前では、管理プラグインによる拒否は `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log` と表示されていました。Claude Code はプラグインの読み込みを 1 回再試行した後、組織が管理プラグインを持っていない場合でも、セッション内のそれ以降の切り替えを拒否していました。これらのバージョンでは、セッションを再起動してプラグインの読み込みを再度実行してください。2897v2.1.260 より前では、管理プラグインによる拒否は `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log` と表示されていました。Claude Code はプラグインの読み込みを 1 回再試行した後、組織が管理プラグインを持っていない場合でも、セッション内のそれ以降の切り替えを拒否していました。これらのバージョンでは、セッションを再起動してプラグインの読み込みを再度実行してください。


3499* **`Error: Workspace not trusted. <folder> is your home directory`**: ホームディレクトリの信頼は保存されないため、先にそこで `claude` を実行しても役に立ちません。代わりにプロジェクトディレクトリで一度 `claude` を実行して信頼ダイアログを承認した後、そこから `claude ultrareview` を実行するか、`--trust-workspace` を付けます。3517* **`Error: Workspace not trusted. <folder> is your home directory`**: ホームディレクトリの信頼は保存されないため、先にそこで `claude` を実行しても役に立ちません。代わりにプロジェクトディレクトリで一度 `claude` を実行して信頼ダイアログを承認した後、そこから `claude ultrareview` を実行するか、`--trust-workspace` を付けます。

3500* **`No answer in time.` の後に `Error: Workspace not trusted` が続く場合**: `Trust <folder>? [y/N]` の質問が 5 分間回答されませんでした。`claude ultrareview` を再実行して回答します。3518* **`No answer in time.` の後に `Error: Workspace not trusted` が続く場合**: `Trust <folder>? [y/N]` の質問が 5 分間回答されませんでした。`claude ultrareview` を再実行して回答します。

3501* **`Ultrareview did not start: <folder> is not trusted`**: `n` と答えるか Enter を押すなどして、`Trust <folder>? [y/N]` の質問で拒否しました。レビューを開始するには、`claude ultrareview` を再実行して `y` と答えます。3519* **`Ultrareview did not start: <folder> is not trusted`**: `n` と答えるか Enter を押すなどして、`Trust <folder>? [y/N]` の質問で拒否しました。レビューを開始するには、`claude ultrareview` を再実行して `y` と答えます。

3502* **``Ultrareview did not start: `--trust-workspace` takes no value``**:PR 番号や `false` など、フラグ以外のものが `--trust-workspace` の後に続いています。フォルダーを信頼しない場合は、フラグを省略します。この実行でフォルダーを信頼するには、PR 番号またはベースブランチをフラグの前に置きます:`claude ultrareview 1234 --trust-workspace`。3520* **``Ultrareview did not start: `--trust-workspace` takes no value``**: `--trust-workspace` の後に、PR 番号や `false` など、フラグ以外のものが続いています。フォルダを信頼しない場合は、フラグを省略します。この実行に限り信頼する場合は、PR 番号またはベースブランチをフラグの前に置きます: `claude ultrareview 1234 --trust-workspace`。

3503 3521 

3504v2.1.309 より前は、`claude ultrareview` は `--trust-workspace` を受け付けませんでした。3522v2.1.309 より前は、`claude ultrareview` は `--trust-workspace` を受け付けませんでした。

3505 3523 


3522`remote-control` 動詞の前に、Remote Control が開始するセッションを制限または設定するグローバルな `claude` フラグ(`--settings`、`--setting-sources`、`--permission-mode`、`--disallowed-tools`、`--mcp-config` など)を付けて [Remote Control](https://code.claude.com/docs/ja/remote-control.md) を開始しました。動詞の前に置いたフラグは、それらのセッションには届きません。Claude Code は代わりに、フラグ名を示して開始を拒否します:3540`remote-control` 動詞の前に、Remote Control が開始するセッションを制限または設定するグローバルな `claude` フラグ(`--settings`、`--setting-sources`、`--permission-mode`、`--disallowed-tools`、`--mcp-config` など)を付けて [Remote Control](https://code.claude.com/docs/ja/remote-control.md) を開始しました。動詞の前に置いたフラグは、それらのセッションには届きません。Claude Code は代わりに、フラグ名を示して開始を拒否します:

3523 3541 

3524```text theme={null}3542```text theme={null}

3525Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).3543Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`). Pass settings with `claude remote-control --settings <file>`.

3526```3544```

3527 3545 

3528`--verbose`、`--model`、またはラッパーによって挿入された `--session-id` や `--plugin-dir` など、破棄しても問題のないグローバルフラグについては、Claude Code は拒否しません。それらを無視して Remote Control を開始します。3546`--verbose`、`--model`、またはラッパーによって挿入された `--session-id` や `--plugin-dir` など、破棄しても問題のないグローバルフラグについては、Claude Code は拒否しません。それらを無視して Remote Control を開始します。


3536 3554 

3537v2.1.248 より前は、グローバルフラグが先にある場合、`claude remote-control` は独自のフラグを受け付けず、コマンドは `unknown option` エラーで失敗していました。3555v2.1.248 より前は、グローバルフラグが先にある場合、`claude remote-control` は独自のフラグを受け付けず、コマンドは `unknown option` エラーで失敗していました。

3538 3556 

3557### Remote Control did not start because of the `--settings` file

3558 

3559[`claude remote-control --settings`](https://code.claude.com/docs/ja/remote-control#start-a-remote-control-session) に渡したファイルに問題があります:

3560 

3561```text theme={null}

3562Error: Remote Control did not start, because sessions would skip part or all of the --settings file ./rc-settings.json: Invalid or malformed JSON

3563```

3564 

3565**対処方法:**

3566 

3567* メッセージに示された問題を修正してから、`claude remote-control` コマンドを再度実行します

3568 

3569### The settings file has changed since Remote Control started

3570 

3571`claude remote-control` を実行しているターミナルに表示されるこのメッセージは、[`--settings`](https://code.claude.com/docs/ja/remote-control#start-a-remote-control-session) に渡したファイルの現在の内容ではセッションが開始されないことを意味します:

3572 

3573```text theme={null}

3574Session failed: Error: The settings file /path/to/settings.json has changed since Remote Control started, so this session did not start. Restart `claude remote-control` to use it as it is now.

3575```

3576 

3577**対処方法:**

3578 

3579* ファイルを現在の内容で使用するには、`claude remote-control` を停止して同じコマンドを再度実行します。提供していたセッションを復元するには、[サーバー停止後にセッションを再開する](https://code.claude.com/docs/ja/remote-control.md#resume-sessions-after-stopping-the-server)を参照してください。

3580* Remote Control の開始時の設定を維持するには、ファイルの内容を元に戻し、`claude remote-control` が終了している場合はコマンドを再度実行します

3581 

3539### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3582### `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3540 3583 

3541このエラーは、[Remote Control](https://code.claude.com/docs/ja/remote-control.md) サーバーを起動するコマンドが `remote-control` の後に `--sandbox` または `--no-sandbox` を渡しているが、`claude remote-control` はどちらのフラグも受け付けないことを意味します。サーバーは起動せずに終了コード 1 で終了します:3584このエラーは、[Remote Control](https://code.claude.com/docs/ja/remote-control.md) サーバーを起動するコマンドが `remote-control` の後に `--sandbox` または `--no-sandbox` を渡しているが、`claude remote-control` はどちらのフラグも受け付けないことを意味します。サーバーは起動せずに終了コード 1 で終了します:


3806 3849 

3807関連するメッセージは、コマンドが実行される前に発生します:3850関連するメッセージは、コマンドが実行される前に発生します:

3808 3851 

3809* `Shell command permission check failed for pattern "..."`:コマンドの権限チェックで許可されませんでした。[注入されたコマンドの権限チェック](https://code.claude.com/docs/ja/skills.md#permission-checks-on-injected-commands)では、各権限モードでどの結果が中止につながるか、`allowed-tools` でコマンドを事前承認する方法について説明しています3852* `Shell command permission check failed for pattern "..."`: コマンドの権限チェックで許可されませんでした。[挿入されたコマンドの権限チェック](https://code.claude.com/docs/ja/skills.md#permission-checks-on-injected-commands)では、各権限モードでどの結果が中止につながるか、および `allowed-tools` でコマンドを事前承認する方法を説明しています

3810* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``:スキルのフロントマターが、bash のないマシンで bash を要求しています。Git for Windows をインストールするか、フロントマターを `shell: powershell` に変更します。[注入されたコマンドの実行方法](https://code.claude.com/docs/ja/skills.md#how-injected-commands-run)を参照してください3853* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found``: スキルのフロントマターが、bash のないマシンで bash を要求しています。Git for Windows をインストールするか、フロントマターを `shell: powershell` に変更します。[挿入されたコマンドの実行方法](https://code.claude.com/docs/ja/skills.md#how-injected-commands-run)を参照してください

3811 3854 

3812**対処方法:**3855**対処方法:**

3813 3856 


3960 4003 

3961* **ベースブランチを渡さなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較しており、上の例のようにベースブランチを明示的に渡すよう提案します4004* **ベースブランチを渡さなかった場合**: Claude Code はリポジトリのデフォルトブランチと比較しており、上の例のようにベースブランチを明示的に渡すよう提案します

3962* **クローン内に既に存在するベースブランチを渡した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります4005* **クローン内に既に存在するベースブランチを渡した場合**: ヒントは ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)`` となります

3963* **クローンに存在しないベースブランチを渡した場合**: Claude Code は比較の前にそのブランチを origin からフェッチしました。ヒントは ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` となります。クローンが shallow かどうかを Claude Code が判別できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前は、フェッチしたすべてのベースブランチに対して `git fetch --unshallow origin` を提案しており、完全なクローンではこのコマンドが `fatal: --unshallow on a complete repository does not make sense` で失敗していました。4006* **クローン内に存在しないベースブランチを渡した場合**: Claude Code は比較の前に origin からそのブランチをフェッチしました。ヒントは ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` となります。クローンがシャロークローンかどうかを Claude Code が判断できない場合は、代わりに `git fetch --unshallow origin` を提案します。v2.1.221 より前では、フェッチしたすべてのベースブランチに対してヒントが `git fetch --unshallow origin` を提案しており、完全なクローンではこのコマンドは `fatal: --unshallow on a complete repository does not make sense` で失敗していました。

3964 4007 

3965**対処方法:**4008**対処方法:**

3966 4009 


4490commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4533commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

4491```4534```

4492 4535 

4493マーケットプレイスプラグイン自身のファイル(`hooks/hooks.json` など)のフルパスを示すメッセージは、Claude Code がそのファイルをスキップしたことを意味します。これは、Claude Code がそのファイルがプラグイン内にあること、または[ローカルマーケットプレイス](https://code.claude.com/docs/ja/plugins/loading.md#in-place-and-copied-plugins)内のプラグインの場合はそのマーケットプレイス内にあることを確認できない場合に発生します。メッセージは、これらの各ファイルを次に示すコンポーネント名で報告します:4536マーケットプレイスプラグイン自身のファイルのいずれか(`hooks/hooks.json` など)のフルパスを示すメッセージは、Claude Code がそのファイルをスキップしたことを意味します。Claude Code は、ファイルがプラグイン内にあること、または[ローカルマーケットプレイス](https://code.claude.com/docs/ja/plugins/loading.md#in-place-and-copied-plugins)内のプラグインの場合はそのマーケットプレイス内にあることを確認できない場合、そのファイルをスキップします。メッセージでは、これらのファイルが次に示すコンポーネント名の下に報告されます:

4494 4537 

4495* `hooks/hooks.json`:`hooks`4538* `hooks/hooks.json`:`hooks`

4496* `monitors/monitors.json`:`monitors`4539* `monitors/monitors.json`:`monitors`

4497* `settings.json`:`settings`

4498* プラグインルートの `SKILL.md`:`skills`4540* プラグインルートの `SKILL.md`:`skills`

4499 4541 

4500例えば、次のメッセージは、プラグインとそのローカルマーケットプレイスの両方の外に解決される `hooks/hooks.json` に対するものです:4542例えば、次のメッセージは、プラグインとそのローカルマーケットプレイスの両方の外に解決される `hooks/hooks.json` に対するものです:

Details

117 <td>✗</td>117 <td>✗</td>

118 </tr>118 </tr>

119 119 

120 <tr>

121 <td>[Code Mode](https://code.claude.com/docs/ja/code-mode.md)</td>

122 <td>✓(実験的、[要件あり](https://code.claude.com/docs/ja/code-mode.md#requirements))</td>

123 <td>✓(実験的、[要件あり](https://code.claude.com/docs/ja/code-mode.md#requirements))</td>

124 <td>✗</td>

125 <td>✗</td>

126 <td>✗</td>

127 <td>✗</td>

128 </tr>

129 

120 <tr>130 <tr>

121 <td>[セッション間メッセージング](https://code.claude.com/docs/ja/cross-session-messaging.md)</td>131 <td>[セッション間メッセージング](https://code.claude.com/docs/ja/cross-session-messaging.md)</td>

122 <td>✓ <sup>[5](#fn5)</sup></td>132 <td>✓ <sup>[5](#fn5)</sup></td>


231 241 

232> [tab] Amazon Bedrock242> [tab] Amazon Bedrock

233>243>

234> \*\*利用不可:\*\*すべての [Claude サブスクリプションが必要な機能](#features-that-require-a-claude-subscription)に加え、[Web 検索](https://code.claude.com/docs/ja/tools-reference.md#websearch-tool-behavior)、[fast mode](https://code.claude.com/docs/ja/fast-mode.md)、[Advisor](https://code.claude.com/docs/ja/advisor.md)、[チャネル](https://code.claude.com/docs/ja/channels.md)、[分析ダッシュボード](https://code.claude.com/docs/ja/analytics.md)、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、[`/design-sync` および `/import` コマンド](https://code.claude.com/docs/ja/commands#all-commands)。244> \*\*利用不可:\*\*すべての [Claude サブスクリプションが必要な機能](#features-that-require-a-claude-subscription)に加え、[Web 検索](https://code.claude.com/docs/ja/tools-reference.md#websearch-tool-behavior)、[fast mode](https://code.claude.com/docs/ja/fast-mode.md)、[Advisor](https://code.claude.com/docs/ja/advisor.md)、[チャネル](https://code.claude.com/docs/ja/channels.md)、[Code Mode](https://code.claude.com/docs/ja/code-mode.md)、[分析ダッシュボード](https://code.claude.com/docs/ja/analytics.md)、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、[`/design-sync` および `/import` コマンド](https://code.claude.com/docs/ja/commands#all-commands)。

235>245>

236> **部分的なサポート:**246> **部分的なサポート:**

237>247>


244 254 

245> [tab] Claude Platform on AWS255> [tab] Claude Platform on AWS

246>256>

247> \*\*利用不可:\*\*すべての [Claude サブスクリプションが必要な機能](#features-that-require-a-claude-subscription)に加え、[fast mode](https://code.claude.com/docs/ja/fast-mode.md)、[チャネル](https://code.claude.com/docs/ja/channels.md)、[GitHub Actions](https://code.claude.com/docs/ja/github-actions.md)、[分析ダッシュボード](https://code.claude.com/docs/ja/analytics.md)、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、[`/design-sync` および `/import` コマンド](https://code.claude.com/docs/ja/commands#all-commands)。257> \*\*利用不可:\*\*すべての [Claude サブスクリプションが必要な機能](#features-that-require-a-claude-subscription)に加え、[fast mode](https://code.claude.com/docs/ja/fast-mode.md)、[チャネル](https://code.claude.com/docs/ja/channels.md)、[GitHub Actions](https://code.claude.com/docs/ja/github-actions.md)、[Code Mode](https://code.claude.com/docs/ja/code-mode.md)、[分析ダッシュボード](https://code.claude.com/docs/ja/analytics.md)、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、[`/design-sync` および `/import` コマンド](https://code.claude.com/docs/ja/commands#all-commands)。

248>258>

249> **Amazon Bedrock では利用できないが、こちらでは利用可能:**[Web 検索](https://code.claude.com/docs/ja/tools-reference.md#websearch-tool-behavior)、および Claude Code v2.1.300 以降での [Advisor](https://code.claude.com/docs/ja/advisor.md)。259> **Amazon Bedrock では利用できないが、こちらでは利用可能:**[Web 検索](https://code.claude.com/docs/ja/tools-reference.md#websearch-tool-behavior)、および Claude Code v2.1.300 以降での [Advisor](https://code.claude.com/docs/ja/advisor.md)。

250>260>


256 266 

257> [tab] Google Cloud's Agent Platform267> [tab] Google Cloud's Agent Platform

258>268>

259> \*\*利用不可:\*\*すべての [Claude サブスクリプションが必要な機能](#features-that-require-a-claude-subscription)に加え、[Advisor](https://code.claude.com/docs/ja/advisor.md)、[チャネル](https://code.claude.com/docs/ja/channels.md)、[分析ダッシュボード](https://code.claude.com/docs/ja/analytics.md)、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、[`/design-sync` および `/import` コマンド](https://code.claude.com/docs/ja/commands#all-commands)。269> \*\*利用不可:\*\*すべての [Claude サブスクリプションが必要な機能](#features-that-require-a-claude-subscription)に加え、[Advisor](https://code.claude.com/docs/ja/advisor.md)、[チャネル](https://code.claude.com/docs/ja/channels.md)、[Code Mode](https://code.claude.com/docs/ja/code-mode.md)、[分析ダッシュボード](https://code.claude.com/docs/ja/analytics.md)、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、[`/design-sync` および `/import` コマンド](https://code.claude.com/docs/ja/commands#all-commands)。

260>270>

261> **部分的なサポート:**271> **部分的なサポート:**

262>272>


271 281 

272> [tab] Microsoft Foundry282> [tab] Microsoft Foundry

273>283>

274> \*\*利用不可:\*\*すべての [Claude サブスクリプションが必要な機能](#features-that-require-a-claude-subscription)に加え、[fast mode](https://code.claude.com/docs/ja/fast-mode.md)、[Advisor](https://code.claude.com/docs/ja/advisor.md)、[チャネル](https://code.claude.com/docs/ja/channels.md)、[GitLab CI/CD](https://code.claude.com/docs/ja/gitlab-ci-cd.md)、[分析ダッシュボード](https://code.claude.com/docs/ja/analytics.md)、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、[`/design-sync` および `/import` コマンド](https://code.claude.com/docs/ja/commands#all-commands)。284> \*\*利用不可:\*\*すべての [Claude サブスクリプションが必要な機能](#features-that-require-a-claude-subscription)に加え、[fast mode](https://code.claude.com/docs/ja/fast-mode.md)、[Advisor](https://code.claude.com/docs/ja/advisor.md)、[チャネル](https://code.claude.com/docs/ja/channels.md)、[GitLab CI/CD](https://code.claude.com/docs/ja/gitlab-ci-cd.md)、[Code Mode](https://code.claude.com/docs/ja/code-mode.md)、[分析ダッシュボード](https://code.claude.com/docs/ja/analytics.md)、[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、[`/design-sync` および `/import` コマンド](https://code.claude.com/docs/ja/commands#all-commands)。

275>285>

276> **部分的なサポート:**286> **部分的なサポート:**

277>287>

gateways.md +1 −1

Details

63* **クライアントテレメトリ**: Claude Code はセッションが Claude apps ゲートウェイにサインインするとき、Anthropic バウンドクライアント分析を無効にします。サインイン前のスタートアップ分析もオフに保つには、各デバイスの [クライアント側マネージドセッティング](https://code.claude.com/docs/ja/claude-apps-gateway-config.md#client-side-managed-settings) で [`DISABLE_TELEMETRY`](https://code.claude.com/docs/ja/managed-settings#turn-telemetry-off-for-your-organization) を配信します。63* **クライアントテレメトリ**: Claude Code はセッションが Claude apps ゲートウェイにサインインするとき、Anthropic バウンドクライアント分析を無効にします。サインイン前のスタートアップ分析もオフに保つには、各デバイスの [クライアント側マネージドセッティング](https://code.claude.com/docs/ja/claude-apps-gateway-config.md#client-side-managed-settings) で [`DISABLE_TELEMETRY`](https://code.claude.com/docs/ja/managed-settings#turn-telemetry-off-for-your-organization) を配信します。

64* **他のゲートウェイ上のクライアントテレメトリ**: Claude Code がオプションのクライアントテレメトリストリームを送信するかどうかはプロバイダーに依存し、[テレメトリデフォルトテーブル](https://code.claude.com/docs/ja/data-usage.md#default-behaviors-by-api-provider) は各ケースについて説明しています。64* **他のゲートウェイ上のクライアントテレメトリ**: Claude Code がオプションのクライアントテレメトリストリームを送信するかどうかはプロバイダーに依存し、[テレメトリデフォルトテーブル](https://code.claude.com/docs/ja/data-usage.md#default-behaviors-by-api-provider) は各ケースについて説明しています。

65* **テレメトリの宛先**: Claude Code がゲートウェイセッションのテレメトリを送信する場所は、セッションがどのようにサインインしたかに依存し、[開発者に対して何が強制されるか](https://code.claude.com/docs/ja/claude-apps-gateway#whats-enforced-on-developers) は各種類のセッションのエクスポート先を示しています。65* **テレメトリの宛先**: Claude Code がゲートウェイセッションのテレメトリを送信する場所は、セッションがどのようにサインインしたかに依存し、[開発者に対して何が強制されるか](https://code.claude.com/docs/ja/claude-apps-gateway#whats-enforced-on-developers) は各種類のセッションのエクスポート先を示しています。

66* **企業 HTTP プロキシ**: `HTTPS_PROXY` は Claude Code とそれが通信するすべてのサーバー(ゲートウェイを含む)の間に位置します。ネットワークが必要な場合、ゲートウェイに加えて [プロキシを設定](https://code.claude.com/docs/ja/network-config.md) してください。Claude apps ゲートウェイをホストする場合、[サインインはプロキシホストもプライベートネットワーク上にあることを確認します](https://code.claude.com/docs/ja/claude-apps-gateway#prerequisites)。そうでない場合、ゲートウェイホストを `NO_PROXY` に追加して、CLI がそれに直接接続するようにします。66* **企業 HTTP プロキシ**: Claude Code は、ゲートウェイへのリクエストを含むリクエストを `HTTPS_PROXY` のプロキシ経由で送信します。ネットワークでプロキシが必要な場合は、[プロキシを設定](https://code.claude.com/docs/ja/network-config.md)してください。ホストしている Claude apps ゲートウェイにプロキシが適用される場合、[サインイン](https://code.claude.com/docs/ja/claude-apps-gateway#prerequisites)には、プロキシのホスト名がプライベートアドレスに解決されるか、ゲートウェイホストが `NO_PROXY` に含まれている必要があります。

67 67 

68## 次のステップ68## 次のステップ

69 69 

Details

129| Administration | 読み取り |129| Administration | 読み取り |

130| Checks | 読み取りと書き込み |130| Checks | 読み取りと書き込み |

131| Contents | 読み取りと書き込み |131| Contents | 読み取りと書き込み |

132| Dependabot alerts | 読み取り |

132| Discussions | 読み取りと書き込み |133| Discussions | 読み取りと書き込み |

133| Issues | 読み取りと書き込み |134| Issues | 読み取りと書き込み |

134| Members | 読み取り |135| Members | 読み取り |

Details

84> リポジトリ用のフェデレーション認証情報を持つ Microsoft Entra アプリケーションを作成し、[GitHub Actions から認証するための Microsoft ガイド](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect) に従います。84> リポジトリ用のフェデレーション認証情報を持つ Microsoft Entra アプリケーションを作成し、[GitHub Actions から認証するための Microsoft ガイド](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect) に従います。

85>85>

86> * Microsoft Entra アプリケーションを登録し、GitHub がリポジトリに発行するトークンを信頼するフェデレーション ID 認証情報を追加します。ユーザー割り当てマネージドアイデンティティはアプリケーションの代わりに機能します。どちらも以下でメモするクライアント ID を持ちます86> * Microsoft Entra アプリケーションを登録し、GitHub がリポジトリに発行するトークンを信頼するフェデレーション ID 認証情報を追加します。ユーザー割り当てマネージドアイデンティティはアプリケーションの代わりに機能します。どちらも以下でメモするクライアント ID を持ちます

87> * Foundry リソースでアプリケーションに `Azure AI User` ロールを割り当てます。より狭いカスタムロールについては [Azure RBAC 構成](https://code.claude.com/docs/ja/microsoft-foundry.md#azure-rbac-configuration) を参照してください87> * Foundry リソースでアプリケーションに `Foundry User` ロールを割り当てます。もう 1 つの組み込みロールとカスタムロールについては [Azure RBAC 構成](https://code.claude.com/docs/ja/microsoft-foundry.md#azure-rbac-configuration) を参照してください

88>88>

89> アプリケーションのクライアント ID、テナント ID、サブスクリプション ID をメモします。次のステップでシークレットとして追加します。89> アプリケーションのクライアント ID、テナント ID、サブスクリプション ID をメモします。次のステップでシークレットとして追加します。

90 90 

Details

228 228 

229### セッション中にモデルが無効化された場合229### セッション中にモデルが無効化された場合

230 230 

231プロジェクトがセッションで実行しているモデルへのアクセスを失った場合(例えば、管理者が [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)で無効化した場合)、Claude Code は各リクエストが失敗する代わりにセッションを別のモデルに切り替え、`Switched to <fallback> because <model> is not available` を表示します。起動時フォールバックと同じモデルを試します。同じティアの以前のバージョンを最初に試し、Opus セッションで Opus バージョンが利用できない場合は、デフォルト Sonnet モデルを試します。231Agent Platform がセッションのモデルをプロジェクトまたはリージョンで利用できないとして拒否した場合、Claude Code はセッションを別のモデルに切り替えるため、作業を続けることができます。`Switched to <fallback> because <model> is not available` で始まるメッセージが表示されます。これは、例えば管理者が [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) でモデルを無効化した場合や、リージョンでそのモデルが提供されていない場合に発生します。

232 232 

233切り替えは、ピン留めしていないティアにのみ適用されます。これは起動時フォールバックと同じ条件です。選択した特定のバージョンでのセッションはそのモデルを保持し、フォールバックモデルチェーンがない場合、リクエストは失敗します。[auto モード](https://code.claude.com/docs/ja/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry)では、Claude Code は Agent Platform で auto モードがサポートするモデルにのみ切り替えます。それらのモデルも利用できない場合、リクエストは失敗します。233[フォールバックモデルチェーン](https://code.claude.com/docs/ja/model-config.md#fallback-model-chains)を設定している場合、Claude Code は代わりに設定したフォールバックに切り替えます。チェーンがない場合、次のようなケースではリクエストが失敗します。

234 234 

235設定した[フォールバックモデルチェーン](https://code.claude.com/docs/ja/model-config.md#fallback-model-chains)はティア切り替えを置き換えます。これらの拒否時に Claude Code は設定したフォールバックに切り替えます。拒否されたリクエストが切り替わらずに失敗するようにするには、[`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/ja/env-vars)を設定してください。設定したフォールバックチェーンはこれらの拒否時に切り替わります。すべての拒否されたリクエストが失敗するようにしたい場合は、チェーンも削除してください。235* セッションがピン留めされたモデル、または選択した特定のバージョンを使用している

236* [Claude Code が試すモデル](#startup-model-checks)のいずれも利用できない。[auto モード](https://code.claude.com/docs/ja/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry)では、Claude Code は Agent Platform で auto モードがサポートするモデルにのみ切り替えます。

237 

238作業を続けるには、セッションで `/model` を実行し、プロジェクトとリージョンで利用可能なモデル上で `s` を押してください。この操作ではデフォルトは変更されません。

239 

240拒否されたリクエストが切り替わらずに失敗するようにするには、[`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/ja/env-vars)を設定してください。フォールバックモデルチェーンを設定している場合は、それも削除してください。Claude Code はそのフォールバックには引き続き移行するためです。

236 241 

237## IAM 設定242## IAM 設定

238 243 

hooks.md +22 −7

Details

257管理者は[管理設定](https://code.claude.com/docs/ja/managed-settings.md)で [`allowManagedHooksOnly`](https://code.claude.com/docs/ja/settings-reference#allowmanagedhooksonly) を使用して、実行されるフックを制限できます。257管理者は[管理設定](https://code.claude.com/docs/ja/managed-settings.md)で [`allowManagedHooksOnly`](https://code.claude.com/docs/ja/settings-reference#allowmanagedhooksonly) を使用して、実行されるフックを制限できます。

258 258 

259* ユーザー、プロジェクト、ローカル、プラグインのフックはブロックされます。管理設定の `enabledPlugins` で強制的に有効化されたプラグインのフックは除外されます259* ユーザー、プロジェクト、ローカル、プラグインのフックはブロックされます。管理設定の `enabledPlugins` で強制的に有効化されたプラグインのフックは除外されます

260* Claude Code は、[`statusLine`](https://code.claude.com/docs/ja/statusline)、[`fileSuggestion`](https://code.claude.com/docs/ja/settings-reference#filesuggestion)、[`subagentStatusLine`](https://code.claude.com/docs/ja/statusline#subagent-status-lines) の設定も管理設定のものに限定します260* Claude Code は、[`statusLine`](https://code.claude.com/docs/ja/statusline) と [`fileSuggestion`](https://code.claude.com/docs/ja/settings-reference#filesuggestion) の設定も管理設定のものに限定します

261* Claude Code は、[`command` ソース](https://code.claude.com/docs/ja/plugins/marketplace-reference#command-plugin-source)を持つプラグインも無効化します。これには管理設定の `enabledPlugins` で強制的に有効化されたプラグインも含まれます。ただし、[`disableCommandPluginSources`](https://code.claude.com/docs/ja/settings-reference#disablecommandpluginsources) が明示的に `false` に設定されている場合は除きます。`command` ソースには Claude Code v2.1.229 以降が必要です261* Claude Code は、[`command` ソース](https://code.claude.com/docs/ja/plugins/marketplace-reference#command-plugin-source)を持つプラグインも無効化します。これには管理設定の `enabledPlugins` で強制的に有効化されたプラグインも含まれます。ただし、[`disableCommandPluginSources`](https://code.claude.com/docs/ja/settings-reference#disablecommandpluginsources) が明示的に `false` に設定されている場合は除きます。`command` ソースには Claude Code v2.1.229 以降が必要です

262* Claude Code は、マーケットプレイスの [`headersHelper` コマンド](https://code.claude.com/docs/ja/plugins/host-marketplace#authenticate-archive-downloads)もブロックします。ただし、[`disableCommandPluginSources`](https://code.claude.com/docs/ja/settings-reference#disablecommandpluginsources) が明示的に `false` に設定されている場合は除きます。また、管理設定自体が宣言しているマーケットプレイスは対象外です262* Claude Code は、マーケットプレイスの [`headersHelper` コマンド](https://code.claude.com/docs/ja/plugins/host-marketplace#authenticate-archive-downloads)もブロックします。ただし、[`disableCommandPluginSources`](https://code.claude.com/docs/ja/settings-reference#disablecommandpluginsources) が明示的に `false` に設定されている場合は除きます。また、管理設定自体が宣言しているマーケットプレイスは対象外です

263 263 


505| `url` | はい | POST リクエストを送信する URL |505| `url` | はい | POST リクエストを送信する URL |

506| `headers` | いいえ | キー値ペアとしての追加 HTTP ヘッダー。値は `$VAR_NAME` または `${VAR_NAME}` 構文を使用した環境変数補間をサポートします。`allowedEnvVars` にリストされている変数のみが解決されます |506| `headers` | いいえ | キー値ペアとしての追加 HTTP ヘッダー。値は `$VAR_NAME` または `${VAR_NAME}` 構文を使用した環境変数補間をサポートします。`allowedEnvVars` にリストされている変数のみが解決されます |

507| `allowedEnvVars` | いいえ | ヘッダー値に補間される可能性のある環境変数名のリスト。リストされていない変数への参照は空の文字列に置き換えられます。環境変数補間が機能するために必須 |507| `allowedEnvVars` | いいえ | ヘッダー値に補間される可能性のある環境変数名のリスト。リストされていない変数への参照は空の文字列に置き換えられます。環境変数補間が機能するために必須 |

508| `onFailure` | いいえ | フックが失敗したときにアクションがどうなるか。`"continue"`(デフォルト)または `"block"`。[フックが失敗したときにアクションをブロックする](#block-the-action-when-a-hook-fails)を参照してください。Claude Code v2.1.295 以降が必要です |508| `onFailure` | いいえ | フックが失敗したときに、フックをトリガーしたアクションを続行するかどうか。`"continue"` または `"block"`。`"block"` の場合と、このフィールドを未設定のままにした場合については、[フックが失敗したときにアクションをブロックする](#block-the-action-when-a-hook-fails)を参照してください。Claude Code v2.1.295 以降が必要です |

509 509 

510Claude Code はフックの [JSON 入力](#hook-input-and-output)を `Content-Type: application/json` の POST リクエスト本体として送信します。レスポンス本体はコマンド フックと同じ [JSON 出力形式](#json-output)を使用します。510Claude Code はフックの [JSON 入力](#hook-input-and-output)を `Content-Type: application/json` の POST リクエスト本体として送信します。レスポンス本体はコマンド フックと同じ [JSON 出力形式](#json-output)を使用します。

511 511 


901 901 

902`PreToolUse` では、タイムアウトした `command`、`http`、または `mcp_tool` フックはツール呼び出しをブロックしません。ただし、[失敗時にアクションをブロックするフック](#block-the-action-when-a-hook-fails)は例外です。呼び出しは通常の[権限フロー](https://code.claude.com/docs/ja/permissions.md)を通じて続行されるため、停止したフックがゲートとして機能することを当てにしないでください。`command` または `http` フックがタイムアウトしたときに呼び出しをブロックするには、[`onFailure: "block"`](#block-the-action-when-a-hook-fails) を設定してください。タイムアウトを超えた [Agent SDK コールバック フック](https://code.claude.com/docs/ja/agent-sdk/hooks.md)は[ツール呼び出しをブロックします](#pretooluse)。902`PreToolUse` では、タイムアウトした `command`、`http`、または `mcp_tool` フックはツール呼び出しをブロックしません。ただし、[失敗時にアクションをブロックするフック](#block-the-action-when-a-hook-fails)は例外です。呼び出しは通常の[権限フロー](https://code.claude.com/docs/ja/permissions.md)を通じて続行されるため、停止したフックがゲートとして機能することを当てにしないでください。`command` または `http` フックがタイムアウトしたときに呼び出しをブロックするには、[`onFailure: "block"`](#block-the-action-when-a-hook-fails) を設定してください。タイムアウトを超えた [Agent SDK コールバック フック](https://code.claude.com/docs/ja/agent-sdk/hooks.md)は[ツール呼び出しをブロックします](#pretooluse)。

903 903 

904> [!NOTE]

905>

906> Code Mode を使用している場合、`PreToolUse` でのタイムアウトの動作は異なります。[フックによって拒否されたツール呼び出し](https://code.claude.com/docs/ja/code-mode.md#tool-call-refused-by-a-hook)を参照してください。

907 

904#### バックグラウンド プロセスを開始するフック908#### バックグラウンド プロセスを開始するフック

905 909 

906フックは、開発サーバーなどの長時間実行されるプログラムを起動し、セッションの続行中も実行したままにできます。フックのスクリプトまたは[シェル形式](#exec-form-and-shell-form)のコマンドで、次のようにします。910フックは、開発サーバーなどの長時間実行されるプログラムを起動し、セッションの続行中も実行したままにできます。フックのスクリプトまたは[シェル形式](#exec-form-and-shell-form)のコマンドで、次のようにします。


981* **`Stop`、`SubagentStop`、`TaskCompleted`、`TeammateIdle` フック**: これらのイベントでの終了コード 2 は Claude を作業に戻しますが、Claude は実行されないフックを修復できません985* **`Stop`、`SubagentStop`、`TaskCompleted`、`TeammateIdle` フック**: これらのイベントでの終了コード 2 は Claude を作業に戻しますが、Claude は実行されないフックを修復できません

982* **バックグラウンド コマンド フック**: [`async` または `asyncRewake`](#run-hooks-in-the-background) を設定したコマンド フック986* **バックグラウンド コマンド フック**: [`async` または `asyncRewake`](#run-hooks-in-the-background) を設定したコマンド フック

983 987 

988> [!NOTE]

989>

990> Code Mode を使用している場合、`PreToolUse` での失敗の動作は異なります。[フックによって拒否されたツール呼び出し](https://code.claude.com/docs/ja/code-mode.md#tool-call-refused-by-a-hook)を参照してください。

991 

984#### Git Bash のない Windows で失敗したフック992#### Git Bash のない Windows で失敗したフック

985 993 

986ブロックされたツール呼び出しのエラーに次のテキストが含まれている場合、`PreToolUse` または `PermissionRequest` コマンド フックが失敗またはタイムアウトし、呼び出しをブロックしています。994ブロックされたツール呼び出しのエラーに次のテキストが含まれている場合、`PreToolUse` または `PermissionRequest` コマンド フックが失敗またはタイムアウトし、呼び出しをブロックしています。


1512* `/loop` の反復を含む、[セッションスコープのスケジュールタスク](https://code.claude.com/docs/ja/scheduled-tasks.md)が発火したとき1520* `/loop` の反復を含む、[セッションスコープのスケジュールタスク](https://code.claude.com/docs/ja/scheduled-tasks.md)が発火したとき

1513* [バックグラウンドのサブエージェント](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)が、それを開始したセッションに報告を返すとき1521* [バックグラウンドのサブエージェント](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)が、それを開始したセッションに報告を返すとき

1514* [別のセッションが送信したメッセージ](https://code.claude.com/docs/ja/cross-session-messaging.md)がメインの会話に届くとき1522* [別のセッションが送信したメッセージ](https://code.claude.com/docs/ja/cross-session-messaging.md)がメインの会話に届くとき

1523* [Code Mode](https://code.claude.com/docs/ja/code-mode.md#code-output-withheld-by-a-hook) セッションにおける Claude のコードの出力(`command`、`http`、`mcp_tool` フックの場合で、コードをバックグラウンドで実行できるとき)

1515 1524 

1516`UserPromptSubmit` フックのデフォルトのタイムアウトは、`command`、`http`、`mcp_tool` タイプで 30 秒です。これは、他のほとんどのイベントにおけるこれらのタイプのデフォルトである 600 秒より短い値です。このフックはすべてのプロンプトの前に実行され、完了するまでモデルの処理をブロックするため、フックが停止するとセッションも停止します。フックにより多くの時間が必要な場合は、フックエントリで `timeout` フィールドを設定してください。1525`UserPromptSubmit` フックのデフォルトのタイムアウトは、`command`、`http`、`mcp_tool` タイプで 30 秒です。これは、他のほとんどのイベントにおけるこれらのタイプのデフォルトである 600 秒より短い値です。このフックはすべてのプロンプトの前に実行され、完了するまでモデルの処理をブロックするため、フックが停止するとセッションも停止します。フックにより多くの時間が必要な場合は、フックエントリで `timeout` フィールドを設定してください。

1517 1526 


1560| フィールド | 説明 |1569| フィールド | 説明 |

1561| :- | :- |1570| :- | :- |

1562| `decision` | `"block"` はプロンプトが Claude に届く前に停止します。プロンプトの処理を続行させるには省略します |1571| `decision` | `"block"` はプロンプトが Claude に届く前に停止します。プロンプトの処理を続行させるには省略します |

1563| `reason` | `decision` が `"block"` の場合にユーザーに表示されます。コンテキストには追加されません |1572| `reason` | `decision` が `"block"` の場合にユーザーに表示されます。コンテキストには追加されません。ただし、フックが [Code Mode の出力](https://code.claude.com/docs/ja/code-mode.md#code-output-withheld-by-a-hook)をブロックする場合は除きます |

1564| `additionalContext` | 送信されたプロンプトとともに Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |1573| `additionalContext` | 送信されたプロンプトとともに Claude のコンテキストに追加される文字列。[Claude にコンテキストを追加する](#add-context-for-claude)を参照してください |

1565| `sessionTitle` | セッションタイトルを設定します。プロンプトの内容に基づいてセッションに自動的に名前を付けるために使用します |1574| `sessionTitle` | セッションタイトルを設定します。プロンプトの内容に基づいてセッションに自動的に名前を付けるために使用します |

1566| `suppressOriginalPrompt` | フックがプロンプトをブロックする際に `true` の場合、ブロックメッセージからプロンプトのテキストを除外します。[ブロックされたプロンプトが残すもの](#what-a-blocked-prompt-leaves-behind)を参照してください |1575| `suppressOriginalPrompt` | フックがプロンプトをブロックする際に `true` の場合、ブロックメッセージからプロンプトのテキストを除外します。[ブロックされたプロンプトが残すもの](#what-a-blocked-prompt-leaves-behind)を参照してください |

1567 1576 

1568終了コード 2 でブロックするフックは、`reason` と同じように扱われます。ブロックメッセージには stderr のテキストがユーザーに表示され、コンテキストには追加されません。1577フックが終了コード 2 でブロックする場合、その stderr のテキストは `reason` と同じように扱われます。

1569 1578 

1570```json theme={null}1579```json theme={null}

1571{1580{


3000 3009 

3001セッション中に設定ファイルが変更されたときに実行されます。設定変更の監査、セキュリティポリシーの適用、設定ファイルへの不正な変更のブロックに使用します。3010セッション中に設定ファイルが変更されたときに実行されます。設定変更の監査、セキュリティポリシーの適用、設定ファイルへの不正な変更のブロックに使用します。

3002 3011 

3003Claude Code は、設定ファイル、管理ポリシーファイル、またはスキルファイルが変更されたときに ConfigChange フックを実行します。管理ポリシーについては、`managed-settings.json` または `managed-settings.d/` 内のファイルが変更された場合にのみ実行します。[サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)や、macOS の管理された環境設定、Windows レジストリのポリシーへの変更は、フックを実行せずに適用されます。[`wslInheritsWindowsSettings`](https://code.claude.com/docs/ja/settings-reference#wslinheritswindowssettings) を使用した WSL では、変更された Windows 側の管理設定ファイルも、ポリシーのポーリング時にフックを実行せずに適用されます。3012Claude Code は、設定ファイル、管理ポリシーファイル、またはスキルファイルが変更されたときに ConfigChange フックを実行します。管理ポリシーについては、`managed-settings.json` または `managed-settings.d/` 内のファイルが変更された場合にのみ実行します。

3004 3013 

3005matcher は設定のソースでフィルタリングします。3014matcher は設定のソースでフィルタリングします。

3006 3015 


3012| `policy_settings` | `managed-settings.json` または `managed-settings.d/` 内のファイルが変更されたとき |3021| `policy_settings` | `managed-settings.json` または `managed-settings.d/` 内のファイルが変更されたとき |

3013| `skills` | `.claude/skills/` 内のスキルファイルが変更されたとき |3022| `skills` | `.claude/skills/` 内のスキルファイルが変更されたとき |

3014 3023 

3015次の例は、セキュリティ監査のためにすべての設定変更をログに記録します。3024次のような変更は、フックを実行せずに反映されます。

3025 

3026* **Yes, and don't ask again**、`/permissions`、または `/model` で保存したルールと設定(保存元のセッション内)。同じファイルを別の開いているセッションが読み込む場合、そのセッションではフックが実行されます。

3027* [サーバー管理設定](https://code.claude.com/docs/ja/server-managed-settings.md)、macOS の管理プリファレンス、または Windows レジストリポリシーの更新

3028* [`wslInheritsWindowsSettings`](https://code.claude.com/docs/ja/settings-reference#wslinheritswindowssettings) を使用している WSL で、Windows 側の管理設定ファイルが変更された場合(Claude Code はポリシーのポーリング時にこれを取り込みます)

3029 

3030次の例は、セキュリティ監査のために設定の変更をログに記録します。

3016 3031 

3017```json theme={null}3032```json theme={null}

3018{3033{


3335 "hooks": [3350 "hooks": [

3336 {3351 {

3337 "type": "command",3352 "type": "command",

3338 "command": "bash -c 'jq -r .worktree_path | xargs rm -rf'"3353 "command": "bash -c 'p=$(jq -er .worktree_path) && rm -rf -- \"$p\"'"

3339 }3354 }

3340 ]3355 ]

3341 }3356 }

hooks-guide.md +4 −4

Details

50 "PostToolUse": [50 "PostToolUse": [

51 {51 {

52 "matcher": "Edit|Write",52 "matcher": "Edit|Write",

53 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]53 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }]

54 }54 }

55 ],55 ],

56 "Notification": [56 "Notification": [


221 "hooks": [221 "hooks": [

222 {222 {

223 "type": "command",223 "type": "command",

224 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"224 "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\""

225 }225 }

226 ]226 ]

227 }227 }


336 336 

337セッション中に設定ファイルやスキルファイルが変更されたタイミングを追跡します。`ConfigChange` イベントは、外部プロセスやエディタが設定ファイルを変更したときに発火するため、コンプライアンスのために変更をログに記録したり、許可されていない変更をブロックしたりできます。337セッション中に設定ファイルやスキルファイルが変更されたタイミングを追跡します。`ConfigChange` イベントは、外部プロセスやエディタが設定ファイルを変更したときに発火するため、コンプライアンスのために変更をログに記録したり、許可されていない変更をブロックしたりできます。

338 338 

339この例では、各変更を監査ログに追記します。これを `~/.claude/settings.json` に追加します。339この例では、各イベントを監査ログに追記します。以下を `~/.claude/settings.json` に追加します:

340 340 

341```json theme={null}341```json theme={null}

342{342{


925エンドポイントは、コマンドフックと同じ [出力形式](https://code.claude.com/docs/ja/hooks.md#json-output) の JSON ボディで応答し、Claude Code はレスポンスのステータスも確認します:925エンドポイントは、コマンドフックと同じ [出力形式](https://code.claude.com/docs/ja/hooks.md#json-output) の JSON ボディで応答し、Claude Code はレスポンスのステータスも確認します:

926 926 

927* **2xx ステータス**:ツール呼び出しをブロックするには、ボディで適切な `hookSpecificOutput` フィールドを返します。927* **2xx ステータス**:ツール呼び出しをブロックするには、ボディで適切な `hookSpecificOutput` フィールドを返します。

928* **その他のステータス、またはリクエストが失敗した場合**:Claude Code は [ノンブロッキングエラー](https://code.claude.com/docs/ja/hooks.md#exit-code-output) を報告し、アクションを続行させます。失敗したエンドポイントでアクションをブロックするには、フックに [`onFailure: "block"`](https://code.claude.com/docs/ja/hooks#block-the-action-when-a-hook-fails) を設定します。928* **その他のステータス、またはリクエストが失敗した場合**:Claude Code は [ノンブロッキングエラー](https://code.claude.com/docs/ja/hooks.md#exit-code-output) を報告し、アクションを続行させます。ただし、そのフックが [失敗時にアクションをブロックするフック](https://code.claude.com/docs/ja/hooks.md#block-the-action-when-a-hook-fails) である場合を除きます。失敗したエンドポイントでアクションをブロックするには、フックに [`onFailure: "block"`](https://code.claude.com/docs/ja/hooks#block-the-action-when-a-hook-fails) を設定します。

929 929 

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

931 931 

Details

30| `Ctrl+T` | Claude のタスクチェックリストを切り替え | ステータス領域に[Claude のやることリスト](#task-list)を表示または非表示にします。これはバックグラウンドタスクビューではありません。実行中のシェルとサブエージェントを確認するには [`/tasks`](https://code.claude.com/docs/ja/commands) を使用してください |30| `Ctrl+T` | Claude のタスクチェックリストを切り替え | ステータス領域に[Claude のやることリスト](#task-list)を表示または非表示にします。これはバックグラウンドタスクビューではありません。実行中のシェルとサブエージェントを確認するには [`/tasks`](https://code.claude.com/docs/ja/commands) を使用してください |

31| `Ctrl+S` | プロンプトを保存または復元 | 入力にテキストがある場合、それを保存してプロンプトをクリアします。空のプロンプトで再度押すと、保存されたテキスト、カーソル位置、貼り付けられたコンテンツ、および入力モードが復元されるため、保存された `!` [シェルコマンド](#shell-mode-with-prefix)はシェルモードで戻ります |31| `Ctrl+S` | プロンプトを保存または復元 | 入力にテキストがある場合、それを保存してプロンプトをクリアします。空のプロンプトで再度押すと、保存されたテキスト、カーソル位置、貼り付けられたコンテンツ、および入力モードが復元されるため、保存された `!` [シェルコマンド](#shell-mode-with-prefix)はシェルモードで戻ります |

32| `Ctrl+Z` | Claude Code を一時停止 | Unix のみ。プロセスをシェルに一時停止します。`fg` を実行して再開します |32| `Ctrl+Z` | Claude Code を一時停止 | Unix のみ。プロセスをシェルに一時停止します。`fg` を実行して再開します |

33| `左/右矢印` | ダイアログタブを循環 | 権限ダイアログとメニューのタブ間を移動します。タブ付きダイアログでは、タブ行がフォーカスされている間、キーはタブを切り替えます。[タブアクション](https://code.claude.com/docs/ja/keybindings.md#tabs-actions)を参照して、フォーカスがどのように移動するかを確認してください |33| `Left/Right arrows` | ダイアログタブを循環 | 権限ダイアログとメニューのタブ間を移動します。タブ付きダイアログでは、タブ行がフォーカスされている間、キーはタブを切り替えます。[タブアクション](https://code.claude.com/docs/ja/keybindings.md#tabs-actions)を参照して、フォーカスがどのように移動するかを確認してください |

34| `Tab` | オートコンプリート候補を受け入れるか、権限回答にコメントを追加 | プロンプト入力にオートコンプリート候補が表示されている場合、選択された候補を受け入れます。ほとんどの権限プロンプトで、**はい**または**いいえ**がフォーカスされている場合、そのオプションのコメントフィールドを開き、再度押すとフィールドを閉じます。[権限プロンプトに回答するときにコメントを追加](https://code.claude.com/docs/ja/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)を参照してください |34| `Tab` | オートコンプリート候補を受け入れるか、権限回答にコメントを追加 | プロンプト入力にオートコンプリート候補が表示されている場合、選択された候補を受け入れます。ほとんどの権限プロンプトで、**はい**または**いいえ**がフォーカスされている場合、そのオプションのコメントフィールドを開き、再度押すとフィールドを閉じます。[権限プロンプトに回答するときにコメントを追加](https://code.claude.com/docs/ja/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)を参照してください |

35| `上/下矢印` または `Ctrl+P`/`Ctrl+N` | カーソルを移動またはコマンド履歴を移動 | 入力が複数の視覚行にまたがる場合(ラップされているか複数行かどうか)、最初にプロンプト内でカーソルを移動します。カーソルが最初または最後の視覚行にある場合、再度押すとコマンド履歴を移動します。メッセージがキューに入っている場合、最初の行から `Up` を押すと代わりに[キューに入れたものを取り戻します](#take-back-what-you-queued) |35| `Up/Down arrows` または `Ctrl+P`/`Ctrl+N` | カーソルを移動またはコマンド履歴を移動 | 入力が複数の視覚行にまたがる場合(ラップされているか複数行かどうか)、最初にプロンプト内でカーソルを移動します。カーソルが最初または最後の視覚行にある場合、再度押すとコマンド履歴を移動します。メッセージがキューに入っている場合、最初の行から `Up` を押すと代わりに[キューに入れたものを取り戻します](#take-back-what-you-queued) |

36| `Esc` | Claude を割り込むか、ダイアログを閉じる | 現在の応答またはツール呼び出しを途中で停止して、リダイレクトできます。Claude はこれまでの作業を保持します。[メッセージがキューに入っている](#queue-messages-while-claude-works)場合、Claude Code は次にそれらを送信します。ダイアログが開いている場合、`Esc` はダイアログを閉じます。フッター項目([サブエージェントパネル](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)内の行など)が選択されている場合、`Esc` は割り込みの代わりに[それを選択解除](https://code.claude.com/docs/ja/keybindings.md#footer-actions)します。権限プロンプトでは、`Esc` はアクション([コメントなしの**いいえ**](https://code.claude.com/docs/ja/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)と同じ)を拒否します |36| `Esc` | Claude を割り込むか、ダイアログを閉じる | 現在の応答またはツール呼び出しを途中で停止して、リダイレクトできます。Claude はこれまでの作業を保持します。[メッセージがキューに入っている](#queue-messages-while-claude-works)場合、Claude Code は次にそれらを送信します。ダイアログが開いている場合、`Esc` はダイアログを閉じます。フッター項目([サブエージェントパネル](https://code.claude.com/docs/ja/sub-agents.md#run-subagents-in-foreground-or-background)内の行など)が選択されている場合、`Esc` は割り込みの代わりに[それを選択解除](https://code.claude.com/docs/ja/keybindings.md#footer-actions)します。権限プロンプトでは、`Esc` はアクション([コメントなしの**いいえ**](https://code.claude.com/docs/ja/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)と同じ)を拒否します |

37| `Esc` + `Esc` | 入力ドラフトをクリアするか、巻き戻す | プロンプト入力にテキストが含まれている場合、ダブル `Esc` はそれをクリアし、ドラフトを履歴に保存して `Up` で呼び出せるようにします。入力が空の場合、ダブル `Esc` は[巻き戻しメニュー](https://code.claude.com/docs/ja/checkpointing.md)を開いて、前の時点からコードと会話を復元または要約できます |37| `Esc` + `Esc` | 入力ドラフトをクリアするか、巻き戻す | プロンプト入力にテキストが含まれている場合、ダブル `Esc` はそれをクリアし、ドラフトを履歴に保存して `Up` で呼び出せるようにします。入力が空の場合、ダブル `Esc` は[巻き戻しメニュー](https://code.claude.com/docs/ja/checkpointing.md)を開いて、前の時点からコードと会話を復元または要約できます |

38| `Ctrl+Enter` または `Ctrl+X Ctrl+S` | キューに入れたメッセージを今すぐ送信 | [キューに入れたメッセージ](#queue-messages-while-claude-works)とドラフトを直ちに送信します。[Claude Code がキューに入れたものを送信するとき](#when-claude-code-sends-what-you-queued)は、Claude が作業中のターンに何が起こるかについて説明しています。[シェルモード](#shell-mode-with-prefix)では、キーはコマンドをキューに入れるだけです。拡張キーを報告しないターミナルでは、`Ctrl+Enter` は通常の `Enter` として到着します。`Ctrl+X Ctrl+S` はすべてのターミナルで機能します。Claude Code v2.1.275 以降が必要です |38| `Ctrl+Enter` または `Ctrl+X Ctrl+S` | キューに入れたメッセージを今すぐ送信 | [キューに入れたメッセージ](#queue-messages-while-claude-works)とドラフトを直ちに送信します。[Claude Code がキューに入れたものを送信するとき](#when-claude-code-sends-what-you-queued)は、Claude が作業中のターンに何が起こるかについて説明しています。[シェルモード](#shell-mode-with-prefix)では、キーはコマンドをキューに入れるだけです。拡張キーを報告しないターミナルでは、`Ctrl+Enter` は通常の `Enter` として到着します。`Ctrl+X Ctrl+S` はすべてのターミナルで機能します。Claude Code v2.1.275 以降が必要です |

39| `Shift+Tab`、または Node または Bun ランタイムが VT 入力モードを有効にしない場合は Windows で `Alt+M` | 権限モードを循環 | `default`(モード指標で Manual とラベル付け)、`acceptEdits`、`plan`、および利用可能な場合は `bypassPermissions` と `auto` を循環します。`auto` から、最初のプレスは `default` に切り替わります。[権限モード](https://code.claude.com/docs/ja/permission-modes.md)を参照してください。ファイル権限プロンプトでは、同じキーが開いている[コメントフィールド](https://code.claude.com/docs/ja/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)を閉じます。フィールドが開いていない場合、プロンプトがそのオプションを提供するときに、セッションの残りの部分でアクションを許可するオプションを選択します |39| `Shift+Tab`、または Node または Bun ランタイムが VT 入力モードを有効にしない場合は Windows で `Alt+M` | 権限モードを循環 | `default`(モード指標で Manual とラベル付け)、`acceptEdits`、`plan`、および利用可能な場合は `bypassPermissions` と `auto` を循環します。[権限モード](https://code.claude.com/docs/ja/permission-modes.md)を参照してください。ファイル権限プロンプトでは、同じキーが開いている[コメントフィールド](https://code.claude.com/docs/ja/permissions.md#add-a-comment-when-you-answer-a-permission-prompt)を閉じます。フィールドが開いていない場合、プロンプトがそのオプションを提供するときに、セッションの残りの部分でアクションを許可するオプションを選択します。プラン承認プロンプトでは、プランを承認します |

40| `Option+P`(macOS)または `Alt+P`(Windows/Linux) | モデルを切り替え | プロンプトをクリアせずにモデルを切り替え |40| `Option+P`(macOS)または `Alt+P`(Windows/Linux) | モデルを切り替え | プロンプトをクリアせずにモデルを切り替え |

41| `Option+T`(macOS)または `Alt+T`(Windows/Linux) | 拡張思考を切り替え | 拡張思考モードを有効または無効にします。Opus 5.5、Sonnet 5.5、Haiku 5.5、または Fable モデルには効果がありません。これらは常に拡張思考を使用します。macOS で Option を Meta として設定せずに動作します |41| `Option+T`(macOS)または `Alt+T`(Windows/Linux) | 拡張思考を切り替え | 拡張思考モードを有効または無効にします。Opus 5.5、Sonnet 5.5、Haiku 5.5、または Fable モデルには効果がありません。これらは常に拡張思考を使用します。macOS で Option を Meta として設定せずに動作します |

42| `Option+O`(macOS)または `Alt+O`(Windows/Linux) | 高速モードを切り替え | [高速モード](https://code.claude.com/docs/ja/fast-mode.md)を有効または無効にします |42| `Option+O`(macOS)または `Alt+O`(Windows/Linux) | 高速モードを切り替え | [高速モード](https://code.claude.com/docs/ja/fast-mode.md)を有効または無効にします |


81| :- | :- | :- |81| :- | :- | :- |

82| クイックエスケープ | `\` + `Enter` | すべてのターミナルで機能 |82| クイックエスケープ | `\` + `Enter` | すべてのターミナルで機能 |

83| Option キー | `Option+Enter` | macOS で[Option を Meta として](https://code.claude.com/docs/ja/terminal-config.md#enable-option-key-shortcuts-on-macos)有効にした後 |83| Option キー | `Option+Enter` | macOS で[Option を Meta として](https://code.claude.com/docs/ja/terminal-config.md#enable-option-key-shortcuts-on-macos)有効にした後 |

84| Shift+Enter | `Shift+Enter` | iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal でネイティブ。他のターミナルについては、[複数行プロンプトを入力](https://code.claude.com/docs/ja/terminal-config.md#enter-multiline-prompts)を参照してください |84| Shift+Enter | `Shift+Enter` | iTerm2、WezTerm、Ghostty、Kitty、Warp、Windows Terminal でネイティブ。他のターミナルについては、[複数行プロンプトを入力](https://code.claude.com/docs/ja/terminal-config.md#enter-multiline-prompts)を参照してください |

85| 制御シーケンス | `Ctrl+J` | 設定なしで任意のターミナルで機能 |85| 制御シーケンス | `Ctrl+J` | 設定なしで任意のターミナルで機能 |

86| ペーストモード | 直接貼り付け | コードブロック、ログの場合 |86| ペーストモード | 直接貼り付け | コードブロック、ログの場合 |

87 87 


137 137 

138`/config` → Editor mode から vim スタイルの編集を有効にします。138`/config` → Editor mode から vim スタイルの編集を有効にします。

139 139 

140Claude Code は、`Ctrl+O` で[トランスクリプトビューア](#transcript-viewer)を切り替えたり、`/config` などのパネルを開いたり閉じたりするときに、vim モードとカーソル位置を保持します。プロンプトを NORMAL モードのままにしておくと、戻ってきたときも NORMAL モードのままで、カーソルは置いた場所にあります。

141 

142### モード切り替え140### モード切り替え

143 141 

144| コマンド | アクション | 元のモード |142| コマンド | アクション | 元のモード |


302 * `Ctrl+C` を押してキャンセルし、元の入力を復元します300 * `Ctrl+C` を押してキャンセルし、元の入力を復元します

303 * 空の検索で `Backspace` を押してキャンセルします301 * 空の検索で `Backspace` を押してキャンセルします

304 302 

305マッチを受け入れるか検索をキャンセルすると、Claude Code がまだ履歴を読み込んでいる場合でも、直ちに有効になります。

306 

307エラーログなど、以前のプロンプトに貼り付けた長い内容しか覚えていない場合にそのプロンプトを見つけるには、`Ctrl+R` を押して貼り付けた内容に含まれる単語を入力します。Claude Code v2.1.314 以降が必要です。303エラーログなど、以前のプロンプトに貼り付けた長い内容しか覚えていない場合にそのプロンプトを見つけるには、`Ctrl+R` を押して貼り付けた内容に含まれる単語を入力します。Claude Code v2.1.314 以降が必要です。

308 304 

309## バックグラウンド Bash コマンド305## バックグラウンド Bash コマンド


600 596 

601### Claude Code が下線を引く内容597### Claude Code が下線を引く内容

602 598 

603入力を一時停止した直後、Claude Code は辞書が認識しない単語に下線を引きます。入力中の単語はそれを超えるまで放置し、テキストを変更することはありません。また、コードのように見えるテキストもスキップします。599入力を一時停止した直後、Claude Code は辞書が認識しない単語に下線を引きます。入力中の単語は、カーソルがその単語を通り過ぎるまでそのままにします。また、コードのように見えるテキストもスキップします。

604 600 

605* `/help`、`@` メンション、URL、ファイルパス、`--verbose` などのフラグなどのコマンド601* `/help`、`@` メンション、URL、ファイルパス、`--verbose` などのフラグなどのコマンド

606* 数字、アンダースコア、または最初の後に大文字を含む単語、およびバッククォート内のテキスト602* 数字、アンダースコア、または最初の後に大文字を含む単語、およびバッククォート内のテキスト

keybindings.md +7 −2

Details

581 581 

582Claude Code は、`ctrl+x` プレフィックスに以下のデフォルトの chord をコンテキストごとにバインドしています。582Claude Code は、`ctrl+x` プレフィックスに以下のデフォルトの chord をコンテキストごとにバインドしています。

583 583 

584* `Chat`:`ctrl+x ctrl+k`、`ctrl+x ctrl+e`、`ctrl+x enter`、`ctrl+x ctrl+a`、`ctrl+x ctrl+s`、`ctrl+x tab`584* `Chat`:`ctrl+x ctrl+k`、`ctrl+x ctrl+e`、`ctrl+x enter`、`ctrl+x ctrl+a`、`ctrl+x ctrl+s`、`ctrl+x tab`、`ctrl+x ctrl+=`、`ctrl+x ctrl+-`、`ctrl+x ctrl+_`、`ctrl+x =`、`ctrl+x -`

585* `Task`:`ctrl+x ctrl+b`585* `Task`:`ctrl+x ctrl+b`

586* `DiffPanel`:`ctrl+x b`586* `DiffPanel`:`ctrl+x b`

587* `Pane`:`ctrl+x left`、`ctrl+x right`、`ctrl+x up`、`ctrl+x down`、`ctrl+x x`587* `Pane`:`ctrl+x left`、`ctrl+x right`、`ctrl+x up`、`ctrl+x down`、`ctrl+x x`


631 "ctrl+x ctrl+a": null,631 "ctrl+x ctrl+a": null,

632 "ctrl+x ctrl+s": null,632 "ctrl+x ctrl+s": null,

633 "ctrl+x tab": null,633 "ctrl+x tab": null,

634 "ctrl+x ctrl+=": null,

635 "ctrl+x ctrl+-": null,

636 "ctrl+x ctrl+_": null,

637 "ctrl+x =": null,

638 "ctrl+x -": null,

634 "ctrl+x": "chat:newline"639 "ctrl+x": "chat:newline"

635 }640 }

636 }641 }


716Claude Code はキーバインディングを検証し、以下の警告をデバッグログに書き込みます。721Claude Code はキーバインディングを検証し、以下の警告をデバッグログに書き込みます。

717 722 

718* 解析エラー(無効な JSON または構造)723* 解析エラー(無効な JSON または構造)

719* スペルミスのあるモディファイア(例:`ctl+k`)。Claude Code は認識できない部分を削除し、残りのキーストロークにバインディングを適用します。この例では `k` です。724* スペルミスのあるモディファイア(例:`ctl+k`)。Claude Code はバインディング全体を無視します。モディファイアを修正してください(この例では `ctrl+k`)。

720* キー文字列内の `+` の隣にあるスペース(例:`ctrl+ k`)。Claude Code はこの文字列を、`ctrl+` の後に `k` が続く[コード](#chords)として読み取ります。`ctrl+` 単独に一致するキー入力はないため、このバインディングは発火しません。スペースを削除してください。725* キー文字列内の `+` の隣にあるスペース(例:`ctrl+ k`)。Claude Code はこの文字列を、`ctrl+` の後に `k` が続く[コード](#chords)として読み取ります。`ctrl+` 単独に一致するキー入力はないため、このバインディングは発火しません。スペースを削除してください。

721* 無効なコンテキスト名726* 無効なコンテキスト名

722* 無効なアクション値(アクションが文字列または `null` ではない場合など)727* 無効なアクション値(アクションが文字列または `null` ではない場合など)

llm-gateway.md +4 −0

Details

43 43 

44`ANTHROPIC_BASE_URL` を通じて到達するゲートウェイを、管理対象マシンが使用できる唯一の宛先にするには、同じ管理設定ファイルで [`allowedProviders`](https://code.claude.com/docs/ja/settings-reference#allowedproviders) を `["customEndpoint"]` に設定し、ゲートウェイの `ANTHROPIC_BASE_URL` をそのファイルの `env` ブロックに配置します。Claude Code はその後、Anthropic に直接接続する場合や開発者独自のプロキシを含む他の場所を指すセッションを拒否し、`ANTHROPIC_BASE_URL` をそこに設定した値でのみ受け入れます。`ANTHROPIC_BEDROCK_BASE_URL` などのプロバイダー固有のエンドポイント変数を通じて到達するゲートウェイの場合、`allowedProviders` エントリはどの変数をピン留めするかを指定します。Claude Code v2.1.285 以降が必要です。44`ANTHROPIC_BASE_URL` を通じて到達するゲートウェイを、管理対象マシンが使用できる唯一の宛先にするには、同じ管理設定ファイルで [`allowedProviders`](https://code.claude.com/docs/ja/settings-reference#allowedproviders) を `["customEndpoint"]` に設定し、ゲートウェイの `ANTHROPIC_BASE_URL` をそのファイルの `env` ブロックに配置します。Claude Code はその後、Anthropic に直接接続する場合や開発者独自のプロキシを含む他の場所を指すセッションを拒否し、`ANTHROPIC_BASE_URL` をそこに設定した値でのみ受け入れます。`ANTHROPIC_BEDROCK_BASE_URL` などのプロバイダー固有のエンドポイント変数を通じて到達するゲートウェイの場合、`allowedProviders` エントリはどの変数をピン留めするかを指定します。Claude Code v2.1.285 以降が必要です。

45 45 

46> [!NOTE]

47>

48> Desktop が claude.ai にサインインしている場合、ユーザーのマシン上の Cowork セッションは [`"anthropic"`](https://code.claude.com/docs/ja/settings-reference#allowedproviders) として扱われます。MDM ポリシーまたは管理設定ファイルでこのリストから除外すると、そのセッションは拒否されます。含めると、Anthropic に直接送信されるセッションもこのリストを通過します。

49 

46## サブスクリプションとゲートウェイ50## サブスクリプションとゲートウェイ

47 51 

48[ゲートウェイ認証情報変数](https://code.claude.com/docs/ja/llm-gateway-connect.md#set-the-credential-variable)または `apiKeyHelper` がアクティブな場合、リクエストは開発者の claude.ai サブスクリプションログインの代わりにその認証情報を使用し、サブスクリプションの使用制限は適用されません。Claude Code はマシンに保存された claude.ai ログインを保持していますが、それらのリクエストでは送信しません。そのトラフィックは、ゲートウェイが転送する認証情報の所有者(組織の Anthropic Console アカウント、またはゲートウェイがそこにルーティングする場合の Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry アカウント)にトークンごとに請求されます。52[ゲートウェイ認証情報変数](https://code.claude.com/docs/ja/llm-gateway-connect.md#set-the-credential-variable)または `apiKeyHelper` がアクティブな場合、リクエストは開発者の claude.ai サブスクリプションログインの代わりにその認証情報を使用し、サブスクリプションの使用制限は適用されません。Claude Code はマシンに保存された claude.ai ログインを保持していますが、それらのリクエストでは送信しません。そのトラフィックは、ゲートウェイが転送する認証情報の所有者(組織の Anthropic Console アカウント、またはゲートウェイがそこにルーティングする場合の Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry アカウント)にトークンごとに請求されます。

Details

156 156 

157### 既存のログインとの競合157### 既存のログインとの競合

158 158 

159ゲートウェイ認証情報変数は、保存された claude.ai ログインまたは Console キーより優先されます。`ANTHROPIC_AUTH_TOKEN` では、変数は直ちに優先されます。`ANTHROPIC_API_KEY` では、キーが引き継ぐ前に、インタラクティブモードで 1 回承認するよう求められます。159リクエストには、保存された claude.ai ログインではなく、ゲートウェイ認証情報変数が使用されます。`ANTHROPIC_AUTH_TOKEN` では、変数は直ちに優先されます。`ANTHROPIC_API_KEY` では、キーが引き継ぐ前に、インタラクティブモードで 1 回承認するよう求められます。

160 160 

161`/status` を実行して、どの認証情報ソースがアクティブかを確認します。起動が 2 つのソースという名前の認証競合警告を表示する場合は、[トラブルシューティングテーブル](#troubleshoot-gateway-errors)の最初の行を参照して、どちらを削除するかを確認してください。保存されたログインをクリアしてゲートウェイ認証情報のみを残すには、`/logout` を実行してください。161`/status` を実行して、どの認証情報ソースがアクティブかを確認します。起動が 2 つのソースという名前の認証競合警告を表示する場合は、[トラブルシューティングテーブル](#troubleshoot-gateway-errors)の最初の行を参照して、どちらを削除するかを確認してください。保存されたログインをクリアしてゲートウェイ認証情報のみを残すには、`/logout` を実行してください。

162 162 


506 506 

507| エラー | 原因 | 修正 |507| エラー | 原因 | 修正 |

508| :- | :- | :- |508| :- | :- | :- |

509| 2 つの認証情報ソースという名前の起動警告で、`auth may not work as expected` で終わります。古いバージョンは代わりに `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` を表示します。 | ゲートウェイ認証情報と保存されたログインの両方がアクティブです。変数はリクエストに使用されますが、古いログインは予期しない認証動作を引き起こす可能性があります | 変数を設定解除して保存されたログインを使用するか、`/logout` を実行してゲートウェイ認証情報を使用します |509| 2 つの認証情報ソースという名前の起動警告で、`auth may not work as expected` で終わります。古いバージョンは代わりに `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` を表示します。 | ゲートウェイ認証情報と保存されたログインの両方がアクティブです | 変数を設定解除して保存されたログインを使用するか、`/logout` を実行してゲートウェイ認証情報を使用します |

510| 無効または認識されないトークンという名前の `401` エラー | 認証情報はゲートウェイが発行したものではないか、ゲートウェイが読まないヘッダーにあります | [認証情報テーブル](#set-the-credential-variable)で変数が認証情報の種類と一致することを確認し、ゲートウェイで失効した場合はキーを再生成します |510| 無効または認識されないトークンという名前の `401` エラー | 認証情報はゲートウェイが発行したものではないか、ゲートウェイが読まないヘッダーにあります | [認証情報テーブル](#set-the-credential-variable)で変数が認証情報の種類と一致することを確認し、ゲートウェイで失効した場合はキーを再生成します |

511| `Your apiKeyHelper script is failing`、または非対話型モードで stderr に `apiKeyHelper failed:` | [`apiKeyHelper`](https://code.claude.com/docs/ja/settings-reference#apikeyhelper) 設定のコマンドが使用可能なキーを生成しなかったため、リクエストはプレースホルダーキーを含みます | コマンドを直接実行して失敗の理由を確認し、期限切れセッションを報告する場合は認証情報プロバイダーで再認証します。[エラーリファレンス](https://code.claude.com/docs/ja/errors.md#your-apikeyhelper-script-is-failing)を参照してください |511| `Your apiKeyHelper script is failing`、または非対話型モードで stderr に `apiKeyHelper failed:` | [`apiKeyHelper`](https://code.claude.com/docs/ja/settings-reference#apikeyhelper) 設定のコマンドが使用可能なキーを生成しなかったため、リクエストはプレースホルダーキーを含みます | コマンドを直接実行して失敗の理由を確認し、期限切れセッションを報告する場合は認証情報プロバイダーで再認証します。[エラーリファレンス](https://code.claude.com/docs/ja/errors.md#your-apikeyhelper-script-is-failing)を参照してください |

512| アドレスで何も応答しない場合は `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)`、またはホスト名が解決しない場合は `Can't reach the API server — check your internet or DNS (ENOTFOUND)`。多くの場合、Claude Code が[バックオフで再試行](https://code.claude.com/docs/ja/errors.md#automatic-retries)している間の静かな一時停止の後です。括弧内のコードは異なります。[Unable to connect to API](https://code.claude.com/docs/ja/errors.md#unable-to-connect-to-api) はコードのスペルと以前の表現をカバーしています | 基本 URL で何も応答しません。アドレスが間違っているか、VPN またはファイアウォールがゲートウェイへのパスをブロックしています | 上記の [curl テスト](#verify-the-connection)を実行します。これは同じ原因で直ちに失敗し、URL とネットワークパスをゲートウェイチームで確認します |512| アドレスで何も応答しない場合は `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)`、またはホスト名が解決しない場合は `Can't reach the API server — check your internet or DNS (ENOTFOUND)`。多くの場合、Claude Code が[バックオフで再試行](https://code.claude.com/docs/ja/errors.md#automatic-retries)している間の静かな一時停止の後です。括弧内のコードは異なります。[Unable to connect to API](https://code.claude.com/docs/ja/errors.md#unable-to-connect-to-api) はコードのスペルと以前の表現をカバーしています | 基本 URL で何も応答しません。アドレスが間違っているか、VPN またはファイアウォールがゲートウェイへのパスをブロックしています | 上記の [curl テスト](#verify-the-connection)を実行します。これは同じ原因で直ちに失敗し、URL とネットワークパスをゲートウェイチームで確認します |


520| 推論リクエストが機能している間に `/fast` が `Fast mode unavailable due to network connectivity issues` を報告します | [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックは `api.anthropic.com` に直接送られ、`ANTHROPIC_BASE_URL` に従いません。そのため、直接エグレスがブロックされているとチェックに失敗します | エグレスがブロックされている場合は `api.anthropic.com` を許可リストに登録するか、スキップ変数を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |520| 推論リクエストが機能している間に `/fast` が `Fast mode unavailable due to network connectivity issues` を報告します | [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックは `api.anthropic.com` に直接送られ、`ANTHROPIC_BASE_URL` に従いません。そのため、直接エグレスがブロックされているとチェックに失敗します | エグレスがブロックされている場合は `api.anthropic.com` を許可リストに登録するか、スキップ変数を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |

521| `ANTHROPIC_API_KEY` のゲートウェイ発行キーで認証するセッションで、`/fast` が `Fast mode is currently unavailable` を報告します | `ANTHROPIC_BASE_URL` がゲートウェイを指していて、キーが Anthropic API キーの形式ではない間、Claude Code は [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックを送信しません。以前に成功したチェックがキャッシュされていない場合、fast mode を利用不可として扱います | `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |521| `ANTHROPIC_API_KEY` のゲートウェイ発行キーで認証するセッションで、`/fast` が `Fast mode is currently unavailable` を報告します | `ANTHROPIC_BASE_URL` がゲートウェイを指していて、キーが Anthropic API キーの形式ではない間、Claude Code は [fast mode](https://code.claude.com/docs/ja/fast-mode.md) の可用性チェックを送信しません。以前に成功したチェックがキャッシュされていない場合、fast mode を利用不可として扱います | `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |

522| `ANTHROPIC_AUTH_TOKEN` で認証されたセッションで `/fast` が `Fast mode has been disabled by your organization` を報告します。組織が fast mode を有効にしている場合でも | 可用性チェックには claude.ai ログインまたは API キーが必要です。ベアラートークンのみの場合、Claude Code は fast mode をチェックを送信せずに無効として扱います | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |522| `ANTHROPIC_AUTH_TOKEN` で認証されたセッションで `/fast` が `Fast mode has been disabled by your organization` を報告します。組織が fast mode を有効にしている場合でも | 可用性チェックには claude.ai ログインまたは API キーが必要です。ベアラートークンのみの場合、Claude Code は fast mode をチェックを送信せずに無効として扱います | `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` を設定します。[プロキシと LLM ゲートウェイの背後で fast mode を使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)を参照してください |

523| `ANTHROPIC_BASE_URL` を使用するセッションで、`/feedback` がローカルファイルを保存します | ゲートウェイの背後では、`ANTHROPIC_AUTH_TOKEN` および Anthropic API キーの形式ではないキーは Anthropic の認証情報ではありません。これがない場合、Claude Code はレポートを送信する代わりに、`~/.claude/feedback-bundles/` 配下のローカルアーカイブに書き込みます | ファイルを Anthropic のアカウント担当者に送信するか、サポートリクエストに添付します。[テレメトリサービス](https://code.claude.com/docs/ja/data-usage.md#telemetry-services)を参照してください |

523| [curl テスト](#verify-the-connection)が成功しても、Claude Code はログインするよう求めます | CLI には独自の認証情報がありません。到達可能な基本 URL は 1 つではなく、対話型セッションではプロジェクトの `.claude/settings.json` または `.claude/settings.local.json` の `env` ブロックは最初の実行ウィザードと[信頼プロンプト](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder)の後にのみ適用されます | `ANTHROPIC_AUTH_TOKEN` を Claude Code が最初の実行セットアップの前に読み取る場所に設定します。シェルエクスポート、`~/.claude/settings.json` の `env` ブロック、または管理設定 |524| [curl テスト](#verify-the-connection)が成功しても、Claude Code はログインするよう求めます | CLI には独自の認証情報がありません。到達可能な基本 URL は 1 つではなく、対話型セッションではプロジェクトの `.claude/settings.json` または `.claude/settings.local.json` の `env` ブロックは最初の実行ウィザードと[信頼プロンプト](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder)の後にのみ適用されます | `ANTHROPIC_AUTH_TOKEN` を Claude Code が最初の実行セットアップの前に読み取る場所に設定します。シェルエクスポート、`~/.claude/settings.json` の `env` ブロック、または管理設定 |

524| `ANTHROPIC_API_KEY` が設定されていますが、プロンプトなしで無視されます | キーはインタラクティブセッションで 1 回の承認が必要で、以前に拒否されたキーは再度尋ねられずに無視されます | `/config` で `Use custom API key` オプションで有効にします |525| `ANTHROPIC_API_KEY` が設定されていますが、プロンプトなしで無視されます | キーはインタラクティブセッションで 1 回の承認が必要で、以前に拒否されたキーは再度尋ねられずに無視されます | `/config` で `Use custom API key` オプションで有効にします |

525| `This machine's managed settings require a first-party login`、または管理設定が `forceLoginMethod` を `"gateway"` に設定する場合は [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)、または `forceLoginGatewayUrl` も設定する場合 | 管理設定に `forceLoginMethod` または `forceLoginOrgUUID` が含まれています。これは `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、または `apiKeyHelper` と共存できません | 管理者は管理設定から `forceLoginMethod`、`forceLoginOrgUUID`、および `forceLoginGatewayUrl` を削除してゲートウェイ認証情報を使用するか、ゲートウェイ認証情報を削除して管理設定が必要とするサインインを使用する必要があります。2 つは組み合わせることはできません |526| `This machine's managed settings require a first-party login`、または管理設定が `forceLoginMethod` を `"gateway"` に設定する場合は [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/ja/errors#administrator-policy-requires-a-cloud-gateway-sign-in)、または `forceLoginGatewayUrl` も設定する場合 | 管理設定に `forceLoginMethod` または `forceLoginOrgUUID` が含まれています。これは `ANTHROPIC_API_KEY`、`ANTHROPIC_AUTH_TOKEN`、または `apiKeyHelper` と共存できません | 管理者は管理設定から `forceLoginMethod`、`forceLoginOrgUUID`、および `forceLoginGatewayUrl` を削除してゲートウェイ認証情報を使用するか、ゲートウェイ認証情報を削除して管理設定が必要とするサインインを使用する必要があります。2 つは組み合わせることはできません |

Details

142claude -p "Reply with one word: connected"142claude -p "Reply with one word: connected"

143```143```

144 144 

145**チェックポイント**:プロンプトが応答を返し、リクエストがゲートウェイのログに `/v1/messages` パスへの `POST` として状態 `200` で表示されます。Claude Code は `?beta=true` などのクエリ文字列を追加するため、完全な URL ではなくパスで一致させてください。 2 つの失敗メッセージは異なる方向を指しています。145**チェックポイント**:プロンプトが応答を返し、リクエストがゲートウェイのログに `/v1/messages` パスへの `POST` としてステータス `200` で表示されます。Claude Code は `?beta=true` などのクエリ文字列を追加するため、完全な URL ではなくパスで照合してください。失敗メッセージを確認してください。

146 146 

147* `Not logged in`:ゲートウェイログをチェックして 2 つの原因を区別します。ログが空の場合、認証情報がセッションに到達せず、リクエストがマシンから出ていません。テストしているシェルで exports を再実行してください。`401` ボディに `x-api-key` が表示されている拒否されたリクエストが表示される場合、ゲートウェイは代わりにそのヘッダーでキーを期待しています。`ANTHROPIC_API_KEY` に切り替えてください。147* `Not logged in`:ゲートウェイのログを確認してください。ログが空の場合、認証情報がセッションに到達しておらず、リクエストはマシンから送信されていません。テストしているシェルで export を再実行してください。ゲートウェイからの `x-api-key` を示す `401` が表示される場合、ゲートウェイは代わりにそのヘッダーでキーを受け取ることを想定しています。`ANTHROPIC_API_KEY` に切り替えてください。`api.anthropic.com` またはプロバイダーのエンドポイントからの `401` が表示される場合は、ゲートウェイが保持するプロバイダー認証情報を修正してください

148* `Failed to authenticate. API Error: 401` は、認証情報が送信されて拒否されたことを意味し、ゲートウェイログはどこかを示しています。`api.anthropic.com` またはプロバイダーのエンドポイントに名前を付けた `401` は、ゲートウェイがアップストリームに到達したが、ゲートウェイが保持するプロバイダー認証情報が拒否されたことを意味します。開発者キーは機能し、ゲートウェイが保持するプロバイダー認証情報が間違っているか、プレースホルダーです。148* `Failed to authenticate. API Error: 401` は、認証情報が送信されて拒否されたことを意味し、ゲートウェイログはどこかを示しています。`api.anthropic.com` またはプロバイダーのエンドポイントに名前を付けた `401` は、ゲートウェイがアップストリームに到達したが、ゲートウェイが保持するプロバイダー認証情報が拒否されたことを意味します。開発者キーは機能し、ゲートウェイが保持するプロバイダー認証情報が間違っているか、プレースホルダーです。

149 149 

150間違ったまたは到達不可能なベース URL は異なる症状を生成します。Claude Code は [バックオフで接続を再試行](https://code.claude.com/docs/ja/errors.md#automatic-retries)し、エラーを報告する前に数分間出力がない状態で待機できます。コマンドがハングしているように見える場合は、待つ代わりにゲートウェイログをチェックしてください。到着するリクエストがないことは、`ANTHROPIC_BASE_URL` がゲートウェイを指していないことを意味します。150間違ったまたは到達不可能なベース URL は異なる症状を生成します。Claude Code は [バックオフで接続を再試行](https://code.claude.com/docs/ja/errors.md#automatic-retries)し、エラーを報告する前に数分間出力がない状態で待機できます。コマンドがハングしているように見える場合は、待つ代わりにゲートウェイログをチェックしてください。到着するリクエストがないことは、`ANTHROPIC_BASE_URL` がゲートウェイを指していないことを意味します。


247 247 

248`data:` 行が段階的に到着するのが見えるはずです。一時停止後にすべての応答が一度に到着することは、ゲートウェイがバッファリングしていることを意味し、Claude Code を停止させます。`404` はモデル名がルーティングされていないことを意味します。モデル名ごとに繰り返します。248`data:` 行が段階的に到着するのが見えるはずです。一時停止後にすべての応答が一度に到着することは、ゲートウェイがバッファリングしていることを意味し、Claude Code を停止させます。`404` はモデル名がルーティングされていないことを意味します。モデル名ごとに繰り返します。

249 249 

250次に `claude` を開始してメッセージを送信します。このステップでの各症状には 1 つの原因があります。250次に `claude` を起動してメッセージを送信し、表示された内容を以下と照らし合わせます。

251 251 

252* ログインプロンプトは認証情報ギャップを意味します。`/status` を実行し、**Status** タブを開きます。`Setting sources` 行にマネージドセッティングが含まれていない場合、配布がマシンに到達しませんでした。含まれている場合、開発者認証情報が配布されなかったため、`ANTHROPIC_AUTH_TOKEN` または `apiKeyHelper` を設定してください。252* ログイン画面、またはゲートウェイのログに新しい記録がない状態での `Not logged in` は、認証情報の欠落を意味します。`/status` を実行し、**Status** タブを開きます。`Setting sources` 行に管理設定が含まれていない場合、配布がマシンに届いていません。含まれている場合は、開発者の認証情報が配布されていないため、`ANTHROPIC_AUTH_TOKEN` または `apiKeyHelper` を設定してください

253* `Failed to authenticate` エラーはゲートウェイがリクエストを拒否していることを意味します。そのログはどの認証情報が失敗したかを示しています。ゲートウェイ自体がログする拒否は開発者キーに名前を付けますが、`api.anthropic.com` またはプロバイダーのエンドポイントからの `401` は、ゲートウェイが保持するプロバイダー認証情報が拒否されたことを意味します。253* ゲートウェイのログに `401` がある状態での `Please run /login · API Error: 401`、`Not logged in`、または `Invalid API key`:`401` を返したのがどこかを確認してください。ゲートウェイが返した場合は開発者キーまたはそのヘッダーを修正し、`api.anthropic.com` またはプロバイダーのエンドポイントから返された場合はゲートウェイが保持するプロバイダー認証情報を修正してください

254* ゲートウェイが `x-api-key` ヘッダーでキーを期待し、`ANTHROPIC_API_KEY` として設定されている場合、初回使用時のキーに対する 1 回限りの承認プロンプトは想定どおりの動作です。254* ゲートウェイが `x-api-key` ヘッダーでキーを期待し、`ANTHROPIC_API_KEY` として設定されている場合、初回使用時のキーに対する 1 回限りの承認プロンプトは想定どおりの動作です。

255 255 

256組織が [高速モード](https://code.claude.com/docs/ja/fast-mode.md)を使用する場合は、ここで `/fast` も実行してください。可用性チェックはゲートウェイベース URL に従う代わりに `api.anthropic.com` に直接呼び出すため、ゲートウェイルーティングセッションは推論が機能していても高速モードが利用不可または無効として報告できます。[プロキシと LLM ゲートウェイの背後で高速モードを使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)は、各メッセージを、[設定の残り](#distribute-the-configuration)と一緒に配布される変数にマップします。256組織が [高速モード](https://code.claude.com/docs/ja/fast-mode.md)を使用する場合は、ここで `/fast` も実行してください。可用性チェックはゲートウェイベース URL に従う代わりに `api.anthropic.com` に直接呼び出すため、ゲートウェイルーティングセッションは推論が機能していても高速モードが利用不可または無効として報告できます。[プロキシと LLM ゲートウェイの背後で高速モードを使用する](https://code.claude.com/docs/ja/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways)は、各メッセージを、[設定の残り](#distribute-the-configuration)と一緒に配布される変数にマップします。

mcp.md +0 −2

Details

835 835 

836組織が [`managedMcpServers`](https://code.claude.com/docs/ja/managed-mcp#provide-servers-through-managed-settings)マネージド設定を通じて提供するサーバーは、これらすべての上にランクされるため、それらの 1 つがそれを複製する場合、Claude Code は組織の定義に接続します。Claude Code v2.1.259 以降が必要です。836組織が [`managedMcpServers`](https://code.claude.com/docs/ja/managed-mcp#provide-servers-through-managed-settings)マネージド設定を通じて提供するサーバーは、これらすべての上にランクされるため、それらの 1 つがそれを複製する場合、Claude Code は組織の定義に接続します。Claude Code v2.1.259 以降が必要です。

837 837 

838[Desktop アプリの Code タブ](https://code.claude.com/docs/ja/desktop.md#mcp-servers-from-the-claude-desktop-chat-app)でローカルセッションを開く場合、`~/.claude.json`(ユーザースコープ)のトップレベルと `.mcp.json` に同じ stdio サーバー名がある場合、Code タブは `~/.claude.json` 定義を使用します。

839 

840### `.mcp.json` での環境変数の展開838### `.mcp.json` での環境変数の展開

841 839 

842Claude Code は `.mcp.json` ファイルの環境変数の展開をサポートしており、チームが設定を共有しながら、マシン固有のパスと API キーなどの機密値の柔軟性を維持できます。840Claude Code は `.mcp.json` ファイルの環境変数の展開をサポートしており、チームが設定を共有しながら、マシン固有のパスと API キーなどの機密値の柔軟性を維持できます。

Details

147 147 

148## Azure RBAC 構成148## Azure RBAC 構成

149 149 

150`Azure AI User` および `Cognitive Services User` デフォルトロールには、Claude モデルを呼び出すために必要なすべての権限が含まれています。150Microsoft Entra ID、またはそれが発行したベアラートークンで認証する場合は、Foundry リソースに対して ID に `Foundry User` ロールまたは `Cognitive Services User` ロールを割り当ててください。`Foundry User` は、以前の名前である `Azure AI User` で表示される場合もあります。

151 151 

152より制限的な権限の場合は、以下を含むカスタムロールを作成します:152これらのロールが要件を満たさない場合は、カスタムロールについて [Microsoft Foundry RBAC ドキュメント](https://learn.microsoft.com/en-us/azure/foundry/concepts/rbac-foundry)を参照してください。

153 

154```json theme={null}

155{

156 "permissions": [

157 {

158 "dataActions": [

159 "Microsoft.CognitiveServices/accounts/providers/*"

160 ]

161 }

162 ]

163}

164```

165 

166詳細については、[Microsoft Foundry RBAC ドキュメント](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry)を参照してください。

167 153 

168## 1M トークンのコンテキストウィンドウ154## 1M トークンのコンテキストウィンドウ

169 155 

model-config.md +5 −3

Details

157 157 

158起動時のアクティブなモデルが自分の選択ではなくプロジェクト設定または管理設定に由来する場合、起動時のヘッダーにどの設定ファイルで設定されたかが表示されます。上書きするには `/model` を実行します。プロジェクト設定または管理設定は次回の起動時に再適用されます。Claude Code を組み込み、[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ja/env-vars) を設定しているプラットフォームでは、ホストのモデル設定が管理設定のモデル設定より優先されます。一方、管理設定の `availableModels` 許可リストは、ホストが独自のものを提供しない限り有効なままです。ホストがどのキーと変数を上書きするかについては、[管理設定の優先順位の例外](https://code.claude.com/docs/ja/settings.md#exceptions-to-managed-settings-precedence)を参照してください。158起動時のアクティブなモデルが自分の選択ではなくプロジェクト設定または管理設定に由来する場合、起動時のヘッダーにどの設定ファイルで設定されたかが表示されます。上書きするには `/model` を実行します。プロジェクト設定または管理設定は次回の起動時に再適用されます。Claude Code を組み込み、[`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/ja/env-vars) を設定しているプラットフォームでは、ホストのモデル設定が管理設定のモデル設定より優先されます。一方、管理設定の `availableModels` 許可リストは、ホストが独自のものを提供しない限り有効なままです。ホストがどのキーと変数を上書きするかについては、[管理設定の優先順位の例外](https://code.claude.com/docs/ja/settings.md#exceptions-to-managed-settings-precedence)を参照してください。

159 159 

160ユーザーまたは組織が [PreModelSwitch フック](https://code.claude.com/docs/ja/hooks.md#premodelswitch)を設定している場合、それらは要求された切り替えが適用される前に実行され、切り替えをブロックしたり確認を求めたりできます。160ユーザーまたは組織が [PreModelSwitch フック](https://code.claude.com/docs/ja/hooks.md#premodelswitch)を設定している場合、それらは要求された切り替えが適用される前に実行され、切り替えをブロックしたり確認を求めたりできます。フックが切り替えをブロックした理由と対処方法については、[Model switch was blocked by a PreModelSwitch hook](https://code.claude.com/docs/ja/errors.md#model-switch-was-blocked-by-a-premodelswitch-hook) を参照してください。

161 161 

162組織の[管理プラグイン](https://code.claude.com/docs/ja/settings-reference.md#enabledplugins)がどの PreModelSwitch フックを提供しているかを Claude Code が判断できない場合(たとえば管理プラグインの読み込みに失敗した場合)、Claude Code は確認されないまま切り替えを適用するのではなく切り替えを拒否し、新しい試行のたびに再度確認します。メッセージと復旧方法については、[Model switch was blocked by a PreModelSwitch hook](https://code.claude.com/docs/ja/errors.md#model-switch-was-blocked-by-a-premodelswitch-hook) を参照してください。162[管理プラグイン](https://code.claude.com/docs/ja/settings-reference.md#enabledplugins)またはそのフックの読み込みに失敗した場合でも、モデルを切り替えることはできます。そのプラグインの PreModelSwitch フックは実行されないため、それらのフックがブロックしていたはずの切り替えも実行される可能性があります。読み込まれたその他の PreModelSwitch フックは引き続き実行され、切り替えをブロックできます。v2.1.323 より前の Claude Code が `so organization-managed PreModelSwitch hooks could not be checked` というメッセージで切り替えを拒否する場合は、Claude Code を更新してください。

163 

164何が失敗したかを確認するには、セッションで `/plugin` を実行し、[**Errors** タブ](https://code.claude.com/docs/ja/plugins/troubleshooting.md#failed-to-load-hooks-from-and-hooks-that-dont-fire)を開きます。そこに何も表示されない場合は、シェルから `claude --debug` で新しいセッションを開始し、別のモデルに切り替えてから、[デバッグログ](https://code.claude.com/docs/ja/hooks.md#debug-hooks)を確認してください。プラグインを修正した後、または[プラグインの更新](https://code.claude.com/docs/ja/plugins/install.md#keep-plugins-updated)によって管理者の修正がマシンに反映された後は、セッションで `/reload-plugins` を実行してそのフックを実行できるようにします。

163 165 

164[Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) の `setModel()` メソッド、[デスクトップアプリ](https://code.claude.com/docs/ja/desktop.md)などのアプリ、または [Remote Control](https://code.claude.com/docs/ja/remote-control.md) 経由で接続されたデバイスからモデルを切り替える場合、Claude Code は切り替え時に値を確認します。166[Agent SDK](https://code.claude.com/docs/ja/agent-sdk/overview.md) の `setModel()` メソッド、[デスクトップアプリ](https://code.claude.com/docs/ja/desktop.md)などのアプリ、または [Remote Control](https://code.claude.com/docs/ja/remote-control.md) 経由で接続されたデバイスからモデルを切り替える場合、Claude Code は切り替え時に値を確認します。

165 167 


903 905 

904### ゲートウェイまたはカスタムモデル ID のウィンドウを修正する906### ゲートウェイまたはカスタムモデル ID のウィンドウを修正する

905 907 

906次の起動時の警告のいずれかが表示された場合、Claude Code はセッションのモデル ID を認識していないため、そのモデルのコンテキストウィンドウを判別できず、200K トークンを想定しています。908次の警告のいずれかが表示された場合、Claude Code はセッションのモデル ID を認識していないため、そのモデルのコンテキストウィンドウを判別できず、200K トークンを想定しています。

907 909 

908```text theme={null}910```text theme={null}

909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...911⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...

Details

110| `CLAUDE_CODE_ENABLE_TELEMETRY` | テレメトリ収集を有効にします(必須) | `1` |110| `CLAUDE_CODE_ENABLE_TELEMETRY` | テレメトリ収集を有効にします(必須) | `1` |

111| `OTEL_METRICS_EXPORTER` | メトリクスエクスポーターの種類(カンマ区切り)。無効にするには `none` を使用します | `console`, `otlp`, `prometheus`, `none` |111| `OTEL_METRICS_EXPORTER` | メトリクスエクスポーターの種類(カンマ区切り)。無効にするには `none` を使用します | `console`, `otlp`, `prometheus`, `none` |

112| `OTEL_LOGS_EXPORTER` | ログ/イベントエクスポーターの種類(カンマ区切り)。無効にするには `none` を使用します | `console`, `otlp`, `none` |112| `OTEL_LOGS_EXPORTER` | ログ/イベントエクスポーターの種類(カンマ区切り)。無効にするには `none` を使用します | `console`, `otlp`, `none` |

113| `OTEL_EXPORTER_OTLP_PROTOCOL` | OTLP エクスポーターのプロトコル。すべてのシグナルに適用されます。Claude Code にはデフォルトのプロトコルがないため、有効にする `otlp` エクスポーターごとに、この変数またはシグナル固有のプロトコル変数を設定してください | `grpc`, `http/json`, `http/protobuf` |113| `OTEL_EXPORTER_OTLP_PROTOCOL` | OTLP エクスポーターのプロトコル。すべてのシグナルに適用されます。有効な `http://` または `https://` エンドポイントの場合、デフォルトは `http/protobuf` です。`http://localhost:4317` のような gRPC エンドポイントの場合は、これを `grpc` に設定してください。このデフォルトには Claude Code v2.1.323 以降が必要です | `grpc`, `http/json`, `http/protobuf` |

114| `OTEL_EXPORTER_OTLP_ENDPOINT` | すべてのシグナル向けの OTLP コレクターエンドポイント | `http://localhost:4317` |114| `OTEL_EXPORTER_OTLP_ENDPOINT` | すべてのシグナル向けの OTLP コレクターエンドポイント | `http://localhost:4317` |

115| `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | メトリクスのプロトコル。全般設定を上書きします | `grpc`, `http/json`, `http/protobuf` |115| `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | メトリクスのプロトコル。全般設定を上書きします | `grpc`, `http/json`, `http/protobuf` |

116| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | OTLP メトリクスエンドポイント。全般設定を上書きします | `http://localhost:4318/v1/metrics` |116| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | OTLP メトリクスエンドポイント。全般設定を上書きします | `http://localhost:4318/v1/metrics` |


431> * **スペース不可**: 値にスペースを含めることはできません。たとえば、`user.organizationName=My Company` は無効です431> * **スペース不可**: 値にスペースを含めることはできません。たとえば、`user.organizationName=My Company` は無効です

432> * **フォーマット**: カンマ区切りの key=value ペアである必要があります: `key1=value1,key2=value2`432> * **フォーマット**: カンマ区切りの key=value ペアである必要があります: `key1=value1,key2=value2`

433> * **使用可能な文字**: 制御文字、空白、二重引用符、カンマ、セミコロン、バックスラッシュを除く US-ASCII 文字のみ433> * **使用可能な文字**: 制御文字、空白、二重引用符、カンマ、セミコロン、バックスラッシュを除く US-ASCII 文字のみ

434> * **特殊文字**: 使用可能な範囲外の文字はパーセントエンコードする必要があります434> * **特殊文字**: 使用可能な範囲外の文字はパーセントエンコードする必要があり、値の中の `=` は `%3D` と記述する必要があります

435>435>

436> スペースが必要な値には、代わりにアンダースコアまたはキャメルケースを使用してください。以下の例では、それぞれの形式で `org.name` を設定しています。436> スペースが必要な値には、代わりにアンダースコアまたはキャメルケースを使用してください。以下の例では、それぞれの形式で `org.name` を設定しています。

437>437>


475 475 

476* **Desktop を実行しているコンピューターで設定した**: Desktop は、そこで設定した値を SSH セッションに渡しません476* **Desktop を実行しているコンピューターで設定した**: Desktop は、そこで設定した値を SSH セッションに渡しません

477* **`/etc/profile` など、ログインシェルのみが読み取るファイルでエクスポートした**: ログインシェルから `claude` を実行した場合は名前が届きますが、Desktop SSH セッションでは届きません。Desktop はログインシェル経由で Claude Code を起動しません。代わりに、リモートマシン上の[管理設定ファイル](https://code.claude.com/docs/ja/desktop.md#managed-settings)の `env` で変数を設定してください。477* **`/etc/profile` など、ログインシェルのみが読み取るファイルでエクスポートした**: ログインシェルから `claude` を実行した場合は名前が届きますが、Desktop SSH セッションでは届きません。Desktop はログインシェル経由で Claude Code を起動しません。代わりに、リモートマシン上の[管理設定ファイル](https://code.claude.com/docs/ja/desktop.md#managed-settings)の `env` で変数を設定してください。

478* **値の中にスペースが含まれている**: この場合、Claude Code はどのキーもイベントやデータポイントにコピーせず、エラーも報告しません。[値からスペースを取り除いてください](#multi-team-organization-support)。478* **値の中にスペースが含まれている**: この場合、Claude Code はどのキーもイベントやデータポイントにコピーしません。どの値にスペースが含まれているかを確認するには、リモートマシン上のセッションで `/status` を実行してください。[値からスペースを取り除いてください](#multi-team-organization-support)。

479* **他の何かがすでにこの変数を設定している**: デスクトップアプリが開始するセッションでは、起動環境ですでに設定されている変数が[設定ファイルより優先されます](https://code.claude.com/docs/ja/settings-reference.md#how-env-values-interact-with-your-shell)。[デバッグログ](https://code.claude.com/docs/ja/debug-your-config.md)には、無視された各変数の名前が記録されます。サードパーティの Desktop デプロイが、提供する環境で [OTLP エンドポイントを指定している](#how-managed-settings-lock-the-otlp-destination)場合、その環境には Desktop 独自の `OTEL_RESOURCE_ATTRIBUTES` が含まれます。479* **他の何かがすでにこの変数を設定している**: デスクトップアプリが開始するセッションでは、起動環境ですでに設定されている変数が[設定ファイルより優先されます](https://code.claude.com/docs/ja/settings-reference.md#how-env-values-interact-with-your-shell)。[デバッグログ](https://code.claude.com/docs/ja/debug-your-config.md)には、無視された各変数の名前が記録されます。サードパーティの Desktop デプロイが、提供する環境で [OTLP エンドポイントを指定している](#how-managed-settings-lock-the-otlp-destination)場合、その環境には Desktop 独自の `OTEL_RESOURCE_ATTRIBUTES` が含まれます。

480 480 

481### 設定例481### 設定例

Details

304claude --permission-mode plan304claude --permission-mode plan

305```305```

306 306 

307計画を承認せずに plan モードを終了するには、もう一度 `Shift+Tab` を押します。307承認プロンプトが表示されていない状態で plan モードを終了するには、もう一度 `Shift+Tab` を押します。承認プロンプトでは `Shift+Tab` を押すと計画が承認されるため、先に `Esc` を押してください。

308 308 

309### 計画をレビューして承認する309### 計画をレビューして承認する

310 310 


593> * Claude が[他のユーザーが作成したアーティファクト](https://code.claude.com/docs/ja/artifacts.md#read-an-artifact-shared-with-you)を読み取る場合は、そのセクションに記載されている承認のケースが適用されます593> * Claude が[他のユーザーが作成したアーティファクト](https://code.claude.com/docs/ja/artifacts.md#read-an-artifact-shared-with-you)を読み取る場合は、そのセクションに記載されている承認のケースが適用されます

594> * [ネットワークパス](https://code.claude.com/docs/ja/permissions.md#network-paths)からの読み取りはプロンプトを表示します594> * [ネットワークパス](https://code.claude.com/docs/ja/permissions.md#network-paths)からの読み取りはプロンプトを表示します

595> 3. それ以外はすべて分類器に回されます。ただし、デフォルトの処理下にある[重要なパスの削除](#critical-paths)は除きます。ステップ 1 で直接プロンプトを表示するコネクタツールと `requiresUserInteraction` の MCP ツールも分類器には到達しないため、組織が必須とする承認も同意のステップも自動承認されることはありません595> 3. それ以外はすべて分類器に回されます。ただし、デフォルトの処理下にある[重要なパスの削除](#critical-paths)は除きます。ステップ 1 で直接プロンプトを表示するコネクタツールと `requiresUserInteraction` の MCP ツールも分類器には到達しないため、組織が必須とする承認も同意のステップも自動承認されることはありません

596> * [Code Mode](https://code.claude.com/docs/ja/code-mode.md#permission-checks) がオンの場合、Claude のコードは実行前に 1 回だけ分類器に回され、その中のツール呼び出しは回されません。`deny` ルールで呼び出しをブロックしたり、`ask` ルールでプロンプトを必須にしたりすることは引き続きできますが、Claude は[ルールが一致しない形式](https://code.claude.com/docs/ja/permissions.md#bash-rule-limits)で Bash コマンドを実行できます

596> 4. 分類器がブロックした場合、Claude はその理由を受け取ります。ほとんどのセッションでは、理由は文章による説明ではなく、`[Data Exfiltration]` のように分類器が一致したルールの名前で示されます。[拒否の確認](https://code.claude.com/docs/ja/auto-mode-config.md#review-denials)を参照してください597> 4. 分類器がブロックした場合、Claude はその理由を受け取ります。ほとんどのセッションでは、理由は文章による説明ではなく、`[Data Exfiltration]` のように分類器が一致したルールの名前で示されます。[拒否の確認](https://code.claude.com/docs/ja/auto-mode-config.md#review-denials)を参照してください

597>598>

598> インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が `tool.check` を処理する場合、その mod もアクションを承認できます。その承認がルールやフックを通過しないケースについては、[フックで権限を拡張する](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を参照してください。599> インストールした [mod](https://code.claude.com/docs/ja/plugins/mods/overview.md) が `tool.check` を処理する場合、その mod もアクションを承認できます。その承認がルールやフックを通過しないケースについては、[フックで権限を拡張する](https://code.claude.com/docs/ja/permissions.md#precedence-among-rules-hooks-and-mods)を参照してください。

permissions.md +1 −1

Details

784* リポジトリ外では、Claude Code はそれを起動したディレクトリをキーとしてトラストを保存し、そのディレクトリのサブディレクトリをカバーします。ただし、クローンなどのネストされた git リポジトリは除きます。カバーされた各サブディレクトリは、その親を信頼したフォルダとしてカウントされます。784* リポジトリ外では、Claude Code はそれを起動したディレクトリをキーとしてトラストを保存し、そのディレクトリのサブディレクトリをカバーします。ただし、クローンなどのネストされた git リポジトリは除きます。カバーされた各サブディレクトリは、その親を信頼したフォルダとしてカウントされます。

785* ホームディレクトリから起動した場合、Claude Code はトラストを現在のセッションのみ保持し、ディスクに書き込みません。[追加のセーフガード](https://code.claude.com/docs/ja/security.md#additional-safeguards)に関する注記を参照してください。785* ホームディレクトリから起動した場合、Claude Code はトラストを現在のセッションのみ保持し、ディスクに書き込みません。[追加のセーフガード](https://code.claude.com/docs/ja/security.md#additional-safeguards)に関する注記を参照してください。

786 786 

787Claude Code はインタラクティブセッションでのみトラストダイアログを表示します。`claude -p` 実行または SDK セッションはダイアログを表示しません。親フォルダを信頼してもこれらのルールにはカウントされないため、[フォルダを信頼する前に実行されるもの](#what-runs-before-you-trust-a-folder)は、これら 2 つの状況で Claude Code がどのリポジトリコンテンツを使用するかを説明しています。787VS Code 拡張機能は、セッションを開始する前に、`Trust this folder in Claude Code?` というタイトルのダイアログで同じトラストを求めます。Claude Code はインタラクティブなターミナルセッションではトラストダイアログを表示しますが、`claude -p` セッションや SDK セッションでは表示しません。親フォルダを信頼しても、これらのルールにはカウントされません。[フォルダを信頼する前に実行されるもの](#what-runs-before-you-trust-a-folder)では、それぞれの場合に Claude Code が引き続き使用するリポジトリコンテンツを説明しています。

788 788 

789[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)を開始または再開する前に、Claude Code はセッションが実行されるディレクトリのワークスペーストラストもチェックします。信頼していないディレクトリのターミナルから `claude --bg` を実行した場合、トラストダイアログが最初に表示され、それを受け入れるとセッションが開始されます。スクリプト内など、ダイアログが表示できない場所では、コマンドは代わりに [`Workspace not trusted`](https://code.claude.com/docs/ja/errors#workspace-not-trusted-when-dispatching-a-background-session) エラーで終了します。789[バックグラウンドセッション](https://code.claude.com/docs/ja/agent-view.md)を開始または再開する前に、Claude Code はセッションが実行されるディレクトリのワークスペーストラストもチェックします。信頼していないディレクトリのターミナルから `claude --bg` を実行した場合、トラストダイアログが最初に表示され、それを受け入れるとセッションが開始されます。スクリプト内など、ダイアログが表示できない場所では、コマンドは代わりに [`Workspace not trusted`](https://code.claude.com/docs/ja/errors#workspace-not-trusted-when-dispatching-a-background-session) エラーで終了します。

790 790 

Details

4 4 

5# プラグインにコンポーネントを追加する5# プラグインにコンポーネントを追加する

6 6 

7> スキル、フック、MCP サーバー、その他すべてのコンポーネントタイプを Claude Code プラグインに追加し、各コンポーネントの検証例を含めます。7> スキル、フック、MCP サーバー、その他のコンポーネントタイプを Claude Code プラグインに追加します。それぞれについて検証を通過する例を示します。

8 8 

9Claude Code プラグインはスキル、エージェント、フック、MCP サーバーなどのコンポーネントから構築されます。各コンポーネントはプラグイン内にデフォルトフォルダを持ち、`.claude-plugin/plugin.json` 内のオプションのマニフェストキーがそのフォルダを置き換えるか追加し、ユーザーが見る名前があります。各キーの完全なフィールドテーブルについては、[マニフェストリファレンス](https://code.claude.com/docs/ja/plugins/manifest-reference.md#fields)を参照してください。9Claude Code プラグインはスキル、エージェント、フック、MCP サーバーなどのコンポーネントから構築されます。各コンポーネントはプラグイン内にデフォルトフォルダを持ち、`.claude-plugin/plugin.json` 内のオプションのマニフェストキーがそのフォルダを置き換えるか追加し、ユーザーが見る名前があります。各キーの完全なフィールドテーブルについては、[マニフェストリファレンス](https://code.claude.com/docs/ja/plugins/manifest-reference.md#fields)を参照してください。

10 10 


22 22 

23## プラグインディレクトリを探索する23## プラグインディレクトリを探索する

24 24 

25エクスプローラーは、デフォルトの場所にあらゆる種類のコンポーネントを 1 つずつ持つ例のプラグイン `my-plugin` を示しています:25エクスプローラーは、次のコンポーネントをデフォルトの場所に持つ例のプラグイン `my-plugin` を示しています:

26 26 

27* レビュースキルと `about` コマンド27* レビュースキルと `about` コマンド

28* セキュリティレビューサブエージェント28* セキュリティレビューサブエージェント


31* 出力スタイルとカラーテーマ31* 出力スタイルとカラーテーマ

32* ルート監査ワークフロー32* ルート監査ワークフロー

33* `hello-plugin` 実行可能ファイル33* `hello-plugin` 実行可能ファイル

34* デフォルト設定

35* ローカル MCP サーバーと Go 言語サーバー34* ローカル MCP サーバーと Go 言語サーバー

36 35 

37各ファイルはその形式の最小限の有効な例であり、有用であるためではなく形状を示すためにあります:実際のスキルまたはエージェントは完全な指示を持ち、多くの場合サポートファイルを含み、実際のフックまたはモニターは実際の作業を行います。エクスプローラーの後のセクションはエクスプローラーと同じファイルを例として使用し、より完全なものへのリンクを提供します。ファイルまたはフォルダを選択して、それが何のためにあるのか、何が含まれるのか、それをカバーするセクションを見つけます。36各ファイルはその形式の最小限の有効な例であり、有用であるためではなく形状を示すためにあります:実際のスキルまたはエージェントは完全な指示を持ち、多くの場合サポートファイルを含み、実際のフックまたはモニターは実際の作業を行います。エクスプローラーの後のセクションはエクスプローラーと同じファイルを例として使用し、より完全なものへのリンクを提供します。ファイルまたはフォルダを選択して、それが何のためにあるのか、何が含まれるのか、それをカバーするセクションを見つけます。

38 37 

39What goes in a plugin38What goes in a plugin

40 39 

41This example plugin, `my-plugin`, has one of every kind of component, each in its default location. Select a file or folder to read what it’s for and see what goes in it.40This example plugin, `my-plugin`, has the components listed here, each in its default location. Select a file or folder to read what it’s for and see what goes in it.

42 41 

43Plugin directory42Plugin directory

44 43 


178npx prettier --write .177npx prettier --write .

179```178```

180 179 

181プラグインルートの `settings.json` は、プラグインが有効な間に適用される[設定](https://code.claude.com/docs/ja/settings-reference.md)を保持するため、プラグインはセッションの動作を変更でき、コンポーネントを追加するだけではありません。プラグインから効果を発揮するのは 2 つのキーのみです。[`agent`](https://code.claude.com/docs/ja/settings-reference#agent) と [`subagentStatusLine`](https://code.claude.com/docs/ja/settings-reference#subagentstatusline);他のすべてのキーは削除されます。[デフォルト設定](#default-settings)を参照してください。

182 

183このファイルは `agent` を設定し、セッションのメインスレッドをプラグイン独自の `security-reviewer` エージェントとして実行するため、そのエージェントのシステムプロンプト、ツール制限、およびモデルがセッション全体に適用されます:

184 

185```json theme={null}

186{

187 "agent": "security-reviewer"

188}

189```

190 

191[MCP サーバー](https://code.claude.com/docs/ja/mcp.md)は Claude に外部システムからのツールを提供します。プラグインルートの `.mcp.json` で宣言します。このサーバーはプラグイン内のスクリプトからローカルサーバーを開始し、`/mcp` に `plugin:my-plugin:db` として表示されます:180[MCP サーバー](https://code.claude.com/docs/ja/mcp.md)は Claude に外部システムからのツールを提供します。プラグインルートの `.mcp.json` で宣言します。このサーバーはプラグイン内のスクリプトからローカルサーバーを開始し、`/mcp` に `plugin:my-plugin:db` として表示されます:

192 181 

193```json theme={null}182```json theme={null}


484 473 

485claude.ai と Cowork は、トップレベルに `bin/` ディレクトリを持つプラグインをインストールしません。これには、[claude.ai の組織設定を通じて配布する](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory)プラグインも含まれます。474claude.ai と Cowork は、トップレベルに `bin/` ディレクトリを持つプラグインをインストールしません。これには、[claude.ai の組織設定を通じて配布する](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory)プラグインも含まれます。

486 475 

487### デフォルト設定

488 

489プラグインが有効な間に適用されるデフォルトを設定するには、プラグインルートに `settings.json` を追加するか、同じオブジェクトを `settings` マニフェストキーにインラインで記述します。有効になるキーは `agent` と `subagentStatusLine` の 2 つで、それ以外のキーはすべて破棄されます。

490 

491プラグイン自身のエージェントの 1 つをメインスレッドとして実行するには、`agent` を設定します。

492 

493```json settings.json theme={null}

494{

495 "agent": "security-reviewer"

496}

497```

498 

499プラグインを読み込み、セッションを開始します。すると Claude は、メインの会話で `security-reviewer` エージェントのシステムプロンプトとモデルを使って応答します。

500 

501このキーが制御するすべての内容については、[`agent` 設定](https://code.claude.com/docs/ja/settings-reference#agent)を参照してください。

502 

503同じキーが複数の場所で設定されている場合、どの値が適用されるかは次のルールで決まります。

504 

505* **マニフェストよりファイルを優先**: 両方が存在し、`settings.json` がサポートされるキーを少なくとも 1 つ設定している場合、`settings.json` が適用され、マニフェストの `settings` は無視されます

506* **プラグインのデフォルトよりユーザー設定を優先**: 設定ソースの中で、プラグインのデフォルトは最も低いレイヤーであるため、`~/.claude/settings.json` 内のユーザー自身の `agent` がプラグインの値を上書きします

507* **2 つのプラグインが同じキーを設定する場合**: 最後に読み込まれたプラグインの値が適用され、`claude --debug` は `overrides setting` をログに記録します

508 

509`subagentStatusLine` の形式については、[サブエージェントのステータスライン](https://code.claude.com/docs/ja/statusline.md#subagent-status-lines)を参照してください。

510 

511### テーマと出力スタイル476### テーマと出力スタイル

512 477 

513プラグインにはカラーテーマと出力スタイルを含めることができます。どちらも、ユーザー自身のものと同じピッカーに表示されます。どちらの場合も、マニフェストキーを設定するとフォルダーのスキャンが置き換えられます。478プラグインにはカラーテーマと出力スタイルを含めることができます。どちらも、ユーザー自身のものと同じピッカーに表示されます。どちらの場合も、マニフェストキーを設定するとフォルダーのスキャンが置き換えられます。

Details

72* **`version`**: オプション。これを設定すると、ユーザーはそれを変更するまでそのバージョンに留まります。[新しいバージョンをリリースする](https://code.claude.com/docs/ja/plugins/host-marketplace.md#release-a-new-version)は、いつそれを設定または省略するかを説明しています。72* **`version`**: オプション。これを設定すると、ユーザーはそれを変更するまでそのバージョンに留まります。[新しいバージョンをリリースする](https://code.claude.com/docs/ja/plugins/host-marketplace.md#release-a-new-version)は、いつそれを設定または省略するかを説明しています。

73* **`author`**: クレジットする人。その中の `name` は必須です。`email` と `url` はオプションです。73* **`author`**: クレジットする人。その中の `name` は必須です。`email` と `url` はオプションです。

74 74 

75他のすべてのフィールドは[マニフェストリファレンス](https://code.claude.com/docs/ja/plugins/manifest-reference.md#fields)にあります。75その他のフィールドは[マニフェストリファレンス](https://code.claude.com/docs/ja/plugins/manifest-reference.md#fields)にあります。

76 76 

77`.claude-plugin/` の中には `plugin.json` だけが入ります。次に追加するスキルは `my-first-plugin/` の直下に、そのフォルダの隣に入ります。77`.claude-plugin/` の中には `plugin.json` だけが入ります。次に追加するスキルは `my-first-plugin/` の直下に、そのフォルダの隣に入ります。

78 78 


344 "PostToolUse": [344 "PostToolUse": [

345 {345 {

346 "matcher": "Write|Edit",346 "matcher": "Write|Edit",

347 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]347 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npm run lint:fix -- \"$f\"" }]

348 }348 }

349 ]349 ]

350 }350 }

Details

4 4 

5# プラグインマニフェストリファレンス5# プラグインマニフェストリファレンス

6 6 

7> plugin.json の完全なリファレンス:すべてのフィールドとその型、デフォルト値、受け入れられるパス形式、userConfig と環境変数スキーマ。7> plugin.json の完全なリファレンス:フィールドとその型およびデフォルト値、受け入れられるパス形式、userConfig と環境変数のスキーマ。

8 8 

9プラグインマニフェストは、プラグインの `.claude-plugin/` ディレクトリにある `plugin.json` ファイルです。プラグインのメタデータと、Claude Code がユーザーに入力を促す [`userConfig`](#user-configuration) 値を含みます。また、インラインで定義するか、[デフォルトの場所](#standard-layout)の外に保持するコンポーネントを宣言します。9プラグインマニフェストは、プラグインの `.claude-plugin/` ディレクトリにある `plugin.json` ファイルです。プラグインのメタデータと、Claude Code がユーザーに入力を促す [`userConfig`](#user-configuration) 値を含みます。また、インラインで定義するか、[デフォルトの場所](#standard-layout)の外に保持するコンポーネントを宣言します。

10 10 


117 117 

118## フィールド118## フィールド

119 119 

120テーブルは `plugin.json` のトップレベルキーを一覧表示します。`name` は唯一の必須キーです。フィールド名がリンクの場合、リンク先のセクションに完全なルールがあります。120この表は `plugin.json` のトップレベルのキーを示しています。必須のキーは `name` のみです。フィールド名がリンクになっている場合、リンク先のセクションにそのフィールドの完全なルールが記載されています。

121 121 

122`commands` や `hooks` などのコンポーネントキーについては、[コンポーネントパス形式](#component-path-forms)は受け入れられる各形式を例とともに示し、すべてのパスは `./` プレフィックス、拡張子、包含の[パスルール](#path-rules)に従います。122`commands` や `hooks` などのコンポーネントキーについては、[コンポーネントパス形式](#component-path-forms)は受け入れられる各形式を例とともに示し、すべてのパスは `./` プレフィックス、拡張子、包含の[パスルール](#path-rules)に従います。

123 123 


141| [`termsOfServiceUrl`](#directory-listing-fields) | String | Anthropic のディレクトリにおけるプラグインの掲載情報用利用規約リンク。Claude Code は読み込みません |141| [`termsOfServiceUrl`](#directory-listing-fields) | String | Anthropic のディレクトリにおけるプラグインの掲載情報用利用規約リンク。Claude Code は読み込みません |

142| [`defaultEnabled`](#defaultenabled) | Boolean | ユーザーが設定していない場合、プラグインが有効な状態で開始するかどうか。デフォルトは `true` |142| [`defaultEnabled`](#defaultenabled) | Boolean | ユーザーが設定していない場合、プラグインが有効な状態で開始するかどうか。デフォルトは `true` |

143| [`dependencies`](#dependencies) | Array of strings or objects | このプラグインが機能するために有効にする必要があるプラグイン |143| [`dependencies`](#dependencies) | Array of strings or objects | このプラグインが機能するために有効にする必要があるプラグイン |

144| [`settings`](#settings) | Object | プラグインが有効な間に Claude Code が適用する設定。`agent` と `subagentStatusLine` のみが有効です |

145| [`userConfig`](#user-configuration) | Object | プラグインが有効な場合に Claude Code がユーザーに入力を促す値 |144| [`userConfig`](#user-configuration) | Object | プラグインが有効な場合に Claude Code がユーザーに入力を促す値 |

146| `types` | Path | [mod](https://code.claude.com/docs/ja/plugins/mods/reference.md#files) の `$.state` 値と `$` 名詞を宣言する `.d.ts` ファイル |145| `types` | Path | [mod](https://code.claude.com/docs/ja/plugins/mods/reference.md#files) の `$.state` 値と `$` 名詞を宣言する `.d.ts` ファイル |

147| [`channels`](#channels) | Array of objects | プラグインが提供するメッセージチャネル。各チャネルは MCP サーバーの 1 つにバインドされます |146| [`channels`](#channels) | Array of objects | プラグインが提供するメッセージチャネル。各チャネルは MCP サーバーの 1 つにバインドされます |


211 210 

212このプラグインが機能するために有効にする必要があるプラグイン。各エントリは `"name"`、`"name@marketplace"`、または `{ "name": "...", "marketplace": "...", "version": "..." }` です。ベア名はこのプラグイン独自のマーケットプレイスに対して解決されます。[依存関係の制約](https://code.claude.com/docs/ja/plugins/dependencies.md)を参照してください。211このプラグインが機能するために有効にする必要があるプラグイン。各エントリは `"name"`、`"name@marketplace"`、または `{ "name": "...", "marketplace": "...", "version": "..." }` です。ベア名はこのプラグイン独自のマーケットプレイスに対して解決されます。[依存関係の制約](https://code.claude.com/docs/ja/plugins/dependencies.md)を参照してください。

213 212 

214### `settings`

215 

216プラグインが有効な間に Claude Code が適用する設定。`agent` と `subagentStatusLine` のみが有効です。他のキーは読み込み時に削除されます。プラグインルートの `settings.json` がこのキーより優先されます。[デフォルト設定](https://code.claude.com/docs/ja/plugins/components.md#default-settings)を参照してください。

217 

218## コンポーネントパス形式213## コンポーネントパス形式

219 214 

220すべてのコンポーネントキーはプラグインルートに相対するパスを受け入れます。`hooks`、`mcpServers`、`lspServers`、`experimental.monitors` はインライン設定も受け入れ、`commands` はオブジェクトマップも受け入れ、`mcpServers` は MCP バンドルパスと URL も受け入れます。以下の例は受け入れられる各形式を 1 回示します。各コンポーネントが実行時に何をするかについては、[プラグインコンポーネント](https://code.claude.com/docs/ja/plugins/components.md)を参照してください。215すべてのコンポーネントキーはプラグインルートに相対するパスを受け入れます。`hooks`、`mcpServers`、`lspServers`、`experimental.monitors` はインライン設定も受け入れ、`commands` はオブジェクトマップも受け入れ、`mcpServers` は MCP バンドルパスと URL も受け入れます。以下の例は受け入れられる各形式を 1 回示します。各コンポーネントが実行時に何をするかについては、[プラグインコンポーネント](https://code.claude.com/docs/ja/plugins/components.md)を参照してください。


626| テーマ | `themes/` | テーマ JSON ファイル |621| テーマ | `themes/` | テーマ JSON ファイル |

627| モニター | `monitors/monitors.json` | monitors 配列 |622| モニター | `monitors/monitors.json` | monitors 配列 |

628| Executables | `bin/` | ここのファイルはプラグインが有効な間、Bash ツールの `PATH` 上にあるため、Claude はそれらをベアコマンドとして実行します。claude.ai と Cowork は、このディレクトリを持つプラグイン([claude.ai 組織設定を通じて配布する](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory)ものを含む)をインストールしません |623| Executables | `bin/` | ここのファイルはプラグインが有効な間、Bash ツールの `PATH` 上にあるため、Claude はそれらをベアコマンドとして実行します。claude.ai と Cowork は、このディレクトリを持つプラグイン([claude.ai 組織設定を通じて配布する](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory)ものを含む)をインストールしません |

629| 設定 | `settings.json` | プラグインが有効な間に適用される `agent` と `subagentStatusLine` のデフォルト |

630 624 

631すべてのデフォルトの場所を使用し、フックが呼び出す `scripts/` フォルダを持つプラグインは、次のようにレイアウトされます:625デフォルトの場所を使用し、フックが呼び出す `scripts/` フォルダを持つプラグインは、次のようにレイアウトされます:

632 626 

633```text theme={null}627```text theme={null}

634deploy-tools/628deploy-tools/


655│ └── deploy-tool649│ └── deploy-tool

656├── scripts/650├── scripts/

657│ └── format.sh651│ └── format.sh

658├── settings.json

659├── .mcp.json652├── .mcp.json

660└── .lsp.json653└── .lsp.json

661```654```

Details

61 * セッションが Team または Enterprise プランの [`/login` 認証情報](https://code.claude.com/docs/ja/authentication#authentication-precedence)で実行されている61 * セッションが Team または Enterprise プランの [`/login` 認証情報](https://code.claude.com/docs/ja/authentication#authentication-precedence)で実行されている

62 62 

63 API キー、または Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry を使用するユーザーは、管理設定または `managed-mcp.json` を持つマシンでのみガードを取得します。長期間有効な [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/ja/authentication#generate-a-long-lived-token) で実行されるセッションも、マシンに Team または Enterprise のログインが保存されている場合でも、そのログインとは見なされません。63 API キー、または Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry を使用するユーザーは、管理設定または `managed-mcp.json` を持つマシンでのみガードを取得します。長期間有効な [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/ja/authentication#generate-a-long-lived-token) で実行されるセッションも、マシンに Team または Enterprise のログインが保存されている場合でも、そのログインとは見なされません。

64* **ガードは管理対象を保護します。** ユーザーの mod は、管理フックが受け取るもの、システムプロンプト、管理対象の `CLAUDE.md` およびその他の管理対象の指示、mod が設定として読み取るもの、または管理対象の MCP サーバーのツールと説明を変更することはできません。64* **ガードは管理対象を保護します。** ユーザーの mod は、管理フックが受け取るものや判断する内容、システムプロンプト、管理対象の `CLAUDE.md` およびその他の管理対象の指示を変更することはできません。また、いずれかの mod が設定として読み取るもの、および接続後の管理対象の MCP サーバーのツールと説明も変更できません。

65* **管理対象外では、ユーザーの mod はそのユーザーとして動作します。** mod はそのユーザーの権限を保持します。ファイルの読み取りと書き込み、プロセスの開始、ネットワークリクエストの実行は引き続き可能です。また、ツール呼び出しとプロンプトの書き直し、ツール呼び出しの拒否、インターフェイスへの描画も可能です。65* **v2.1.323 以降では、ユーザーの mod は管理対象の MCP サーバーの接続を妨げることができます。** そのユーザーのセッションでは、`/mcp` はそのサーバーをその mod によって保留されているものとして一覧表示します。これを防ぐには、[ユーザーがインストールした mod が読み込まれないようにします](#stop-user-installed-mods-from-loading)。

66* **管理対象外では、ユーザーの mod はそのユーザーとして動作します。** mod はそのユーザーの権限を保持します。ファイルの読み取りと書き込み、プロセスの開始、ネットワークリクエストの実行は引き続き可能です。また、ツール呼び出しとプロンプトの書き直し、ツール呼び出しの拒否、ツールの追加や削除、インターフェイスへの描画も可能です。

66* **権限ルールと `PreToolUse` フックはユーザーの mod より優先されます。** ガードが読み込まれている場合、デフォルトでは、ユーザーの mod は `deny` ルールが拒否する呼び出しや `ask` ルールがプロンプトを表示する呼び出しを承認できません。ルールがどの設定ファイルにあるかは問いません。また、いずれかの `PreToolUse` フックがブロックした呼び出しも承認できません。67* **権限ルールと `PreToolUse` フックはユーザーの mod より優先されます。** ガードが読み込まれている場合、デフォルトでは、ユーザーの mod は `deny` ルールが拒否する呼び出しや `ask` ルールがプロンプトを表示する呼び出しを承認できません。ルールがどの設定ファイルにあるかは問いません。また、いずれかの `PreToolUse` フックがブロックした呼び出しも承認できません。

67 68 

68 権限ルールと `PreToolUse` フックは Claude のツール呼び出しに適用され、mod 独自の [`$.fs` と `$.process` 呼び出し](https://code.claude.com/docs/ja/plugins/mods/api#reach-files-processes-and-the-network)には適用されません。`Read(.env)` が拒否されている場合でも、mod は `$.fs.read` でそのファイルを読み取ったり、それを行うプログラムを開始したりできます。mod 独自の `$.fs` と `$.process` 呼び出しを制限するには、[mod の読み込みを防ぐ](#stop-user-installed-mods-from-loading)か、[ポリシー mod](#enforce-a-policy-with-a-mod-of-your-own) で処理してください。69 権限ルールと `PreToolUse` フックは Claude のツール呼び出しに適用され、mod 独自の [`$.fs` と `$.process` 呼び出し](https://code.claude.com/docs/ja/plugins/mods/api#reach-files-processes-and-the-network)には適用されません。`Read(.env)` が拒否されている場合でも、mod は `$.fs.read` でそのファイルを読み取ったり、それを行うプログラムを開始したりできます。mod 独自の `$.fs` と `$.process` 呼び出しを制限するには、[mod の読み込みを防ぐ](#stop-user-installed-mods-from-loading)か、[ポリシー mod](#enforce-a-policy-with-a-mod-of-your-own) で処理してください。


159出力の `hooks:` 行と `calls:` 行は mod のコードを説明しています。160出力の `hooks:` 行と `calls:` 行は mod のコードを説明しています。

160 161 

161```text theme={null}162```text theme={null}

162 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}163 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane} (default matcher key: plugin)

163 ❯ ./register.js calls: $.fs.read, $.http.fetch, $.store.set, $.ui.open164 ❯ ./register.js calls: $.fs.read, $.http.fetch, $.store.set, $.ui.open

164```165```

165 166 

166`hooks:` 行は mod が受け取るイベントを一覧表示しています。`calls:` 行は mod のコードが呼び出す mod API メソッドを一覧表示しています。[Mod API](https://code.claude.com/docs/ja/plugins/mods/api.md)(mod のコードで `$` として記述)は、mod がファイル、プロセス、ネットワークに到達する方法です。Claude Code は、このコマンドが読み取ることができない方法で mod API を使用する mod の読み込みを拒否します。167* **`hooks:`**: mod が受け取るイベント。`default matcher key: plugin` という注記は、その前にあるフックが[他の mod のコントロールと描画をスキップする](https://code.claude.com/docs/ja/plugins/mods/events.md#hook-other-mods-drawings-and-controls)ことを意味します。

168* **`calls:`**: mod のコードが呼び出す mods API メソッド

167 169 

168`calls:` 行でこれらを探してください。170[mods API](https://code.claude.com/docs/ja/plugins/mods/api.md)(mod のコードでは `$` と記述)は、mod がファイル、プロセス、ネットワークに到達する方法です。Claude Code は、このコマンドが読み取ることができない方法で mods API を使用する mod の読み込みを拒否します。

171 

172一部の失敗は mod の読み込みを妨げないため、このコマンドが失敗する mod は承認しないでください。このコマンドは Claude Code v2.1.323 以降で実行してください。このバージョンでは、長い一覧は同じラベルの付いた複数の行に続けて表示されます。すべての `hooks:` 行と `calls:` 行を読んでください。`calls:` 行では、次のものを探してください。

169 173 

170| 呼び出し | 意味 |174| 呼び出し | 意味 |

171| :- | :- |175| :- | :- |


174| `$.http.fetch` | ネットワークリクエストを実行します |178| `$.http.fetch` | ネットワークリクエストを実行します |

175| `$.env.get`, `$.settings.read` | API キーを保持できる環境変数と設定を読み取ります。`env reads:` 行は各変数に名前を付けます。 |179| `$.env.get`, `$.settings.read` | API キーを保持できる環境変数と設定を読み取ります。`env reads:` 行は各変数に名前を付けます。 |

176| `$.env.set` | Claude Code およびそれが開始するすべてのコマンドと MCP サーバーの環境変数を設定し、それらが実行するものを変更できます。`env writes:` 行は各変数に名前を付けます。 |180| `$.env.set` | Claude Code およびそれが開始するすべてのコマンドと MCP サーバーの環境変数を設定し、それらが実行するものを変更できます。`env writes:` 行は各変数に名前を付けます。 |

177| `$.mcp.call` | 接続された MCP サーバーのツールを呼び出し、セッションの権限ルールの下で実行します |181| `$.mcp.call` | 接続された MCP サーバーのツールを、権限プロンプトなしで呼び出します。Claude Code は、拒否ルールまたは管理された ask ルールの下ではこの呼び出しを拒否します。また、[`requiresUserInteraction`](https://code.claude.com/docs/ja/mcp#require-approval-for-a-specific-tool) が指定されたツールへの呼び出しや、組織が [`ask` に設定した](https://code.claude.com/docs/ja/mcp#organization-controls-on-connector-tools)ツールへの呼び出し(その設定が Claude Code に及ぶ場合)も拒否します。 |

178| `$.model.complete` | ユーザーのプランまたは API キーをモデル呼び出しに使用します |182| `$.model.complete` | ユーザーのプランまたは API キーをモデル呼び出しに使用します |

179| `$.prompt.submit` | プロンプトを送信し、ユーザー独自の言葉として送信できます |183| `$.prompt.submit` | プロンプトを送信し、ユーザー独自の言葉として送信できます |

180| `$.session.send` | 別のセッション、サブエージェント、または [チームメイト](https://code.claude.com/docs/ja/agent-teams.md) の Claude が読むメッセージを送信します |184| `$.session.send` | 別のセッション、サブエージェント、または [チームメイト](https://code.claude.com/docs/ja/agent-teams.md) の Claude が読むメッセージを送信します |


316 320 

317Claude Code は、ツールの実行など、アクションを実行しようとするたびにイベントを発生させ、それを順番に各 mod に渡します。組織のものとして扱われる mod は、どこにもリストされていない場合でも、[ユーザーの mod の前に実行されます](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in)。その位置を設定するには、その id を 2 つの設定のいずれかにリストします。id はプラグインの名前、`@`、マーケットプレイスの名前をつなげたもので、例えば `acme-guard@acme-tools` です。321Claude Code は、ツールの実行など、アクションを実行しようとするたびにイベントを発生させ、それを順番に各 mod に渡します。組織のものとして扱われる mod は、どこにもリストされていない場合でも、[ユーザーの mod の前に実行されます](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in)。その位置を設定するには、その id を 2 つの設定のいずれかにリストします。id はプラグインの名前、`@`、マーケットプレイスの名前をつなげたもので、例えば `acme-guard@acme-tools` です。

318 322 

319* **`prependPlugins`**: 組織の mod は、すべてのイベントをどのユーザーの mod よりも前に受け取り、すべての結果を最後に受け取ります。イベントを変更したり、拒否したり、ユーザーの mod をスキップしたりできます。323* **`prependPlugins`**: 組織の mod は、どのユーザーの mod よりも前にイベントを受け取り、それらの後にイベントの結果を受け取ります。イベントを変更したり、拒否したり、ユーザーの mod をスキップしたりできます。v2.1.323 以降では、フックが引き続き[他の mod のコントロールと描画に到達する](https://code.claude.com/docs/ja/plugins/mods/events.md#hook-other-mods-drawings-and-controls)ことを確認してください。

320* **`appendPlugins`**: 組織の mod はすべてのユーザーの mod の後に実行されるため、それらの mod が渡したイベントのみを、渡された形式で受け取ります。324* **`appendPlugins`**: 組織の mod はすべてのユーザーの mod の後に実行されるため、それらの mod が渡したイベントのみを、渡された形式で受け取ります。

321 325 

322この例では、`acme-tools` マーケットプレイスを `/opt/acme/claude-plugins` に宣言し、そこから `acme-guard` を有効にし、その mod を最初に実行し、その後に組み込みガードを実行します。326この例では、`acme-tools` マーケットプレイスを `/opt/acme/claude-plugins` に宣言し、そこから `acme-guard` を有効にし、その mod を最初に実行し、その後に組み込みガードを実行します。


359 363 

360別の mod が読み込まれようとするたびに、組織の mod は `claude plugin validate` が出力するリストを、[`plugin.register`](https://code.claude.com/docs/ja/plugins/mods/reference#other-mods) という名前のイベントで受け取ります。`prependPlugins` 内の mod はそのリストを読み取り、その mod を拒否できます。また、[任意の mods API 呼び出しを名前で処理](https://code.claude.com/docs/ja/plugins/mods/api.md#reach-files-processes-and-the-network)して、他のすべての mod によるその呼び出しを記録または拒否することもできます。名前は `$.` を除いたメソッドなので、`fs.write` のフックはすべての `$.fs.write` 呼び出しを受け取ります。364別の mod が読み込まれようとするたびに、組織の mod は `claude plugin validate` が出力するリストを、[`plugin.register`](https://code.claude.com/docs/ja/plugins/mods/reference#other-mods) という名前のイベントで受け取ります。`prependPlugins` 内の mod はそのリストを読み取り、その mod を拒否できます。また、[任意の mods API 呼び出しを名前で処理](https://code.claude.com/docs/ja/plugins/mods/api.md#reach-files-processes-and-the-network)して、他のすべての mod によるその呼び出しを記録または拒否することもできます。名前は `$.` を除いたメソッドなので、`fs.write` のフックはすべての `$.fs.write` 呼び出しを受け取ります。

361 365 

366> [!NOTE]

367>

368> v2.1.323 以降では、`ui.focus` フックが他の mod の `$.ui.focus` 呼び出しを受け取るには、より広い matcher が必要です。[他の mod の描画とコントロールをフックする](https://code.claude.com/docs/ja/plugins/mods/events.md#hook-other-mods-drawings-and-controls)を参照してください。

369 

362このポリシー mod は、自身のコードで `$.process.run` または `$.process.spawn` を呼び出すユーザーの mod を拒否します。また、監査ログを保持し、各ツール呼び出しと mod が書き込む各ファイルをデバッグログに書き込みます。最初に実行されるため、ログにはユーザーの mod が変更する前の、要求された内容が記録されます。`acme-guard/hooks/register.js` として保存します。370このポリシー mod は、自身のコードで `$.process.run` または `$.process.spawn` を呼び出すユーザーの mod を拒否します。また、監査ログを保持し、各ツール呼び出しと mod が書き込む各ファイルをデバッグログに書き込みます。最初に実行されるため、ログにはユーザーの mod が変更する前の、要求された内容が記録されます。`acme-guard/hooks/register.js` として保存します。

363 371 

364```javascript acme-guard/hooks/register.js theme={null}372```javascript acme-guard/hooks/register.js theme={null}


403* **`e.tier`**: mod が実行される位置で、`prepend`、`user`、`append`、`builtin` のいずれかです。人がインストールする mod はすべて `user` です。411* **`e.tier`**: mod が実行される位置で、`prepend`、`user`、`append`、`builtin` のいずれかです。人がインストールする mod はすべて `user` です。

404* **`e.uses.calls`**: mod が呼び出す mods API メソッドで、それぞれ `process.run` のように `namespace.method` の形式で記述され、`claude plugin validate` が出力する `$.` は付きません。412* **`e.uses.calls`**: mod が呼び出す mods API メソッドで、それぞれ `process.run` のように `namespace.method` の形式で記述され、`claude plugin validate` が出力する `$.` は付きません。

405 413 

406ユーザーが `$.process.run` を呼び出す mod をインストールすると、その mod は読み込まれず、ユーザーのデバッグログには `refused by acme-guard:` と指定した理由で終わる行が記録されます。この拒否は、[プラグインディレクトリをホットリロードするセッション](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)のトランスクリプトにも表示されます。mod 全体を拒否せずに呼び出しだけをブロックするには、その呼び出しの名前に対するフックから `{ deny: 'your reason' }` を返します。414ユーザーが `$.process.run` を呼び出す mod をインストールすると、その mod は読み込まれず、ユーザーのデバッグログには `refused by acme-guard:` と指定した理由で終わる行が記録されます。この拒否は、[プラグインディレクトリをホットリロードするセッション](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)のトランスクリプトにも表示されます。

415 

416mod 全体を拒否せずに呼び出しだけをブロックするには、[呼び出し元を確認](https://code.claude.com/docs/ja/plugins/mods/reference.md#mods-api-calls)した上で、その呼び出しの名前に対するフックから `{ deny: 'your reason' }` を返します。

407 417 

408監査行をデバッグログ以外の場所に送信するには、同じフックから `$.http.fetch` を呼び出します。418監査行をデバッグログ以外の場所に送信するには、同じフックから `$.http.fetch` を呼び出します。

409 419 

Details

21 21 

22インタラクティブな Claude Code セッションで、作成したい mod について説明すると、Claude がそれを書きます。Claude は `plugin-authoring` という組み込み[スキル](https://code.claude.com/docs/ja/skills.md)から動作します。このスキルは、mod をどこに書くか、バージョンにどのイベントとメソッドがあるか、mod がどのようにロードされるかを Claude に伝えます。Claude は mod を要求するときにスキルをロードできます。または、Claude Code プロンプトで `/plugin-authoring` を実行して自分でロードできます。22インタラクティブな Claude Code セッションで、作成したい mod について説明すると、Claude がそれを書きます。Claude は `plugin-authoring` という組み込み[スキル](https://code.claude.com/docs/ja/skills.md)から動作します。このスキルは、mod をどこに書くか、バージョンにどのイベントとメソッドがあるか、mod がどのようにロードされるかを Claude に伝えます。Claude は mod を要求するときにスキルをロードできます。または、Claude Code プロンプトで `/plugin-authoring` を実行して自分でロードできます。

23 23 

24`auto` および `bypassPermissions` [権限モード](https://code.claude.com/docs/ja/permission-modes.md)では、mod はターンの終了時に実行できます。それ以外の場合は、承認すると実行されます。ただし、[Claude が書いた mod をロードできないセッション](#sessions-that-skip-the-approval)では実行されません。24`auto` および `bypassPermissions` [権限モード](https://code.claude.com/docs/ja/permission-modes.md)では、Claude Code は[確認せずに mod をロードできます](#sessions-that-skip-the-approval)。先に確認を求めるようにするには、`default` モードまたは `acceptEdits` モードで新しいセッションを開始するか、セッションで最初の mod を要求する前にいずれかのモードに[切り替え](https://code.claude.com/docs/ja/permission-modes.md#switch-permission-modes)てください。[一部のセッション](#sessions-that-cant-load)では、mod をロードできません。

25 25 

26**1. mod について説明する**26**1. mod について説明する**

27 27 


33 33 

34**2. mod を承認する**34**2. mod を承認する**

35 35 

36Claude が最初のファイルを保存すると、Claude Code はセッションのホットリロードを有効にするかどうかを尋ねます。ホットリロードは、このセッションで Claude が書いた mod を実行し、後で変更されるたびにそれを取得します。確認が表示されない場合は、この手順をスキップしてください。36Claude が最初のファイルを保存すると、Claude Code はセッションのホットリロードを有効にするかどうかを尋ねます。ホットリロードは、このセッションで Claude が書いた mod を実行し、後で変更されるたびにそれを取得します。[確認せずに新しい mod をロードする](#sessions-that-skip-the-approval)セッションや、[mod をロードできない](#sessions-that-cant-load)セッションでは、この確認は表示されません。

37 37 

38次のいずれかの答えを選択してください。38次のいずれかの答えを選択してください。

39 39 


57* **開始するセッションで**: シェルで `claude --plugin-dir ~/mods/git-branch` を実行します57* **開始するセッションで**: シェルで `claude --plugin-dir ~/mods/git-branch` を実行します

58* **他の人向け**: [マーケットプレイスに追加](#share-your-mod)して、インストールできるようにします58* **他の人向け**: [マーケットプレイスに追加](#share-your-mod)して、インストールできるようにします

59 59 

60### mod Claude が書いたものがロードできないセッション60### 確認せずに mod をロードするセッション

61 61 

62Claude が書いた mod は、mod の実行が許可されている信頼できるワークスペースでロードされます。確認を求めるモードでは、承認した後にロードされます。次のセッションではロードされません。62`auto` モードおよび `bypassPermissions` モードでは、Claude Code は確認せずにホットリロードを有効にでき、mod はターンの終了時にロードされます。

63 63 

64* **誰も承認する人がいない**: `auto` および `bypassPermissions` モード以外での `claude -p` 実行や [`dontAsk` モード](https://code.claude.com/docs/ja/permission-modes)のように、セッションはプロンプトを表示できません64セッションを再開すると、インタラクティブに再開した場合でも `claude -p` で再開した場合でも、その mods フォルダにすでにある mod は確認なしで[ロードされることがあります](#sessions-that-cant-load)。再開時に mod がロードされないようにするには、そのディレクトリを削除してください。

65* **ワークスペースが信頼されていない**: ディレクトリの信頼プロンプトを受け入れていません65 

66### Claude が書いた mod をロードできないセッション

67 

68次の場合、Claude が書いた mod はロードされず、Claude Code はロードするかどうかを尋ねません。

69 

70* **承認する人がいない**: セッションが [`dontAsk` モード](https://code.claude.com/docs/ja/permission-modes)である場合、または `default` モードもしくは `acceptEdits` モードで mod を書く `claude -p` 実行である場合です。これらではホットリロードの確認を表示できません。

71* **ワークスペースが信頼されていないインタラクティブセッション**: ディレクトリの信頼プロンプトを受け入れていません

66* **mod が無効になっている**: `--safe-mode` または `--bare` で開始した、`disableAllHooks` を設定した、または組織の[管理設定がそれをブロック](https://code.claude.com/docs/ja/plugins/mods/admin.md#choose-how-much-to-allow)している72* **mod が無効になっている**: `--safe-mode` または `--bare` で開始した、`disableAllHooks` を設定した、または組織の[管理設定がそれをブロック](https://code.claude.com/docs/ja/plugins/mods/admin.md#choose-how-much-to-allow)している

67 73 

68## 自分で mod を書く74## 自分で mod を書く


292 298 

293`hooks:` 行でモジュールがフックするイベント(それぞれ中括弧内にフィルター付き)を、`calls:` 行で呼び出すすべての mods API メソッドを確認します。モジュールが環境変数を読み取るまたは設定する場合は `env reads:` および `env writes:` 行も、[`$.state`](https://code.claude.com/docs/ja/plugins/mods/interface#keep-state) を使用する場合は `state reads:` および `state writes:` も確認してください。また、アクションを拒否できる各フックについて、`gating hook without .catch: tool.call` のような行が 1 つずつ表示され、そのフックに [`.catch` ハンドラー](https://code.claude.com/docs/ja/plugins/mods/events#handle-a-hook-that-fails)があるかどうかを示します。299`hooks:` 行でモジュールがフックするイベント(それぞれ中括弧内にフィルター付き)を、`calls:` 行で呼び出すすべての mods API メソッドを確認します。モジュールが環境変数を読み取るまたは設定する場合は `env reads:` および `env writes:` 行も、[`$.state`](https://code.claude.com/docs/ja/plugins/mods/interface#keep-state) を使用する場合は `state reads:` および `state writes:` も確認してください。また、アクションを拒否できる各フックについて、`gating hook without .catch: tool.call` のような行が 1 つずつ表示され、そのフックに [`.catch` ハンドラー](https://code.claude.com/docs/ja/plugins/mods/events#handle-a-hook-that-fails)があるかどうかを示します。

294 300 

295hook するつもりだったイベントが最初の行から欠落している場合、Claude Code はその hook も呼び出しません。通常の原因は、イベント名のスペルミスです。コマンドは `"tool.calls" is not an event` などのエラーとして報告します。301処理するつもりだったイベントが `hooks:` 行にない場合、Claude Code はそのフックも呼び出しません。通常の原因は、イベント名のスペルミスです。コマンドは `"tool.calls" is not an event` などのエラーとして報告します。

296 302 

297静的分析がすべての hook と呼び出しを見つけることができるように、これらのルールに従ってください。303静的分析がすべての hook と呼び出しを見つけることができるように、これらのルールに従ってください。

298 304 

Details

91 91 

92各イベントを matcher ごとに 1 回登録します。matcher なしで `session.start` に対して `on` を 2 回呼び出すと、モジュールは `on("session.start") is registered twice without a matcher` で読み込みに失敗します。mod がセッション開始時に行うすべてのことを 1 つの hook に入れます。92各イベントを matcher ごとに 1 回登録します。matcher なしで `session.start` に対して `on` を 2 回呼び出すと、モジュールは `on("session.start") is registered twice without a matcher` で読み込みに失敗します。mod がセッション開始時に行うすべてのことを 1 つの hook に入れます。

93 93 

94#### 他の mod の描画とコントロールをフックする

95 

96他の mod のコントロール、ペイン、またはプロンプト上部の行をフックするには、`plugin` を含む matcher を渡します。`{ plugin: 'other-mod' }` のようにマーケットプレイスを含まない mod の名前を指定するか、すべての mod を対象にする場合は `{ plugin: '*' }` を指定します。`plugin` がない場合、`ui.press`、`ui.input`、`ui.select`、`ui.focus` のフックは他の mod のコントロールに対しては実行されず、`ui.render` のフックは他の mod のペインとプロンプト上部の行をスキップします。

97 

98`on('*', hook)` や `on('ui.*', hook)` のように matcher なしでワイルドカードに登録したフックは、引き続きすべての mod に対して実行されます。matcher 付きのワイルドカードにも `plugin` が必要です。

99 

100> [!NOTE]

101>

102> `{ plugin: '*' }` には Claude Code v2.1.323 以降が必要です。v2.1.323 より前では、`plugin` のないフックはすべての mod に対して実行され、`{ plugin: '*' }` を指定したフックは実行されませんでした。両方のバージョンですべての mod に一致させるには、`ui.press`、`ui.input`、`ui.select` では `{ plugin: /./ }` を使用します。`ui.focus` と `ui.render` では `on('ui.*', hook)` を使用し、`if (next.event !== 'ui.focus') return next(e)` のように `next.event` でイベント名を確認します。

103 

94## Claude の動作をフックする104## Claude の動作をフックする

95 105 

96これらのイベントを処理すると、ツール呼び出し、プロンプト、ターン、または設定の読み取りが発生した時点でそれを確認したり変更したりできます。すべてのイベントとフックが返せる値については、[イベントリファレンス](https://code.claude.com/docs/ja/plugins/mods/reference.md#events)を参照してください。106これらのイベントを処理すると、ツール呼び出し、プロンプト、ターン、または設定の読み取りが発生した時点でそれを確認したり変更したりできます。すべてのイベントとフックが返せる値については、[イベントリファレンス](https://code.claude.com/docs/ja/plugins/mods/reference.md#events)を参照してください。

Details

177 177 

178## 描画する場所を選ぶ178## 描画する場所を選ぶ

179 179 

180`ui.render` フックは、描画したい描画箇所に絞り込まない限り、すべての描画箇所で実行されます。描画箇所を選ぶには、[matcher](https://code.claude.com/docs/ja/plugins/mods/events.md#filter-which-events-a-hook-handles) と呼ばれるフィルターを `on` の 2 番目の引数として渡します。`{ component: 'Pane' }` を渡すと、フックはペインに対してのみ実行されます。フック内では、`e.component` が描画箇所の名前、`e.surface` が描画しているアプリ、`e.props` が描画箇所固有のデータを表します。ペインの場合、`e.requestId` はペインを開いたときの `id` です。180`ui.render` フックが描画する描画箇所を選ぶには、[matcher](https://code.claude.com/docs/ja/plugins/mods/events.md#filter-which-events-a-hook-handles) と呼ばれるフィルターを `on` の 2 番目の引数として渡します。`{ component: 'Pane' }` を渡すと、フックはペインに対してのみ実行されます。フック内では、`e.component` が描画箇所の名前、`e.surface` が描画しているアプリ、`e.props` が描画箇所固有のデータを表します。ペインの場合、`e.requestId` はペインを開いたときの `id` です。

181 181 

182ペインとバンドは、mod が内容を描画するまで空です。タブを選択すると、それぞれが何であり、どのように描画するかを確認できます。182ペインとバンドは、mod が内容を描画するまで空です。タブを選択すると、それぞれが何であり、どのように描画するかを確認できます。

183 183 


191 191 

192> [tab] プロンプトの上のバンド192> [tab] プロンプトの上のバンド

193>193>

194> バンドは、プロンプト入力欄のすぐ上にある帯状の領域です。常に存在し、すべての mod で共有されます。194> バンドは、プロンプト入力欄のすぐ上にある帯状の領域です。そこに描画する mod はそれぞれ独自の行を持ち、行は [mod が実行される順序](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in)で上から積み重なります。

195>195>

196> バンドに何かを表示するにはフックからツリーを返し、何も表示しない場合は `next(e)` を返します。ツリーを返すと、[自分の mod より後](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in)に実行される mod がそこに描画する内容が置き換えられます。それらの内容を残すには、`await next(e)` の結果をツリー内の [`Box`](#build-a-tree-from-elements) の子要素に含めます。196> mod の行を描画するには、`{ component: 'AbovePrompt' }` でフィルターし、[ツリー](#build-a-tree-from-elements)を返します。何も描画しない場合は、`next(e)` を返します。

197>197>

198> バンドに描画するには、`{ component: 'AbovePrompt' }` でフィルターします。198> v2.1.323 より前は、すべての mod がバンド内の 1 つの描画を共有しており、ツリーを返すと自分の mod より後の mod が描画した内容が置き換えられていました。それらのリリースにも対応するには、`await next(e)` の結果を [有効なままの `Box`](https://code.claude.com/docs/ja/plugins/mods/troubleshoot#another-mods-band-shows-and-yours-doesnt) の子要素に含めます。v2.1.323 以降では、その子要素は他の mod の行を描画しません。

199 199 

200mod は、[トランスクリプトに独自の行を配置する](#place-a-row-in-the-transcript)こともできます。200mod は、[トランスクリプトに独自の行を配置する](#place-a-row-in-the-transcript)こともできます。

201 201 


281 281 

282Claude の作業中、スピナーはこれまでどおりアニメーションし、その下に `under the spinner` が表示されます。282Claude の作業中、スピナーはこれまでどおりアニメーションし、その下に `under the spinner` が表示されます。

283 283 

284権限プロンプトは描画箇所ではないため、mod でその表示内容を変更することはできません。質問ダイアログ `AskUserQuestion` は描画箇所であるため、mod で変更できます。ダイアログ用のツリーには参照をちょうど 1 回だけ含め、独自の要素はその上に配置する必要があります。そうでない場合、Claude Code は独自のダイアログを描画します。284権限プロンプトは描画箇所ではないため、mod でその表示内容を変更することはできません。質問ダイアログ `AskUserQuestion` は描画箇所であるため、Claude が質問するときに mod でそのダイアログを変更できます。ダイアログ用のツリーには参照をちょうど 1 回だけ含め、独自の要素はその上に配置する必要があります。そうでない場合、Claude Code は独自のダイアログを描画します。

285 285 

286### 適切なタイミングでペインを開く286### 適切なタイミングでペインを開く

287 287 

288ペインは mod が開いたときにのみ表示されます。どのように、いつ開くかによって、キーボードフォーカスを取得するかどうか、どれだけの領域を求めるか、幅の狭いターミナルで表示されるかどうかが決まります。288ペインは mod が開いたときにのみ表示されます。どのように、いつ開くかによって、キーボードフォーカスを取得するかどうか、どれだけの領域を求めるか、幅の狭いターミナルで表示されるかどうかが決まります。

289 289 

290ペインを開くには、任意の `id` を指定して [`$.ui.open`](https://code.claude.com/docs/ja/plugins/mods/reference#mods-api-methods) を呼び出します。`id` はペインの名前です。`ui.render` フックはこの `id` を確認し、ペインを閉じる際にも再度渡します。290ペインを開くには、任意の `id` を指定して [`$.ui.open`](https://code.claude.com/docs/ja/plugins/mods/reference#mods-api-methods) を呼び出します。`id` はペインの名前です。`ui.render` フックはこの `id` を確認し、ペインを閉じる際にも再度渡します。別の mod がその `id` でペインを開いている場合、呼び出しは拒否されます。

291 291 

292```javascript theme={null}292```javascript theme={null}

293await $.ui.open({ id: 'hello-tabs', title: 'Hello tabs', focus: true })293await $.ui.open({ id: 'hello-tabs', title: 'Hello tabs', focus: true })


399 399 

400> [!NOTE]400> [!NOTE]

401>401>

402> `$.theme.set` と `$.theme.clear` は、Claude Code v2.1.319 で削除された `$.ui.backdrop` を置き換えるものです。`$.ui.backdrop({ id: 'your-backdrop' })` は `$.theme.set({ backdrop: { id: 'your-backdrop' } })` に、`$.ui.backdrop(undefined)` は `$.theme.clear()` に変更してください。`$.theme.clear()` は、どの mod の背景であっても削除します。402> `$.theme.set` と `$.theme.clear` は、Claude Code v2.1.319 で削除された `$.ui.backdrop` を置き換えるものです。`$.ui.backdrop({ id: 'your-backdrop' })` はこのセクションの例にあるような `$.theme.set` の呼び出しに、`$.ui.backdrop(undefined)` は `$.theme.clear()` に変更してください。`$.theme.clear()` は、どの mod の背景であっても削除します。

403 403 

404Desktop アプリまたはモバイルアプリで会話の背後に背景を配置するには、`backdrop` を指定して [`$.theme.set`](https://code.claude.com/docs/ja/plugins/mods/reference#mods-api-methods) を呼び出し、[`Backdrop`](https://code.claude.com/docs/ja/plugins/mods/reference#render-sites) 描画箇所で背景を描画します。背景を外すには、`$.theme.clear()` を呼び出します。ターミナルは背景を描画しません。`$.theme.set` と `$.theme.clear` には Claude Code v2.1.319 以降が必要です。404Desktop アプリまたはモバイルアプリで会話の背後に背景を配置するには、`backdrop` を指定して [`$.theme.set`](https://code.claude.com/docs/ja/plugins/mods/reference#mods-api-methods) を呼び出し、[`Backdrop`](https://code.claude.com/docs/ja/plugins/mods/reference#render-sites) 描画箇所で背景を描画します。背景を外すには、`$.theme.clear()` を呼び出します。ターミナルは背景を描画しません。`$.theme.set` と `$.theme.clear` には Claude Code v2.1.319 以降が必要です。

405 405 

406次の mod は、セッションの開始時に背景を設定して描画し、背景を外す `/plain` コマンドを追加します。406この例には Claude Code v2.1.323 以降が必要なため、まず[バージョンを確認](https://code.claude.com/docs/ja/plugins/mods/overview.md#turn-mods-on-or-off)してください。この mod は、セッションの開始時に背景を設定して描画し、背景を外す `/plain` コマンドを追加します。

407 407 

408```javascript theme={null}408```javascript theme={null}

409export function register(on) {409export function register(on) {

410 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here410 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here

411 on('session.start', async ($, e, next) => {411 on('session.start', async ($, e, next) => {

412 await $.theme.set({ backdrop: { id: 'night-sky', colorScheme: 'dark' } })412 await $.theme.set({ backdrop: { scene: 'night-sky' }, overrideColorScheme: 'dark' })

413 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })413 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })

414 return next(e)414 return next(e)

415 })415 })

416 416 

417 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {417 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {

418 // This hook runs for every mod's backdrop, and another mod can use the same id418 // This hook runs for every mod's backdrop, and another mod can use the same scene

419 if (e.props.plugin !== $.plugin.name || e.props.id !== 'night-sky') return next(e)419 if (e.props.plugin !== $.plugin.name || e.props.scene !== 'night-sky') return next(e)

420 const { Box, Text } = $.ui.resolve(e)420 const { Box, Text } = $.ui.resolve(e)

421 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })421 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })

422 })422 })


428}428}

429```429```

430 430 

431> [!NOTE]

432>

433> v2.1.323 より前では、`$.theme.set` の呼び出しと `e.props` で `scene` の代わりに `id` を記述し、`overrideColorScheme` を `colorScheme` として `backdrop` 内に移動してください。

434 

431この例を試すには、このコードを [mod](https://code.claude.com/docs/ja/plugins/mods/create.md) に記述し、Desktop アプリまたはモバイルアプリでセッションを開始します。背景を外すには、Claude Code のプロンプトで `/plain` を実行します。トランスクリプトには mod の名前に続けて `the theme is cleared` が表示されます。たとえば、`night-sky` という名前の mod では `night-sky: the theme is cleared` と表示されます。435この例を試すには、このコードを [mod](https://code.claude.com/docs/ja/plugins/mods/create.md) に記述し、Desktop アプリまたはモバイルアプリでセッションを開始します。背景を外すには、Claude Code のプロンプトで `/plain` を実行します。トランスクリプトには mod の名前に続けて `the theme is cleared` が表示されます。たとえば、`night-sky` という名前の mod では `night-sky: the theme is cleared` と表示されます。

432 436 

433`backdrop` が受け取る内容、呼び出しの結果からわかること、他の mod が変更できることを確認してください。437`backdrop` が受け取る内容、呼び出しの結果からわかること、他の mod が変更できることを確認してください。

434 438 

435* **`backdrop` のフィールド**:任意の[名前](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits)である `id` は必須で、その他のフィールドは省略可能です。`colorScheme` は `'light'` または `'dark'` で、描画が明るいか暗いかを示します。`glass` については、[ビルドに対応する型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)を参照してください。439* **`backdrop` のフィールド**:`scene` は、フックが描画する背景に付ける任意の[名前](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits)です。その他のフィールドと `overrideColorScheme` については、[ビルドに対応する型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)を参照してください。

436* **背景が描画されるかどうか**:セッションに接続された Desktop アプリまたはモバイルアプリが背景を描画すると応答した場合、`$.theme.set` は `isDrawn: true` で解決されます。それ以外の場合、`isDrawn` は `false` になり、`reason` にはその理由が入ります。440* **背景が描画されるかどうか**:セッションに接続された Desktop アプリまたはモバイルアプリが背景を描画すると応答した場合、`$.theme.set` は `isDrawn: true` で解決されます。それ以外の場合、`isDrawn` は `false` になり、`reason` にはその理由が入ります。

437* **セッションごとに 1 つの背景**:`$.theme.set` の呼び出しはセッションの背景を置き換え、`$.theme.clear()` はその背景を削除します。どの mod が設定した背景であっても同様です。`$.theme.clear()` は、ユーザーが求めた場合にのみ呼び出してください。441* **セッションごとに 1 つの背景**:`$.theme.set` の呼び出しはセッションの背景を置き換え、`$.theme.clear()` はその背景を削除します。どの mod が設定した背景であっても同様です。`$.theme.clear()` は、ユーザーが求めた場合にのみ呼び出してください。

438 442 


510>514>

511> `rows` を 2 以上に設定すると、[複数行を保持できるフィールド](https://code.claude.com/docs/ja/plugins/mods/gallery.md#input)になります。515> `rows` を 2 以上に設定すると、[複数行を保持できるフィールド](https://code.claude.com/docs/ja/plugins/mods/gallery.md#input)になります。

512 516 

513[インターフェースギャラリー](https://code.claude.com/docs/ja/plugins/mods/gallery.md)には、ほとんどの要素のサンプルとスクリーンショットがあります。次の表にすべての要素を示します。517[インターフェースギャラリー](https://code.claude.com/docs/ja/plugins/mods/gallery.md)には、ほとんどの要素のサンプルとスクリーンショットがあります。次の表に主な要素を示します。

514 518 

515| 要素 | 描画する内容 | 使用できる場所 |519| 要素 | 描画する内容 | 使用できる場所 |

516| :- | :- | :- |520| :- | :- | :- |


606テストと別の mod は、コントロールをそのキーで識別します。610テストと別の mod は、コントロールをそのキーで識別します。

607 611 

608* **テスト**: [テスト](https://code.claude.com/docs/ja/plugins/mods/test.md#test-a-drawing)は、キーを使ってコントロールを押したり入力したりします。612* **テスト**: [テスト](https://code.claude.com/docs/ja/plugins/mods/test.md#test-a-drawing)は、キーを使ってコントロールを押したり入力したりします。

609* **別の mod**: Claude Code は、コントロールのコールバックを実行する前に、`e.element` にコントロールのキーを含めて [`ui.press`、`ui.input`、または `ui.select`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) を発火します。そのイベントに対する別の mod のフックは、ユーザーが `Input` に入力した内容を確認でき、そのテキストを変更したり、コールバックが実行されないようにしたりできます。mods API には、その mod がボタンを押すためのメソッドはありません。613* **別の mod**: Claude Code は、コントロールのコールバックを実行する前に、`e.element` にコントロールのキーを含めて [`ui.press`、`ui.input`、または `ui.select`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) を発火します。別の mod のフックも[そのイベントに対して実行](https://code.claude.com/docs/ja/plugins/mods/events.md#hook-other-mods-drawings-and-controls)できます。そのフックは、ユーザーが `Input` に入力した内容を確認でき、そのテキストを変更したり、コールバックが実行されないようにしたりできます。mods API には、その mod がボタンを押すためのメソッドはありません。

610 614 

611`needs a key` または `is drawn twice` というメッセージが表示された場合は、[そのメッセージから原因を特定してください](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#needs-a-key)。615`needs a key` または `is drawn twice` というメッセージが表示された場合は、[そのメッセージから原因を特定してください](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#needs-a-key)。

612 616 

Details

208 208 

209### mods API 呼び出し209### mods API 呼び出し

210 210 

211すべての [mods API メソッド](#mods-api-methods)は、`fs.read`、`model.complete`、`ui.open` のように名前空間とメソッドにちなんだ名前のイベントでもあります。これらのフックは、そのフックの後に実行される mod からの呼び出しをインターセプトし、`next(e)`、`{ deny: reason }`、または `{ value }` を返せます。211すべての [mods API メソッド](#mods-api-methods)は、`fs.read`、`model.complete`、`ui.open` のように名前空間とメソッドにちなんだ名前のイベントでもあります。これらのイベントのフックは、`next(e)`、`{ deny: reason }`、または `{ value }` を返せます。

212 

213これらのイベントの一部は Claude Code 自身のアクションでも発火するため、拒否する前に `next.origin.plugin` が `engine` かどうかを確認してください。

212 214 

213## mods API メソッド215## mods API メソッド

214 216 


249| :- | :- | :- | :- |251| :- | :- | :- | :- |

250| [`Pane`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `title`、`isFocused`、`bodyColumns`、`placement`、`scroll`、`view` | ペインの `id` | Terminal、Desktop、VS Code |252| [`Pane`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `title`、`isFocused`、`bodyColumns`、`placement`、`scroll`、`view` | ペインの `id` | Terminal、Desktop、VS Code |

251| [`AbovePrompt`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`、`isWorking`、`maxRows`、`bodyColumns`、`scroll`、`view` | 1 つのインスタンス | Terminal、Desktop |253| [`AbovePrompt`](https://code.claude.com/docs/ja/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`、`isWorking`、`maxRows`、`bodyColumns`、`scroll`、`view` | 1 つのインスタンス | Terminal、Desktop |

254| `AbovePromptList`(`AbovePrompt` の行のスタック) | `rows`(各 mod の行ごとに 1 つの `{ plugin, tree }` を含むリスト)と `AbovePrompt` の props | 1 つのインスタンス | Terminal、Desktop。Claude Code v2.1.323 以降が必要です。 |

252| [`Placed`](https://code.claude.com/docs/ja/plugins/mods/interface#place-a-row-in-the-transcript) | `id`、`plugin`、`onScreen` | `$.ui.place` が返した `requestId` | Terminal |255| [`Placed`](https://code.claude.com/docs/ja/plugins/mods/interface#place-a-row-in-the-transcript) | `id`、`plugin`、`onScreen` | `$.ui.place` が返した `requestId` | Terminal |

253| [`Backdrop`](https://code.claude.com/docs/ja/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `id`、`plugin`、`glass`、`colorScheme` | `backdrop` | `desktop` および `mobile` サーフェス。Desktop アプリまたはモバイルアプリが背景の描画を要求したときに、フックが実行されます。 |256| [`Backdrop`](https://code.claude.com/docs/ja/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `scene`、`plugin`、`glass`、`overrideColorScheme`。v2.1.323 より前は、`scene` は `id`、`overrideColorScheme` は `colorScheme` でした。 | `backdrop` | `desktop` および `mobile` サーフェス。Desktop アプリまたはモバイルアプリが背景の描画を要求したときに、フックが実行されます。 |

254| `UserMessage` | `text`、`origin`、`isExpanded`、および origin に応じて `task` または `from` | 描画された行の ID | Terminal、Desktop、VS Code |257| `UserMessage` | `text`、`origin`、`isExpanded`、および origin に応じて `task` または `from` | 描画された行の ID | Terminal、Desktop、VS Code |

255| `AssistantMessage` | 返信のテキスト | 描画された行の ID | Terminal、Desktop、VS Code |258| `AssistantMessage` | 返信のテキスト | 描画された行の ID | Terminal、Desktop、VS Code |

256| `ToolUse`、`ToolResult`、`ToolGroup` | ツールの名前、入力、結果 | ツール呼び出し ID | Terminal、Desktop、VS Code |259| `ToolUse`、`ToolResult`、`ToolGroup` | ツールの名前、入力、結果 | ツール呼び出し ID | Terminal、Desktop、VS Code |


297* **`action`**:Claude Code 独自の[キーボードショートカットのアクション](https://code.claude.com/docs/ja/keybindings.md)の 1 つを指定し、そのアクションに対するユーザーの割り当てがコードまたは修飾キー付きのキーである場合、その割り当てでボタンが押されます300* **`action`**:Claude Code 独自の[キーボードショートカットのアクション](https://code.claude.com/docs/ja/keybindings.md)の 1 つを指定し、そのアクションに対するユーザーの割り当てがコードまたは修飾キー付きのキーである場合、その割り当てでボタンが押されます

298* **バンド上の数字ホットキー**:バンド内のボタンに数字の `hotkey` を指定すると、ユーザーが空のプロンプトにその数字だけを入力して手を止めたときにも発火します301* **バンド上の数字ホットキー**:バンド内のボタンに数字の `hotkey` を指定すると、ユーザーが空のプロンプトにその数字だけを入力して手を止めたときにも発火します

299* **折りたたまれたバンド**:バンドが[折りたたまれている](https://code.claude.com/docs/ja/plugins/mods/interface.md#when-the-user-collapses-the-band)間は、`action` の割り当てもホットキーもバンド内のボタンを押しません302* **折りたたまれたバンド**:バンドが[折りたたまれている](https://code.claude.com/docs/ja/plugins/mods/interface.md#when-the-user-collapses-the-band)間は、`action` の割り当てもホットキーもバンド内のボタンを押しません

300* **1 つのホットキーに 2 つのボタン**:1 つの描画内で 2 つのボタンが同じ `hotkey` を指定した場合は、後のボタンが優先されます303* **1 つのホットキーに 2 つのボタン**:1 つの描画内で 2 つのボタンが同じ `hotkey` を指定した場合は、後のボタンが優先されます。別の mod のボタンが同じキーを使う場合については、[ホットキーが機能しない](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#hotkeys-do-nothing)を参照してください。

301* **`variant`**:`primary` または `secondary` を指定し、それ以外の値はエラーをスローします。ターミナルでは、`primary` のボタンは `plain` でない限りアクセントカラーで描画されます。304* **`variant`**:`primary` または `secondary` を指定し、それ以外の値はエラーをスローします。ターミナルでは、`primary` のボタンは `plain` でない限りアクセントカラーで描画されます。

302* **`role`**:`dismiss` は閉じるボタンであることを示し、それ以外の値はエラーをスローします。閉じる処理は `onPress` で行ってください。テキストとボタンの行を含むバンドでは、Desktop アプリはその行の最初の `dismiss` ボタンを独自の閉じるコントロールとして描画することがあります。ターミナルは `role` がない場合と同じようにボタンを描画します。305* **`role`**:`dismiss` は閉じるボタンであることを示し、それ以外の値はエラーをスローします。閉じる処理は `onPress` で行ってください。テキストとボタンの行を含むバンドでは、Desktop アプリはその行の最初の `dismiss` ボタンを独自の閉じるコントロールとして描画することがあります。ターミナルは `role` がない場合と同じようにボタンを描画します。

303 306 


401| 1 つのツリーの入れ子の深さ | ルート要素の下に 32 レベル |404| 1 つのツリーの入れ子の深さ | ルート要素の下に 32 レベル |

402| 1 つのツリー内の要素とテキストの子 | 20,000 |405| 1 つのツリー内の要素とテキストの子 | 20,000 |

403| 1 つのツリー内の `Raster` セル(各 `Raster` の `columns` × `rows`) | 262,144 |406| 1 つのツリー内の `Raster` セル(各 `Raster` の `columns` × `rows`) | 262,144 |

407| プロンプトの上に積み重ねられた行 | 要素、`Raster` セル、`Image` のバイト数は行全体で合算され、1 つのツリーの制限に対して計測されます |

404| 1 つのツリー内のすべての `Image` の PNG または RGBA のバイト数 | 2 MiB |408| 1 つのツリー内のすべての `Image` の PNG または RGBA のバイト数 | 2 MiB |

405| `$.store` | JSON の合計で 4 MiB |409| `$.store` | JSON の合計で 4 MiB |

406| `$.session.messages()` | 最新の 4,096 エントリ |410| `$.session.messages()` | 最新の 4,096 エントリ |


412| `next` に渡す変更済みイベントの入れ子の深さ(`turn.step` のフックなどの[非同期ジェネレーターフック](#events)を除く) | 28,000 レベル。これを超えると、`next` は `nesting deeper than 28000 levels is not supported` で終わるメッセージとともに reject されます。Claude Code v2.1.299 以降が必要です。 |416| `next` に渡す変更済みイベントの入れ子の深さ(`turn.step` のフックなどの[非同期ジェネレーターフック](#events)を除く) | 28,000 レベル。これを超えると、`next` は `nesting deeper than 28000 levels is not supported` で終わるメッセージとともに reject されます。Claude Code v2.1.299 以降が必要です。 |

413| フックの戻り値の入れ子の深さ(`ui.render`、`ui.resolve`、非同期ジェネレーターフックを除く) | 28,000 レベル。これを超えると、フックの結果は拒否され、[それを報告する通知](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)に `nesting deeper than 28000 levels is not supported` が含まれます。Claude Code v2.1.299 以降が必要です。 |417| フックの戻り値の入れ子の深さ(`ui.render`、`ui.resolve`、非同期ジェネレーターフックを除く) | 28,000 レベル。これを超えると、フックの結果は拒否され、[それを報告する通知](https://code.claude.com/docs/ja/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing)に `nesting deeper than 28000 levels is not supported` が含まれます。Claude Code v2.1.299 以降が必要です。 |

414| フックモジュールの 1 つのファイル内で互いに入れ子になったスコープ(関数、ブロック、ループなど) | 2,000 |418| フックモジュールの 1 つのファイル内で互いに入れ子になったスコープ(関数、ブロック、ループなど) | 2,000 |

415| コマンド、ツール、サブエージェントの種類、ペインの名前、および配置された行またはバックドロップの `id` | 英字、数字、`_`、`-`、最大 64 文字 |419| コマンド、ツール、サブエージェントの種類、ペインの名前、配置された行の `id`、およびバックドロップの `scene` | 英字、数字、`_`、`-`、最大 64 文字 |

416| 1 つの `claude plugin test` テスト | テストが `timeoutMs` を設定しない限り 5 秒 |420| 1 つの `claude plugin test` テスト | テストが `timeoutMs` を設定しない限り 5 秒 |

417 421 

418## 設定と環境変数422## 設定と環境変数

Details

139 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))139 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))

140 ```140 ```

141 141 

142 スタブを登録するとマウントは成功し、フックが `next(e)` を返した場合は常に `ui.find({ type: 'Text' })` がその要素を返します。142 スタブを登録するとマウントは成功し、フックが `next(e)` を返した場合は常に `ui.find({ type: 'Text' })` がその要素を返します。v2.1.323 以降では、バンドの場合、`{ plugin: 'my-mod' }` のように mod の名前を `on` の 2 番目の引数として渡します。これがないと、スタブは `next(e)` に応答しません。

143 143 

144* **`turn.step` 用のスタブは非同期ジェネレーターであり**、テストは結果を得るためにストリームを最後まで読み取ります。144* **`turn.step` 用のスタブは非同期ジェネレーターであり**、テストは結果を得るためにストリームを最後まで読み取ります。

145 145 


192| `$.session.id`、`$.agent.list` | `() => ({ value: 'abc123' })`、`() => ({ value: [] })` |192| `$.session.id`、`$.agent.list` | `() => ({ value: 'abc123' })`、`() => ({ value: [] })` |

193| `session.send` | `() => ({ isDelivered: true })`。mod が `{ sessionId }` を渡した場合でも、`e.to` は文字列として渡されます。 |193| `session.send` | `() => ({ isDelivered: true })`。mod が `{ sessionId }` を渡した場合でも、`e.to` は文字列として渡されます。 |

194| `session.receive` | `($, e) => ({ text: e.text })`。`$.session.receive({ origin: { kind: 'peer-send-message' }, text })` で発生させます。 |194| `session.receive` | `($, e) => ({ text: e.text })`。`$.session.receive({ origin: { kind: 'peer-send-message' }, text })` で発生させます。 |

195| `ui.render` | `() => ({ type: 'Text', props: {}, children: ['...'] })` |195| `ui.render` | `() => ({ type: 'Text', props: {}, children: ['...'] })`。バンドについては、[テストキットのルールに従う](#follow-the-test-kit’s-rules)の matcher を参照してください。 |

196 196 

197### `expect` で結果を確認する197### `expect` で結果を確認する

198 198 

199キットには次のアサーションがあります。選んだアサーションは、`expect(answer.text).toBe('ok')` のように、確認する値の後に続けます。199`expect` には `toEqual` や `toHaveLength` などの独自のアサーションがあり、`expect(answer.text).toBe('ok')` のように、確認する値の後に続けます。完全な一覧については、[ビルドに対応する型](https://code.claude.com/docs/ja/plugins/mods/create.md#get-the-types-for-your-build)の `claude-code/index.d.ts` で `type Matchers` を検索してください。アサーションの前に `.not` を付けると逆の条件を確認できます。promise が何で確定するかを確認するには、`expect(...)` の直後に `.resolves` または `.rejects` を付け、`await expect(promise).rejects.toThrow()` のようにその行を `await` します。

200 

201* **等価性**: 同じ値またはオブジェクトには `toBe`、構造には `toEqual`、構造に加えて `undefined` フィールドとプロトタイプも比較するには `toStrictEqual`、指定したフィールドには `toMatchObject`

202* **テキスト**: 正規表現または部分文字列を受け取る `toMatch`、`toStartWith`、`toEndWith`

203* **数値**: `toBeGreaterThan`、`toBeGreaterThanOrEqual`、`toBeLessThan`、`toBeLessThanOrEqual`

204* **内容**: 部分文字列またはメンバーには `toContain`、構造で比較するメンバーには `toContainEqual`、`toHaveLength`、`toHaveProperty`

205* **存在と型**: `toBeDefined`、`toBeUndefined`、`toBeNull`、`toBeTruthy`、`toBeFalsy`、`toBeNaN`、`toBeInstanceOf`

206* **スロー**: `toThrow`。`expect` が呼び出す関数、または `.rejects` で確認する promise に対して使います

207 

208アサーションの前に `.not` を付けると逆の条件を確認でき、`.resolves` または `.rejects` を付けると promise が何で確定するかを確認できます。

209 200 

210非同期ジェネレーターではなくプレーンな関数として `on` に渡したスタブまたはフックの中で `expect` が失敗すると、テストは失敗します。エンジンはそのフックをスキップし、失敗時の出力には `in the test's store.set hook` のようにそのフックの名前が示されます。201非同期ジェネレーターではなくプレーンな関数として `on` に渡したスタブまたはフックの中で `expect` が失敗すると、テストは失敗します。エンジンはそのフックをスキップし、失敗時の出力には `in the test's store.set hook` のようにそのフックの名前が示されます。

211 202 

Details

223 223 

224### 別の mod のバンドが表示され、自分のバンドが表示されない224### 別の mod のバンドが表示され、自分のバンドが表示されない

225 225 

226プロンプトの上にはバンドが 1 つしかなく、すべての mod がそれを共有します。[自分の mod より前に](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in) 実行される mod が `next(e)` の結果を含まないツリーを返すと、自分のバンドが置き換えられます。両方のバンドを表示するには、その mod のフックを変更するか、作成者に変更を依頼してください。226プロンプトの上に描画する mod はそれぞれ独自の行を持つため、別の mod の行が表示されているのに自分の行が表示されない場合は、次の原因を確認してください。

227 227 

228* **後続のバンドを残す**: [描画する場所を選ぶ](https://code.claude.com/docs/ja/plugins/mods/interface.md#pick-where-to-draw) の「プロンプトの上のバンド」タブのように、`await next(e)` の結果をツリー内の `Box` の子要素に含めます228* **ツリーが検証を通らない**: [デバッグログを書き出し](#read-the-debug-log)、[`ui.render hook skipped`](#a-pane-or-band-is-empty) または [`does not validate`](#ui-render-refused) を検索して、その行が示す内容を修正します。

229* **ツリーを有効に保つ**: その `Box` や、それを囲む `Box` に、`width`、`height`、`minWidth`、`minHeight`、`position`、`top`、`left`、`right`、`bottom`、`display`、`overflow` の props を指定しないでください229* **行を合わせると制限を超える**: [デバッグログを書き出し](#read-the-debug-log)、`past the limits of the band` を検索します。各行は [1 つのツリーの制限を共有する](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits) ため、より小さいツリーを描画するか、他の mod の作成者にそうするよう依頼してください。

230* **別の mod が自分の行を隠すか、その上に描画している**: ログにこれらの行がどれもない場合は、他の mod を 1 つずつ [オフにします](https://code.claude.com/docs/ja/plugins/mods/overview.md#turn-mods-on-or-off)。自分の行が再び表示された場合は、その mod の作成者に変更を依頼してください。

230 231 

231その mod を見つけるには、[デバッグログを書き出し](#read-the-debug-log)、`answered ui.render without next()` を検索します。`other-mod (user) answered ui.render without next()` のような行は、`next(e)` を呼び出さずにツリーを返した mod を示します。この行は [描画箇所](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites) を示さないため、ペインのみの mod が表示されることもあります。`next(e)` を呼び出してもその結果を破棄する mod については行が出力されないため、自分の mod より前のフックも確認してください。232v2.1.323 より前では、すべての mod がバンド内の 1 つの描画を共有していました。[自分の mod より前に](https://code.claude.com/docs/ja/plugins/mods/events.md#the-order-mods-run-in) 実行された mod が `next(e)` の結果を含まないツリーを返すと、自分の描画が置き換えられていました。Claude Code を更新するか、その mod の作成者に次の変更を依頼してください。

232 233 

233mod 自身のフックが返したツリーが検証を通らない場合も、その mod のバンドは表示されず、他の mod のバンドは残ります。どの mod が原因か、またその理由を確認するには、[デバッグログを書き出し](#read-the-debug-log)、[`ui.render hook skipped`](#a-pane-or-band-is-empty) を検索します。234* **後続の mod の描画を残す**: `await next(e)` の結果をツリー内の `Box` の子要素に含めます

235* **ツリーを有効に保つ**: その `Box` や、それを囲む `Box` に、`width`、`height`、`minWidth`、`minHeight`、`position`、`top`、`left`、`right`、`bottom`、`display`、`overflow` の props を指定しないでください

234 236 

235### ペインまたはバンドが空であるか、Claude Code の通常のコンテンツを表示する237### ペインまたはバンドが空であるか、Claude Code の通常のコンテンツを表示する

236 238 


246 248 

247### `ui.render` の行に `refused` と表示される249### `ui.render` の行に `refused` と表示される

248 250 

249`ui.render (<site>) refused:`、または [デバッグログ](#read-the-debug-log) の `ui.render (<site>): the chain settled on a tree that does not validate` は、その描画箇所の [ツリー](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements) が [サイズ制限](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits) を超えていることを意味します。どちらの行も [描画箇所](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites) を示し、続いて理由を示します。理由はその制限を示します。251`ui.render (<site>) refused:`、または [デバッグログ](#read-the-debug-log) の `ui.render (<site>): the chain settled on a tree that does not validate` は、その描画箇所の [ツリー](https://code.claude.com/docs/ja/plugins/mods/interface.md#build-a-tree-from-elements) が [サイズ制限](https://code.claude.com/docs/ja/plugins/mods/reference.md#limits) を超えていることを意味します。どちらの行も [描画箇所](https://code.claude.com/docs/ja/plugins/mods/reference.md#render-sites) を示し、続いて理由を示します。

250 252 

251その描画箇所に描画する mod を変更して、[`ui.render`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) フックがより小さいツリーを返すようにするか、作成者に変更を依頼してください。トランスクリプトの行が `hooks` で始まる場合は、読み込まれた複数の mod がその描画箇所の `ui.render` フックを持っているため、それぞれの mod のツリーを確認してください。プロンプトの上のバンドがネストして 32 レベルを超える深さのツリーになる複数の mod の場合、行は次のようになります。253その描画箇所に描画する mod を変更して、[`ui.render`](https://code.claude.com/docs/ja/plugins/mods/reference#interface) フックがより小さいツリーを返すようにするか、作成者に変更を依頼してください。トランスクリプトの行が `hooks` で始まる場合は、読み込まれた複数の mod がその描画箇所の `ui.render` フックを持っているため、それぞれの mod のツリーを確認してください。プロンプトの上の行が合わせてバンドの制限に収まらない場合、行は次のようになります。

252 254 

253```text theme={null}255```text theme={null}

254hooks: ui.render (AbovePrompt) refused: deeper than 32; nothing was drawn256hooks: ui.render (AbovePrompt) refused: a row past the limits of the band; nothing was drawn

255```257```

256 258 

259この末尾の表示にかかわらず、制限に収まる行は描画されます。

260 

257v2.1.307 より前では、`refused:` の行はどの描画箇所についても検証を通らないツリーを報告し、`Pane` と `AbovePrompt` では `; the engine drew its own` で終わっていました。これらのリリースでは、理由が示す内容を修正してください。261v2.1.307 より前では、`refused:` の行はどの描画箇所についても検証を通らないツリーを報告し、`Pane` と `AbovePrompt` では `; the engine drew its own` で終わっていました。これらのリリースでは、理由が示す内容を修正してください。

258 262 

259### `needs a key`、`is drawn twice`、または `key each once`263### `needs a key`、`is drawn twice`、または `key each once`


307 311 

308### ホットキーが何もしない312### ホットキーが何もしない

309 313 

310ペインやバンドにキーボードフォーカスがないか、ボタンが折りたたまれたバンド内にあるか、描画が VS Code 拡張機能内にあり、そこではボタンにホットキーがありません。該当するものを実行してください。314ペインやバンドにキーボードフォーカスがないか、ボタンが折りたたまれたバンド内にあるか、別の mod が同じキーを使用しているか、描画が VS Code 拡張機能内にあります。

311 315 

312* **キーボードフォーカスがない**: Ctrl+X を押してから Tab を押すか、[フルスクリーンレンダリング](https://code.claude.com/docs/ja/fullscreen.md) ではペインまたはバンドをクリックします。ペインが開いたときにフォーカスを取得するようにするには、コマンドから `focus: true` を指定して開きます。316* **キーボードフォーカスがない**: Ctrl+X を押してから Tab を押すか、[フルスクリーンレンダリング](https://code.claude.com/docs/ja/fullscreen.md) ではペインまたはバンドをクリックします。ペインが開いたときにフォーカスを取得するようにするには、コマンドから `focus: true` を指定して開きます。

313* **ボタンが折りたたまれたバンド内にある**: バンドには `▸ plugin panel hidden` で始まる薄い 1 行が表示されます。その行に示されたキー(デフォルトでは Ctrl+X に続けて Ctrl+A)を押して [展開します](#plugin-panel-hidden)。317* **ボタンが折りたたまれたバンド内にある**: バンドには `▸ plugin panel hidden` で始まる薄い 1 行が表示されます。その行に示されたキー(デフォルトでは Ctrl+X に続けて Ctrl+A)を押して [展開します](#plugin-panel-hidden)。

314* **VS Code 拡張機能内の場合**: ボタンをクリックするか、ボタンにフォーカスがある状態で Enter を押します318* **バンド内の別の mod の行が同じホットキーを使用している**: ターミナルでは、そのキーを押してもどちらのボタンも押されません。確認するには、行を描画する他の mod を、キーが機能するようになるまで 1 つずつ [オフにします](https://code.claude.com/docs/ja/plugins/mods/overview.md#turn-mods-on-or-off)。自分のボタンの `hotkey` を変更するか、その mod の作成者に変更を依頼してください。

319* **ボタンにホットキーがない VS Code 拡張機能内の場合**: ボタンをクリックするか、ボタンにフォーカスがある状態で Enter を押します

315 320 

316### 描画がターミナルで機能し、Desktop アプリや VS Code では機能しない321### 描画がターミナルで機能し、Desktop アプリや VS Code では機能しない

317 322 

Details

36 36 

37![Diagram in two columns joined by five straight arrows. Left, the directory of a plugin named my-plugin, holding a manifest at .claude-plugin/plugin.json, skills/review/SKILL.md, agents/reviewer.md, hooks/hooks.json, .mcp.json, and other components. Right, what each file gives you in your session: the manifest sets the plugin name, my-plugin; the skill runs as /my-plugin:review; the agent file is a subagent Claude can delegate to; the hooks file holds hooks that run on lifecycle events; and .mcp.json adds an MCP server that gives Claude tools.](https://mintcdn.com/claude-code/2Q_GtOEovg5qaBem/images/plugin-directory.svg?fit=max\&auto=format\&n=2Q_GtOEovg5qaBem\&q=85\&s=f623b64e82713b830e48174f0a922888)37![Diagram in two columns joined by five straight arrows. Left, the directory of a plugin named my-plugin, holding a manifest at .claude-plugin/plugin.json, skills/review/SKILL.md, agents/reviewer.md, hooks/hooks.json, .mcp.json, and other components. Right, what each file gives you in your session: the manifest sets the plugin name, my-plugin; the skill runs as /my-plugin:review; the agent file is a subagent Claude can delegate to; the hooks file holds hooks that run on lifecycle events; and .mcp.json adds an MCP server that gives Claude tools.](https://mintcdn.com/claude-code/2Q_GtOEovg5qaBem/images/plugin-directory.svg?fit=max\&auto=format\&n=2Q_GtOEovg5qaBem\&q=85\&s=f623b64e82713b830e48174f0a922888)

38 38 

39プラグインが保持できるすべてのコンポーネントタイプについて、各コンポーネントの例を含めて、[プラグインコンポーネント](https://code.claude.com/docs/ja/plugins/components.md)を参照してください。プラグインのディレクトリ内の各部分がどこに配置されているかを確認するには、そのページの[プラグインエクスプローラー](https://code.claude.com/docs/ja/plugins/components.md#explore-the-plugin-directory)を使用してください。39プラグインが保持できるコンポーネントタイプとそれぞれの例については、[プラグインコンポーネント](https://code.claude.com/docs/ja/plugins/components.md)を参照してください。プラグインのディレクトリ内の各部分がどこに配置されているかを確認するには、そのページの[プラグインエクスプローラー](https://code.claude.com/docs/ja/plugins/components.md#explore-the-plugin-directory)を使用してください。

40 40 

41### プラグインが必要かどうかを判断する41### プラグインが必要かどうかを判断する

42 42 

Details

54 54 

55シェルで、`claude plugin marketplace add ./path-to-marketplace` でプラグインをリストアップするローカルマーケットプレイスを追加し、そこからプラグインをインストールして、セッションを開始してロードされることを確認します。55シェルで、`claude plugin marketplace add ./path-to-marketplace` でプラグインをリストアップするローカルマーケットプレイスを追加し、そこからプラグインをインストールして、セッションを開始してロードされることを確認します。

56 56 

57* 最小限のマーケットプレイスについては、[マーケットプレイスを作成する](https://code.claude.com/docs/ja/plugins/create-marketplace.md)を参照してください。57* 動作する最小限のマーケットプレイスについては、[マーケットプレイスを作成する](https://code.claude.com/docs/ja/plugins/create-marketplace.md)を参照してください。

58* インストールがソースディレクトリをロードするか、キャッシュされたコピーをロードするかを知るには、[インプレイスおよびコピーされたプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#in-place-and-copied-plugins)を参照してください。58* インストールがソースディレクトリをロードするか、キャッシュされたコピーをロードするかを知るには、[インプレイスおよびコピーされたプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#in-place-and-copied-plugins)を参照してください。

59 59 

60**5. ユーザーが見るメタデータを入力する**60**5. ユーザーが見るメタデータを入力する**

61 61 

62`plugin.json` で `description`、`author`、`homepage`、および `repository` を設定し、プラグインルートに `README.md` を追加してください。`homepage` は URL として解析可能である必要があります。[マニフェストリファレンス](https://code.claude.com/docs/ja/plugins/manifest-reference.md#fields)はすべてのフィールドをリストアップしています。62`plugin.json` で `description`、`author`、`homepage`、および `repository` を設定し、プラグインルートに `README.md` を追加してください。`homepage` は URL として解析可能である必要があります。各フィールドが受け付ける値については、[マニフェストリファレンス](https://code.claude.com/docs/ja/plugins/manifest-reference.md#fields)を参照してください。

63 63 

64**6. eval スイートを実行する**64**6. eval スイートを実行する**

65 65 

Details

67> | `--capacity <N>` | 同時セッションの最大数です。デフォルトは 32 です。`--spawn=session` とは併用できません。 |67> | `--capacity <N>` | 同時セッションの最大数です。デフォルトは 32 です。`--spawn=session` とは併用できません。 |

68> | `--[no-]create-session-in-dir` | サーバー起動時に現在のディレクトリにセッションを 1 つ事前作成し、すぐに入力できるようにします。`worktree` モードでは、このセッションは現在のディレクトリに留まり、オンデマンドのセッションは分離された worktree を取得します。デフォルトでオンです。`--no-create-session-in-dir` を渡してセッションなしで起動した場合、Claude Code はサーバーを停止したときにそのセッションをアーカイブするため、[再開](#resume-sessions-after-stopping-the-server)できるものは残りません。 |68> | `--[no-]create-session-in-dir` | サーバー起動時に現在のディレクトリにセッションを 1 つ事前作成し、すぐに入力できるようにします。`worktree` モードでは、このセッションは現在のディレクトリに留まり、オンデマンドのセッションは分離された worktree を取得します。デフォルトでオンです。`--no-create-session-in-dir` を渡してセッションなしで起動した場合、Claude Code はサーバーを停止したときにそのセッションをアーカイブするため、[再開](#resume-sessions-after-stopping-the-server)できるものは残りません。 |

69> | `--permission-mode <mode>` | サーバーのセッションの開始時の[権限モード](https://code.claude.com/docs/ja/permission-modes.md)(`acceptEdits` など)を設定します。`manual` は `default` のエイリアスとして受け付けます。認識できないモードを指定すると、サーバーは起動時に停止し、有効なモードを一覧表示します。 |69> | `--permission-mode <mode>` | サーバーのセッションの開始時の[権限モード](https://code.claude.com/docs/ja/permission-modes.md)(`acceptEdits` など)を設定します。`manual` は `default` のエイリアスとして受け付けます。認識できないモードを指定すると、サーバーは起動時に停止し、有効なモードを一覧表示します。 |

70> | `--settings <file>` | `claude --settings` と同じ[優先順位](https://code.claude.com/docs/ja/settings.md#settings-precedence)で、JSON 設定ファイルをサーバーのセッションに適用します。JSON 文字列ではなく、ファイルパスを指定してください。Claude Code v2.1.321 以降が必要です。 |

70> | `--chrome` / `--no-chrome` | サーバーが作成するセッションで [Chrome 統合](https://code.claude.com/docs/ja/chrome.md)をオンまたはオフにし、別のデバイスから作業している間に Claude がマシン上の Chrome を使用できるようにします。どちらのフラグも指定しない場合、サーバーが事前作成するセッションと、claude.ai/code または Claude アプリから自分で開始したセッションは、[Chrome をデフォルトで有効にした](https://code.claude.com/docs/ja/chrome.md#enable-chrome-by-default)場合でも Chrome がオフの状態で開始されます。サーバーが[プロジェクト](https://code.claude.com/docs/ja/claude-projects.md)のスレッドのために開始するセッションは、代わりにその設定に従います(`bypassPermissions` モードを除く)。Claude Code v2.1.273 以降が必要です。 |71> | `--chrome` / `--no-chrome` | サーバーが作成するセッションで [Chrome 統合](https://code.claude.com/docs/ja/chrome.md)をオンまたはオフにし、別のデバイスから作業している間に Claude がマシン上の Chrome を使用できるようにします。どちらのフラグも指定しない場合、サーバーが事前作成するセッションと、claude.ai/code または Claude アプリから自分で開始したセッションは、[Chrome をデフォルトで有効にした](https://code.claude.com/docs/ja/chrome.md#enable-chrome-by-default)場合でも Chrome がオフの状態で開始されます。サーバーが[プロジェクト](https://code.claude.com/docs/ja/claude-projects.md)のスレッドのために開始するセッションは、代わりにその設定に従います(`bypassPermissions` モードを除く)。Claude Code v2.1.273 以降が必要です。 |

71> | `-d`, `--debug[=<filter>]` | サーバーのデバッグログをオンにします。必要に応じてカテゴリでフィルタリングできます。フィルターは `--debug=api,hooks` のように `=` 形式でのみ渡します。Claude Code v2.1.282 以降が必要です。 |72> | `-d`, `--debug[=<filter>]` | サーバーのデバッグログをオンにします。必要に応じてカテゴリでフィルタリングできます。フィルターは `--debug=api,hooks` のように `=` 形式でのみ渡します。Claude Code v2.1.282 以降が必要です。 |

72> | `--debug-file <path>` | デバッグログを指定したファイルに書き込みます。 |73> | `--debug-file <path>` | デバッグログを指定したファイルに書き込みます。 |

73> | `--verbose` | 詳細な接続ログとセッションログを表示します。 |74> | `--verbose` | 詳細な接続ログとセッションログを表示します。 |

74> | `--sandbox`, `--no-sandbox` | v2.1.300 で削除されました。どちらかのフラグを渡すと、サーバーは起動せずに[エラーで終了](https://code.claude.com/docs/ja/errors.md#sandbox-is-not-supported-by-claude-remote-control)します。 |75> | `--sandbox`, `--no-sandbox` | v2.1.300 で削除されました。どちらかのフラグを渡すと、サーバーは起動せずに[エラーで終了](https://code.claude.com/docs/ja/errors.md#sandbox-is-not-supported-by-claude-remote-control)します。 |

75>76>

76> `remote-control` の前にグローバルな `claude` フラグを渡した場合、またはラッパースクリプトがフラグを追加した場合、Claude Code はそのフラグをサーバーが作成するセッションに引き継ぎません。Claude Code がフラグを通すのは、`--verbose` や `--model` のように、それを削除してもセッションでできることが変わらないとわかっている場合だけです。`--settings` などその他のフラグの場合、Claude Code は[起動を拒否](https://code.claude.com/docs/ja/errors.md#not-carried-over-to-the-sessions-remote-control-starts)し、削除すべきフラグ名を表示します。77> `remote-control` の前にグローバルな `claude` フラグを渡した場合、またはラッパースクリプトがフラグを追加した場合、Claude Code はそのフラグをサーバーが作成するセッションに引き継ぎません。`--verbose` や `--model` など一部のフラグでは、サーバーはそのまま起動します。その他のフラグの場合、サーバーは[起動しません](https://code.claude.com/docs/ja/errors.md#not-carried-over-to-the-sessions-remote-control-starts)。設定ファイルを渡すには、`remote-control` の後に `--settings` を指定します。

77>78>

78> サーバーが開始するセッションをサンドボックス化するには、設定ファイルで[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md)をオンにします。79> サーバーが開始するセッションをサンドボックス化するには、設定ファイルで[サンドボックス化](https://code.claude.com/docs/ja/sandboxing.md)をオンにします。

79>80>


375* **転送されたダイアログの有効期限**: Claude Code は、権限プロンプトと `AskUserQuestion` の質問を、回答するまで開いたままにします。安全性による拒否の後に表示されるモデル選択プロンプトなど、別の種類のダイアログを Claude Code がリモートセッションに転送した場合は、デフォルトで 5 分間待機した後、ダイアログを閉じて、そのダイアログの何もしないデフォルトで続行します。期限を調整または無効にするには、[`dialogExpiry`](https://code.claude.com/docs/ja/settings-reference#dialogexpiry) を設定してください。Claude Code v2.1.224 以降が必要です。376* **転送されたダイアログの有効期限**: Claude Code は、権限プロンプトと `AskUserQuestion` の質問を、回答するまで開いたままにします。安全性による拒否の後に表示されるモデル選択プロンプトなど、別の種類のダイアログを Claude Code がリモートセッションに転送した場合は、デフォルトで 5 分間待機した後、ダイアログを閉じて、そのダイアログの何もしないデフォルトで続行します。期限を調整または無効にするには、[`dialogExpiry`](https://code.claude.com/docs/ja/settings-reference#dialogexpiry) を設定してください。Claude Code v2.1.224 以降が必要です。

376* **Fable の使用クレジット同意プロンプトは転送されない**: Claude Code は、セッション中の [Fable の使用クレジット同意プロンプト](https://code.claude.com/docs/ja/model-config.md#fable-and-usage-credits)を、デバイス上ではなくセッションが実行されている場所でのみ表示します。セッションがターミナルで実行されていて、Claude Code がプロンプトを閉じる前にそこで誰も回答しなかった場合、ターンはリクエストを送信せずに終了します。[The prompt to confirm went unanswered](https://code.claude.com/docs/ja/errors.md#the-prompt-to-confirm-went-unanswered) を参照してください。377* **Fable の使用クレジット同意プロンプトは転送されない**: Claude Code は、セッション中の [Fable の使用クレジット同意プロンプト](https://code.claude.com/docs/ja/model-config.md#fable-and-usage-credits)を、デバイス上ではなくセッションが実行されている場所でのみ表示します。セッションがターミナルで実行されていて、Claude Code がプロンプトを閉じる前にそこで誰も回答しなかった場合、ターンはリクエストを送信せずに終了します。[The prompt to confirm went unanswered](https://code.claude.com/docs/ja/errors.md#the-prompt-to-confirm-went-unanswered) を参照してください。

377* **一部のコマンドはローカル専用**: `/plugin` や `/resume` など、ターミナルインターフェースでのみ実行されるコマンドは、引数を渡すかどうかにかかわらず、ローカルの CLI からのみ動作します。`/claude-api` も、モバイルや Web から入力した場合は使用できません。ただし、そこでも Claude は[そのスキルを自ら読み込む](https://code.claude.com/docs/ja/skills.md#work-on-claude-api-projects)ことができます。以下はモバイルと Web から動作します。378* **一部のコマンドはローカル専用**: `/plugin` や `/resume` など、ターミナルインターフェースでのみ実行されるコマンドは、引数を渡すかどうかにかかわらず、ローカルの CLI からのみ動作します。`/claude-api` も、モバイルや Web から入力した場合は使用できません。ただし、そこでも Claude は[そのスキルを自ら読み込む](https://code.claude.com/docs/ja/skills.md#work-on-claude-api-projects)ことができます。以下はモバイルと Web から動作します。

378 * テキスト出力コマンド: `/compact`、`/clear`、`/context`、`/usage`、`/exit`、`/usage-credits`、`/recap`、`/reload-plugins`。`/usage-credits` はブラウザを開く代わりに請求 URL を出力します。`/reload-plugins` は、セッションが対話型ターミナルで実行されている場合にのみ動作します。対話型ターミナルのないセッションではこのコマンドは拒否されます。379 * テキスト出力コマンド: `/compact`、`/clear`、`/context`、`/usage`、`/exit`、`/usage-credits`、`/recap`、`/reload-plugins`。`/usage-credits` は、使用クレジットを管理する場所などをテキストで返します。`/reload-plugins` は、セッションが対話型ターミナルで実行されている場合にのみ動作します。対話型ターミナルのないセッションではこのコマンドは拒否されます。

379 * `/model`、`/effort`、`/fast`、`/color`、`/rename`: 値を引数として渡します(例: `/model sonnet` や `/effort high`)。モバイルと Web からは、`/model` と `/effort` はターミナルのピッカーやスライダーの代わりに引数を受け取ります。380 * `/model`、`/effort`、`/fast`、`/color`、`/rename`: 値を引数として渡します(例: `/model sonnet` や `/effort high`)。モバイルと Web からは、`/model` と `/effort` はターミナルのピッカーやスライダーの代わりに引数を受け取ります。

380 * `/mcp`: モバイルアプリからは、ピッカーを開く代わりにサーバーのステータスのテキスト要約を返します。Web では、`/mcp` を単独で実行すると、要約を返す代わりに [claude.ai コネクタ](https://code.claude.com/docs/ja/mcp.md#use-mcp-servers-from-claude-ai)のディレクトリが開きます。`reconnect`、`enable`、`disable` の[サブコマンド](https://code.claude.com/docs/ja/commands.md#all-commands)は、セッションが対話型ターミナルで実行されている場合、どちらからでも動作します。サーバー名を指定しない `/mcp reconnect` は、失敗した、または認証が必要なすべてのサーバーを再試行します。ピッカーを使わずに claude.ai コネクタを認可するには、[シェルからコネクタを再度認可する](#authorize-a-connector-again-from-your-shell)を参照してください。381 * `/mcp`: モバイルアプリからは、ピッカーを開く代わりにサーバーのステータスのテキスト要約を返します。Web では、`/mcp` を単独で実行すると、要約を返す代わりに [claude.ai コネクタ](https://code.claude.com/docs/ja/mcp.md#use-mcp-servers-from-claude-ai)のディレクトリが開きます。`reconnect`、`enable`、`disable` の[サブコマンド](https://code.claude.com/docs/ja/commands.md#all-commands)は、セッションが対話型ターミナルで実行されている場合、どちらからでも動作します。サーバー名を指定しない `/mcp reconnect` は、失敗した、または認証が必要なすべてのサーバーを再試行します。ピッカーを使わずに claude.ai コネクタを認可するには、[シェルからコネクタを再度認可する](#authorize-a-connector-again-from-your-shell)を参照してください。

381 * `/config`: モバイルアプリからは、`key=value` を渡して設定を変更するか、引数なしで実行して設定可能なキーを一覧表示します。Web では、`/config` は代わりに **Settings > Code** または **Settings > Claude Code** を開きます。382 * `/config`: モバイルアプリからは、`key=value` を渡して設定を変更するか、引数なしで実行して設定可能なキーを一覧表示します。Web では、`/config` は代わりに **Settings > Code** または **Settings > Claude Code** を開きます。

routines.md +1 −1

Details

431 431 

432各スケジュールタスクは、ネットワークアクセス、環境変数、セットアップスクリプトを制御する[クラウド環境](https://code.claude.com/docs/ja/cloud-environments.md)を使用します。タスクは、すべての実行でその環境のネットワークポリシーを継承します。432各スケジュールタスクは、ネットワークアクセス、環境変数、セットアップスクリプトを制御する[クラウド環境](https://code.claude.com/docs/ja/cloud-environments.md)を使用します。タスクは、すべての実行でその環境のネットワークポリシーを継承します。

433 433 

434**Default** 環境は、**Allow package managers** がチェックされた **Limited** アクセスを使用するため、その実行は[デフォルト許可リスト](https://code.claude.com/docs/ja/cloud-environments.md#default-allowed-domains)にアクセスできます。ブロックされたホストへのリクエストは `403` と `x-deny-reason: host_not_allowed` で失敗します。MCP コネクタのトラフィックは Anthropic のサーバーを通じてルーティングされるため、タスクに追加するコネクタは **Allowed domains** にホストを追加しなくても機能します。不要なコネクタは[コネクタ](#connectors)で削除してください。434**Default** 環境は、**Allow package managers** がチェックされた **Limited** アクセスを使用するため、その実行は[デフォルト許可リスト](https://code.claude.com/docs/ja/cloud-environments.md#default-allowed-domains)にアクセスできます。ブロックされたホストへのリクエストは、[`403` や `ENOTFOUND` などのエラー](https://code.claude.com/docs/ja/errors#host-not-allowed-in-a-cloud-session)で失敗します。MCP コネクタのトラフィックは Anthropic のサーバーを通じてルーティングされるため、タスクに追加するコネクタは **Allowed domains** にホストを追加しなくても機能します。不要なコネクタは[コネクタ](#connectors)で削除してください。

435 435 

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

437 437 

sandboxing.md +5 −3

Details

276 276 

277これらのパスは OS レベルで適用されるため、サンドボックス内で実行されるすべてのコマンドは、その子プロセスも含めてこれらに従います。ツールが特定の場所への書き込みアクセスを必要とする場合は、`excludedCommands` でツールをサンドボックスから完全に除外するのではなく、この方法を使用することを推奨します。277これらのパスは OS レベルで適用されるため、サンドボックス内で実行されるすべてのコマンドは、その子プロセスも含めてこれらに従います。ツールが特定の場所への書き込みアクセスを必要とする場合は、`excludedCommands` でツールをサンドボックスから完全に除外するのではなく、この方法を使用することを推奨します。

278 278 

279Linux と WSL2 では、まだ存在しないパスのエントリは効果がないため、先にそのパスを作成してください。

280 

279同じファイルシステム配列を複数の[設定スコープ](https://code.claude.com/docs/ja/settings.md#settings-precedence)で定義した場合、Claude Code はそれらをマージし、あるスコープの配列を別のスコープの配列で置き換えるのではなく、すべてのスコープのパスを結合します。[開発者がポリシーを広げないようにする](#keep-developers-from-widening-the-policy)で説明しているロックがエントリを対象としている場合、Claude Code はそのエントリをマージから除外します。281同じファイルシステム配列を複数の[設定スコープ](https://code.claude.com/docs/ja/settings.md#settings-precedence)で定義した場合、Claude Code はそれらをマージし、あるスコープの配列を別のスコープの配列で置き換えるのではなく、すべてのスコープのパスを結合します。[開発者がポリシーを広げないようにする](#keep-developers-from-widening-the-policy)で説明しているロックがエントリを対象としている場合、Claude Code はそのエントリをマージから除外します。

280 282 

281CLI の [`--setting-sources`](https://code.claude.com/docs/ja/cli-reference) や Agent SDK の [`settingSources`](https://code.claude.com/docs/ja/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) で設定ソースを除外した場合、Claude Code はサンドボックス設定を構築する際に、そのソースの `sandbox.filesystem` エントリ、`Edit` 権限ルール、`Read` 拒否ルールを無視します。Claude Code v2.1.246 以降が必要です。283CLI の [`--setting-sources`](https://code.claude.com/docs/ja/cli-reference) や Agent SDK の [`settingSources`](https://code.claude.com/docs/ja/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) で設定ソースを除外した場合、Claude Code はサンドボックス設定を構築する際に、そのソースの `sandbox.filesystem` エントリ、`Edit` 権限ルール、`Read` 拒否ルールを無視します。Claude Code v2.1.246 以降が必要です。


376 378 

377ファイルシステム分離をオフにすると、サンドボックス化されたコマンドができることが広がるため、Claude Code は以下の設定ソースからの `filesystem.disabled` のみを尊重します。379ファイルシステム分離をオフにすると、サンドボックス化されたコマンドができることが広がるため、Claude Code は以下の設定ソースからの `filesystem.disabled` のみを尊重します。

378 380 

379* ユーザー設定、管理設定、および `--settings` CLI フラグで設定できます。`.claude/settings.json` と `.claude/settings.local.json` のプロジェクト設定では設定できないため、チェックアウトしたプロジェクトがファイルシステム分離をオフにすることはできません。381* ユーザー設定、管理設定、および `--settings` CLI フラグで設定できます。`.claude/settings.json` と `.claude/settings.local.json` のプロジェクト設定では設定できません。

380* 管理設定が `sandbox.filesystem` を何らかの形で設定している場合、または `"mode": "deny"` の `sandbox.credentials.files` エントリを記載している場合は、管理設定のみがこのキーを設定できます。これにより、そのようなデプロイで開発者がファイルシステム分離をオフにすることを防ぎます。全員に対してオフにするには、管理設定で `"disabled": true` を設定します。382* 管理設定が `sandbox.filesystem` を何らかの形で設定している場合、または `"mode": "deny"` の `sandbox.credentials.files` エントリを記載している場合は、管理設定のみがこのキーを設定できます。全員に対してファイルシステム分離をオフにするには、管理設定で `"disabled": true` を設定します。

381* [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/ja/env-vars) が設定されている場合、Claude Code は管理設定を含むすべてのソースからの `filesystem.disabled` を無視し、ファイルシステム分離をオンのまま維持します。383* [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/ja/env-vars) が設定されている場合、Claude Code は管理設定を含むすべてのソースからの `filesystem.disabled` を無視します。

382 384 

383[有効な](https://code.claude.com/docs/ja/settings-reference.md#invalid-credential-entries-in-managed-settings) `mask` エントリは、起動時に Claude Code がそのエントリについて [`deny` にフォールバック](#mask-credential-files)した場合でも、このキーを固定しません。認証情報ディレクトリのようにマスクできないパスは、管理設定で明示的な `deny` エントリとして記載してください。これによりキーが固定されます。385[有効な](https://code.claude.com/docs/ja/settings-reference.md#invalid-credential-entries-in-managed-settings) `mask` エントリは、起動時に Claude Code がそのエントリについて [`deny` にフォールバック](#mask-credential-files)した場合でも、このキーを固定しません。認証情報ディレクトリのようにマスクできないパスは、管理設定で明示的な `deny` エントリとして記載してください。これによりキーが固定されます。

384 386 

Details

117 117 

118* **リスナー**:リスナーは `127.0.0.1` 上のフォワードプロキシです。ランナーはコントロールプレーンに登録する前にリスナーを開始し、リスナーが開始できない場合は起動時に終了します。118* **リスナー**:リスナーは `127.0.0.1` 上のフォワードプロキシです。ランナーはコントロールプレーンに登録する前にリスナーを開始し、リスナーが開始できない場合は起動時に終了します。

119* **プロキシ変数**:ランナーは、設定した `HTTPS_PROXY` と `HTTP_PROXY` のいずれかをリスナーを指すように書き直します。その書き直された値はランナー自体、ライフサイクルフック、実行するすべてのセッションに到達します。119* **プロキシ変数**:ランナーは、設定した `HTTPS_PROXY` と `HTTP_PROXY` のいずれかをリスナーを指すように書き直します。その書き直された値はランナー自体、ライフサイクルフック、実行するすべてのセッションに到達します。

120* **トークンローテーション**:ローテーションされたトークンは再起動なしで有効になります。リスナーがプロキシに開く各接続について、ランナーはコマンドを実行するか、ファイルを再度読み取り、結果をヘッダーとして追加します。120* **トークンローテーション**:トークンをローテーションすると、ランナーを再起動しなくても、新しい接続には新しいトークンが使用されます。リスナーがプロキシに開く各接続について、ランナーはコマンドを実行するか、ファイルを再度読み取り、結果をヘッダーとして追加します。すでに開いている接続は、プロキシがその接続を閉じるかランナーが終了するまで、古いトークンのまま引き続き使用できます。

121* **セッション環境**:セッションはリスナーを通じてのみプロキシに到達します。各セッションの環境で、ランナーは `ALL_PROXY` を削除し、設定しなかった `HTTPS_PROXY` または `HTTP_PROXY` のスペルを削除し、`NO_PROXY` をランナー独自の値にピンします。121* **セッション環境**:セッションはリスナーを通じてのみプロキシに到達します。各セッションの環境で、ランナーは `ALL_PROXY` を削除し、設定しなかった `HTTPS_PROXY` または `HTTP_PROXY` のスペルを削除し、`NO_PROXY` をランナー独自の値にピンします。

122* **ログ**:ランナーはヘッダー値をログに記録しません。122* **ログ**:ランナーはヘッダー値をログに記録しません。

123 123 


840 840 

841### 一部のセッションはアイドルとみなされない841### 一部のセッションはアイドルとみなされない

842 842 

843実行し続けるバックグラウンドタスクを保持しているセッションはアイドルとみなされないため、`--release-idle-session-min` はそのセッションのスロットを解放しません。実行中のツール呼び出しの内部から要求された承認を待っているセッションも、アイドルとみなされません。厳格な安全策として、`--kill-session-after-min` を併せて設定してください。843セッションがアイドルとみなされない間は、`--release-idle-session-min` の上限を超えてもそのスロットを保持し続けるため、`--kill-session-after-min` も設定してください。

844 

845セッションは、ターンが終了した後、またはターンがユーザーを待っている間はアイドルとみなされますが、次のような場合はアイドルとみなされません。

846 

847* ターンは終了していてユーザーを待っていないが、バックグラウンドタスクが実行し続けている

848* MCP 以外のツールがその実行中に要求した承認をターンが待っている

849* ターンが MCP サーバーの [`elicitation/create` リクエスト](https://code.claude.com/docs/ja/mcp#respond-to-mcp-elicitation-requests)を待っている

844 850 

845`--kill-session-after-min` は、暴走したセッションに対する安全策です。v2.1.260 以降のランナーでは、上限に達したセッションはただちに終了されません。ランナーはそのセッションに猶予期間(デフォルトは 15 分)を与えます。この期間は [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](https://code.claude.com/docs/ja/self-hosted-environments-reference#environment-variable-only-settings) で変更できます。851`--kill-session-after-min` は、暴走したセッションに対する安全策です。v2.1.260 以降のランナーでは、上限に達したセッションはただちに終了されません。ランナーはそのセッションに猶予期間(デフォルトは 15 分)を与えます。この期間は [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](https://code.claude.com/docs/ja/self-hosted-environments-reference#environment-variable-only-settings) で変更できます。

846 852 

847* セッションがユーザーを待っている場合、ランナーはそのセッションを解放します。ターンが終了していてバックグラウンドタスクのみを保持している場合、ランナーはそれらのタスクが完了するまで最大 60 秒待ってから、セッションを解放します。セッションは、ユーザーが次のメッセージを送信すると再開されます。853* セッションがユーザーを待っている場合、ランナーはそのセッションを解放します。ターンが終了していてバックグラウンドタスクのみを保持している場合、ランナーはそれらのタスクが完了するまで最大 60 秒待ってから、セッションを解放します。セッションは、ユーザーが次のメッセージを送信すると再開されます。

848* ターンがまだ実行中の場合、ランナーはターンが完了するか、セッションが次にユーザーを待つ状態になるまで待ってから、セッションを解放します。854* ターンがまだ実行中の場合、ランナーはターンが完了するか、セッションが次にユーザーを待つ状態になるまで待ってから、セッションを解放します。

849* 猶予期間が終了した時点でセッションがまだランナー上にある場合、ランナーはセッションを終了し、実行中のターンの作業は失われます。実行中のツール呼び出しの内部から要求された承認をターンが待っている場合は、セッションが猶予期間を超えて残る一例です。855* 猶予期間が終了した時点でセッションがまだランナー上にある場合、ランナーはセッションを終了し、実行中のターンの作業は失われます。たとえば、MCP 以外のツールがその実行中に要求した承認をターンが待っている場合、セッションはそれまでランナー上に残ることがあります。ターンが MCP サーバーの `elicitation/create` リクエストを待っている間も、セッションはランナー上に残ることがあります。

850 856 

851解放されたセッションは新しいクローンから再開されるため、いずれの場合もプッシュしていなかった作業は失われます。[再開されたセッションではプッシュしていない作業が失われる](#resumed-sessions-lose-unpushed-work)を参照してください。v2.1.260 より前では、ランナーは実行中のターンの完了を最大で猶予期間だけ待った後、上限に達したすべてのセッションを終了していました。857解放されたセッションは新しいクローンから再開されるため、いずれの場合もプッシュしていなかった作業は失われます。[再開されたセッションではプッシュしていない作業が失われる](#resumed-sessions-lose-unpushed-work)を参照してください。v2.1.260 より前では、ランナーは実行中のターンの完了を最大で猶予期間だけ待った後、上限に達したすべてのセッションを終了していました。

852 858 

Details

252 252 

253キャッシュされた `env` ブロック内のその他のキーはすべて起動時に適用されます。サーバーがペイロードを確認し、ペイロードが[セキュリティ承認](#security-approval-dialogs)を必要とする場合はユーザーが承認すると、保留されていた変数がセッションの残りの期間に適用されます。253キャッシュされた `env` ブロック内のその他のキーはすべて起動時に適用されます。サーバーがペイロードを確認し、ペイロードが[セキュリティ承認](#security-approval-dialogs)を必要とする場合はユーザーが承認すると、保留されていた変数がセッションの残りの期間に適用されます。

254 254 

255組織が `api.anthropic.com` に到達するためにプロキシを必要とする場合、保留はサーバーから配信された `env` ブロック自体にのみ影響します。MDM や `managed-settings.json` を通じた[エンドポイント管理](https://code.claude.com/docs/ja/managed-settings.md#delivery-mechanisms)の `env` ブロック、シェル環境、または[ユーザー設定](https://code.claude.com/docs/ja/settings.md#where-settings-live)で設定されたプロキシは、設定フェッチに反映されます。エンドポイント管理のソースには Claude Code v2.1.223 以降が必要です。キャッシュされたサーバー管理のプロキシ値はフェッチで確認されるまで保留されるため、エンドポイント管理の値がキーごとに補完され、フェッチ自体に反映されます。v2.1.223 より前では、キャッシュされたサーバーペイロードと並行してプロキシが適用されるよう、シェル環境またはユーザー設定を使用してください。初回起動時にはキャッシュがないため、最初のフェッチには引き続きエンドポイント管理のソース、シェル環境、またはユーザー設定が必要です。255フェッチにプロキシが必要な場合は、次のいずれかで `HTTPS_PROXY` を設定します。

256 

257* MDM または `managed-settings.json` を通じた[エンドポイント管理](https://code.claude.com/docs/ja/managed-settings.md#delivery-mechanisms)の `env` ブロック。このソースには Claude Code v2.1.223 以降が必要です。v2.1.223 より前では、プロキシが[キャッシュされたサーバーペイロードと並行して適用される](#per-key-exceptions-across-managed-sources)よう、シェル環境またはユーザー設定を使用してください。

258* シェル環境

259* [ユーザー設定](https://code.claude.com/docs/ja/settings.md#where-settings-live)

260 

261`ALL_PROXY` ですでにプロキシを指定している場合でも、`HTTPS_PROXY` を設定してください。

256 262 

257Claude Code は、ほとんどの設定の更新を再起動なしで実行中のセッションに適用します。OpenTelemetry エクスポーターの設定、`model` キー、`env` ブロックからの変数の削除など、一部の更新は次回の起動時にのみ適用されます。263Claude Code は、ほとんどの設定の更新を再起動なしで実行中のセッションに適用します。OpenTelemetry エクスポーターの設定、`model` キー、`env` ブロックからの変数の削除など、一部の更新は次回の起動時にのみ適用されます。

258 264 

settings.md +1 −1

Details

177 177 

178Claude Code は設定ファイルを監視し、変更時に再読み込みするため、`permissions`、`hooks`、および `apiKeyHelper` などの認証情報ヘルパーへの編集を含む、ほとんどの編集は再起動なしで実行中のセッションに適用されます。Claude Code は、セッションの途中で作成した設定ファイルも、そのフォルダがセッション開始時に存在していれば読み込みます。プロジェクトの `.claude/` フォルダについては、同じセッション内でフォルダを作成した場合でもファイルを読み込みます。178Claude Code は設定ファイルを監視し、変更時に再読み込みするため、`permissions`、`hooks`、および `apiKeyHelper` などの認証情報ヘルパーへの編集を含む、ほとんどの編集は再起動なしで実行中のセッションに適用されます。Claude Code は、セッションの途中で作成した設定ファイルも、そのフォルダがセッション開始時に存在していれば読み込みます。プロジェクトの `.claude/` フォルダについては、同じセッション内でフォルダを作成した場合でもファイルを読み込みます。

179 179 

180再読み込みはユーザー、プロジェクト、ローカル、および管理設定をカバーし、Claude Code は検出した各設定ファイル変更に対して [`ConfigChange` hook](https://code.claude.com/docs/ja/hooks#configchange) を実行します。MDM または claude.ai コンソールから到達する管理設定ではありません。MDM または claude.ai コンソールから到達する管理設定は、保存時ではなくスケジュールに従って実行中のセッションに到達します。[配信テーブル](https://code.claude.com/docs/ja/managed-settings.md#choose-a-delivery-mechanism)はソースごとにそれを提供します。180再読み込みはユーザー、プロジェクト、ローカル、および管理設定をカバーします。Claude Code は設定ファイルへの直接の編集に対して [`ConfigChange` フック](https://code.claude.com/docs/ja/hooks#configchange)を実行しますが、MDM または claude.ai コンソールから到達する管理設定に対しては実行しません。MDM または claude.ai コンソールから到達する管理設定は、保存時ではなくスケジュールに従って実行中のセッションに到達します。[配信テーブル](https://code.claude.com/docs/ja/managed-settings.md#choose-a-delivery-mechanism)はソースごとにそれを示しています。

181 181 

182Claude Code はセッション開始時に一度だけいくつかのキーを読み込むため、そのうちの 1 つへの編集は実行中のセッションに到達しません。`requiredMinimumVersion` などの管理者側のキーも再起動を待ちます。[ポリシーが適用される場所と時期](https://code.claude.com/docs/ja/managed-settings.md#where-and-when-a-policy-applies)の下にリストされています。セッション中に編集する可能性が最も高いもの:182Claude Code はセッション開始時に一度だけいくつかのキーを読み込むため、そのうちの 1 つへの編集は実行中のセッションに到達しません。`requiredMinimumVersion` などの管理者側のキーも再起動を待ちます。[ポリシーが適用される場所と時期](https://code.claude.com/docs/ja/managed-settings.md#where-and-when-a-policy-applies)の下にリストされています。セッション中に編集する可能性が最も高いもの:

183 183 

Details

235| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | ユーザーとプロジェクトのソースからの [MCP サーバー](https://code.claude.com/docs/ja/mcp.md)をブロックします | プラグインとスキル | Managed |235| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | ユーザーとプロジェクトのソースからの [MCP サーバー](https://code.claude.com/docs/ja/mcp.md)をブロックします | プラグインとスキル | Managed |

236| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | ユーザーとプロジェクトのソースからの[スキル](https://code.claude.com/docs/ja/skills.md)をブロックします | プラグインとスキル | Managed |236| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | ユーザーとプロジェクトのソースからの[スキル](https://code.claude.com/docs/ja/skills.md)をブロックします | プラグインとスキル | Managed |

237| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | サブエージェントおよびメイン会話以外のリクエストの[プロンプトキャッシュの有効期間](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime)を選択します | モデルと応答 | Any file |237| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | サブエージェントおよびメイン会話以外のリクエストの[プロンプトキャッシュの有効期間](https://code.claude.com/docs/ja/prompt-caching.md#cache-lifetime)を選択します | モデルと応答 | Any file |

238| [`subagentStatusLine`](#subagentstatusline) | 独自のコマンドで、[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)のタスク表示の行を書き換えます | インターフェースとターミナル | Any file |

239| [`switchModelsOnFlag`](#switchmodelsonflag) | [安全性分類器](https://code.claude.com/docs/ja/model-config.md#ask-before-switching)がリクエストを警告したときに、モデルを自動で切り替えるか一時停止します | モデルと応答 | Any file |238| [`switchModelsOnFlag`](#switchmodelsonflag) | [安全性分類器](https://code.claude.com/docs/ja/model-config.md#ask-before-switching)がリクエストを警告したときに、モデルを自動で切り替えるか一時停止します | モデルと応答 | Any file |

240| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | [claude.ai アカウントで有効にしたプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#synced-plugins)の読み込みと、新しいプラグインのダウンロードを停止します | プラグインとスキル | User, local, or managed |239| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | [claude.ai アカウントで有効にしたプラグイン](https://code.claude.com/docs/ja/plugins/loading.md#synced-plugins)の読み込みと、新しいプラグインのダウンロードを停止します | プラグインとスキル | User, local, or managed |

241| [`syncClaudeAiSkills`](#syncclaudeaiskills) | [claude.ai アカウントで有効にしたスキル](https://code.claude.com/docs/ja/skills.md#how-synced-skills-behave)の読み込みと、新しいスキルのダウンロードを停止します | プラグインとスキル | User, local, or managed |240| [`syncClaudeAiSkills`](#syncclaudeaiskills) | [claude.ai アカウントで有効にしたスキル](https://code.claude.com/docs/ja/skills.md#how-synced-skills-behave)の読み込みと、新しいスキルのダウンロードを停止します | プラグインとスキル | User, local, or managed |


885}884}

886```885```

887 886 

888[すべてのシェルコマンドを分類器にルーティングする](https://code.claude.com/docs/ja/auto-mode-config.md#route-all-shell-commands-through-the-classifier)を参照してください。887Code Mode セッションでは、このキーの動作が異なります。[すべてのシェルコマンドを分類器にルーティングする](https://code.claude.com/docs/ja/auto-mode-config.md#route-all-shell-commands-through-the-classifier)を参照してください。

889 888 

890### `disableAutoMode`889### `disableAutoMode`

891 890 


1533}1532}

1534```1533```

1535 1534 

1535Linux と WSL2 では、まだ存在しないパスのエントリは効果がないため、先にパスを作成してください。

1536 

1536Claude Code は `allowWrite` エントリと `Edit(...)` 許可権限ルールからのパスをセッションが読み込むすべての設定スコープ全体でマージし、[`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block)がオンの間、リポジトリ設定からのものを除外します。[リポジトリロック](https://code.claude.com/docs/ja/sandboxing.md#repository-settings-under-an-admin-required-sandbox)によってリポジトリのエントリが除外されることもあります。`allowWrite` エントリは[保護されたパス](https://code.claude.com/docs/ja/sandboxing.md#protected-paths)を解除できません。1537Claude Code は `allowWrite` エントリと `Edit(...)` 許可権限ルールからのパスをセッションが読み込むすべての設定スコープ全体でマージし、[`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block)がオンの間、リポジトリ設定からのものを除外します。[リポジトリロック](https://code.claude.com/docs/ja/sandboxing.md#repository-settings-under-an-admin-required-sandbox)によってリポジトリのエントリが除外されることもあります。`allowWrite` エントリは[保護されたパス](https://code.claude.com/docs/ja/sandboxing.md#protected-paths)を解除できません。

1537 1538 

1538### `sandbox.filesystem.denyWrite`1539### `sandbox.filesystem.denyWrite`


2453 2454 

2454#### `env` の値とシェルの相互作用2455#### `env` の値とシェルの相互作用

2455 2456 

2456* ここで指定した値は、シェルでエクスポートされた同じ変数を上書きします。複数の設定ファイルが同じ変数を設定している場合は、[優先順位が最も高い](https://code.claude.com/docs/ja/settings.md#settings-precedence)ものが適用されます。プロジェクト設定とローカル設定の例外は、[Claude Code が `env` で無視する変数](#variables-claude-code-ignores-in-env)に記載しています。2457* ここで指定した値は、シェルでエクスポートされた同じ変数を上書きします。複数の設定ファイルが同じ変数を設定している場合は、[優先順位が最も高い](https://code.claude.com/docs/ja/settings.md#settings-precedence)ものが適用されます。例外は、[Claude Code が `env` で無視する変数](#variables-claude-code-ignores-in-env)に記載しています。

2457* Claude Desktop アプリまたは[セルフホスト環境](https://code.claude.com/docs/ja/self-hosted-environments)のランナーがセッションを開始する場合は、代わりにそれが構築する起動環境が優先されます。起動環境がすでに設定している変数については、Claude Code はどの設定ファイルの `env` の値も無視します。無視された各変数は[デバッグログ](https://code.claude.com/docs/ja/debug-your-config.md)に記載されます。2458* Claude Desktop アプリまたは[セルフホスト環境](https://code.claude.com/docs/ja/self-hosted-environments)のランナーがセッションを開始する場合は、代わりにそれが構築する起動環境が優先されます。起動環境がすでに設定している変数については、Claude Code はどの設定ファイルの `env` の値も無視します。無視された各変数は[デバッグログ](https://code.claude.com/docs/ja/debug-your-config.md)に記載されます。

2458* シェルのエクスポートを取り消すには、変数を `""` に設定します。Claude Code はプロバイダーの選択において空の値を未設定として扱い、サブプロセスは空の値を継承します。2459* シェルのエクスポートを取り消すには、変数を `""` に設定します。Claude Code はプロバイダーの選択において空の値を未設定として扱い、サブプロセスは空の値を継承します。

2459* ここで設定した `NO_COLOR` と `FORCE_COLOR` は、サブプロセスにのみ反映されます。Claude Code 自体のインターフェースのカラーを変更するには、`claude` を起動する前にシェルで設定してください。2460* ここで設定した `NO_COLOR` と `FORCE_COLOR` は、サブプロセスにのみ反映されます。Claude Code 自体のインターフェースのカラーを変更するには、`claude` を起動する前にシェルで設定してください。


2494 * Claude Code がファイルやディレクトリの `@` メンションを展開しないようにする [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/ja/env-vars#variables)。2495 * Claude Code がファイルやディレクトリの `@` メンションを展開しないようにする [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/ja/env-vars#variables)。

2495 2496 

2496 v2.1.251 より前は、プロジェクト設定とローカル設定でも、このリストのうち Claude Code がファイルを書き込む場所を選択する変数やセッションの内容をエクスポートする変数を設定できました(`HOME` と `XDG_CONFIG_HOME` を除く)。v2.1.290 より前は、ダイアログのタイマー変数と `CLAUDE_CODE_DISABLE_ATTACHMENTS` も設定できました。2497 v2.1.251 より前は、プロジェクト設定とローカル設定でも、このリストのうち Claude Code がファイルを書き込む場所を選択する変数やセッションの内容をエクスポートする変数を設定できました(`HOME` と `XDG_CONFIG_HOME` を除く)。v2.1.290 より前は、ダイアログのタイマー変数と `CLAUDE_CODE_DISABLE_ATTACHMENTS` も設定できました。

2498* [Code Mode](https://code.claude.com/docs/ja/code-mode.md) は、シェル、ユーザー設定、または `--settings` ファイルから [`CLAUDE_CODE_EXPERIMENTAL_CODE_MODE`](https://code.claude.com/docs/ja/env-vars#variables) でオンにできますが、管理設定、プロジェクト設定、ローカル設定からはオンにできません。最初の 3 つのいずれか、または管理設定で `0` を指定すると、他の場所で何を設定していても Code Mode はオフのままです。管理設定に `1` が含まれている場合、シェルでの `1` は無視されるため、ユーザー設定で独自に `1` を設定してください

2497* `CLAUDE_CODE_REMOTE` や `CLAUDE_CODE_ACCOUNT_UUID` など、Claude Code のホスティング環境が所有する ID 変数は、すべてのファイルで無視されます。2499* `CLAUDE_CODE_REMOTE` や `CLAUDE_CODE_ACCOUNT_UUID` など、Claude Code のホスティング環境が所有する ID 変数は、すべてのファイルで無視されます。

2498* Claude Code 自身がエクスポートする [`CLAUDE_CODE_MESSAGING_SOCKET` と `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/ja/env-vars#variables) は、すべてのファイルで無視されます。ソケット変数を無視する動作には Claude Code v2.1.224 以降が、トークンを無視する動作には v2.1.228 以降が必要です。2500* Claude Code 自身がエクスポートする [`CLAUDE_CODE_MESSAGING_SOCKET` と `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/ja/env-vars#variables) は、すべてのファイルで無視されます。ソケット変数を無視する動作には Claude Code v2.1.224 以降が、トークンを無視する動作には v2.1.228 以降が必要です。

2499* Claude Code が起動環境からのみ読み取る [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/ja/sessions#name-the-project-directory-yourself) は、すべてのファイルで無視されます。v2.1.234 以降が必要です。2501* Claude Code が起動環境からのみ読み取る [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/ja/sessions#name-the-project-directory-yourself) は、すべてのファイルで無視されます。v2.1.234 以降が必要です。


3173 3175 

3174この例には [`jq`](https://jqlang.org/) のインストールが必要で、シェルで実行されます。PowerShell と Git Bash での同等の設定については、[Windows での設定](https://code.claude.com/docs/ja/statusline.md#windows-configuration)を参照してください。セットアップ全体については、[ステータスラインを手動で設定する](https://code.claude.com/docs/ja/statusline.md#manually-configure-a-status-line)を参照してください。3176この例には [`jq`](https://jqlang.org/) のインストールが必要で、シェルで実行されます。PowerShell と Git Bash での同等の設定については、[Windows での設定](https://code.claude.com/docs/ja/statusline.md#windows-configuration)を参照してください。セットアップ全体については、[ステータスラインを手動で設定する](https://code.claude.com/docs/ja/statusline.md#manually-configure-a-status-line)を参照してください。

3175 3177 

3176### `subagentStatusLine`

3177 

3178Claude が[サブエージェント](https://code.claude.com/docs/ja/sub-agents.md)を実行すると、Claude Code はプロンプトの下のタスク表示にそれらを一覧表示し、サブエージェントごとに `name · description · token count` を示す行を 1 つずつ表示します。このキーを使用すると、独自のコマンドを実行してそれらの行を書き換えることができます。たとえば、各サブエージェントのコンテキスト使用量をパーセンテージで表示できます。更新のたびに、Claude Code は表示中の行を 1 つの JSON オブジェクトとして stdin に送信します。このオブジェクトの `tasks` 配列には、各サブエージェントの `id`、`name`、`status`、`model`、`tokenCount` などが含まれます。Claude Code は、`{"id", "content"}` 行として書き戻した各 `id` の行を置き換えます。書き戻さなかった行はデフォルトのレンダリングのままです。

3179 

3180* **スコープ**: [`Any file`](#scopes)。[`allowManagedHooksOnly`](#allowmanagedhooksonly) がオンの場合、または管理設定以外で [`disableAllHooks`](#disableallhooks) が設定されている場合は、管理設定の値のみが実行されます。

3181* **型**: `"command"` に設定された `type` と `command` 文字列を持つオブジェクト

3182* **デフォルト**: 未設定のため、Claude Code はデフォルトの行をレンダリングします

3183 

3184```json settings.json theme={null}

3185{

3186 "subagentStatusLine": {

3187 "type": "command",

3188 "command": "jq -c '.tasks[] | {id, content: \"\\(.name): \\(.tokenCount) tokens\"}'"

3189 }

3190}

3191```

3192 

3193[サブエージェントのステータスライン](https://code.claude.com/docs/ja/statusline.md#subagent-status-lines)を参照してください。

3194 

3195### `syntaxHighlightingDisabled`3178### `syntaxHighlightingDisabled`

3196 3179 

3197Claude Code は、ターミナルに表示する差分、コードブロック、ファイルプレビューのコードを、組み込みのハイライターで言語ごとに色分けします。代わりにプレーンテキストとして表示するには、このキーを `true` に設定します。たとえば、色がターミナルのテーマと合わない場合や、スクリーンリーダーの動作が遅くなる場合に使用します。3180Claude Code は、ターミナルに表示する差分、コードブロック、ファイルプレビューのコードを、組み込みのハイライターで言語ごとに色分けします。代わりにプレーンテキストとして表示するには、このキーを `true` に設定します。たとえば、色がターミナルのテーマと合わない場合や、スクリーンリーダーの動作が遅くなる場合に使用します。


3648* **その他すべてはブロックされます**: ユーザー、プロジェクト、ローカルフック、他のインストール済みプラグインからのフックと mod、エージェントのフロントマターで宣言されたフック。[Claude Code に組み込まれた mod](https://code.claude.com/docs/ja/plugins/mods/overview.md#mods-built-into-claude-code) は実行し続けます。ユーザーの mod のみをブロックするには、代わりに [`allowManagedModsOnly`](https://code.claude.com/docs/ja/plugins/mods/admin#set-options-on-the-built-in-guard) を設定してください。3631* **その他すべてはブロックされます**: ユーザー、プロジェクト、ローカルフック、他のインストール済みプラグインからのフックと mod、エージェントのフロントマターで宣言されたフック。[Claude Code に組み込まれた mod](https://code.claude.com/docs/ja/plugins/mods/overview.md#mods-built-into-claude-code) は実行し続けます。ユーザーの mod のみをブロックするには、代わりに [`allowManagedModsOnly`](https://code.claude.com/docs/ja/plugins/mods/admin#set-options-on-the-built-in-guard) を設定してください。

3649* **コマンドソースプラグインは無効になります**: Claude Code は [`command` ソース](https://code.claude.com/docs/ja/plugins/marketplace-reference#command-plugin-source)を持つプラグイン(管理 `enabledPlugins` で強制有効にされたプラグインを含む)も無効にします。ただし、[`disableCommandPluginSources`](#disablecommandpluginsources) を明示的に `false` に設定した場合を除きます3632* **コマンドソースプラグインは無効になります**: Claude Code は [`command` ソース](https://code.claude.com/docs/ja/plugins/marketplace-reference#command-plugin-source)を持つプラグイン(管理 `enabledPlugins` で強制有効にされたプラグインを含む)も無効にします。ただし、[`disableCommandPluginSources`](#disablecommandpluginsources) を明示的に `false` に設定した場合を除きます

3650* **マーケットプレイス `headersHelper` コマンドはブロックされます**: Claude Code はマーケットプレイス [`headersHelper` コマンド](https://code.claude.com/docs/ja/plugins/host-marketplace#authenticate-archive-downloads)もブロックします。ただし、[`disableCommandPluginSources`](#disablecommandpluginsources) が明示的に `false` に設定されている場合、または管理設定自体が宣言するマーケットプレイスの場合を除きます。Claude Code v2.1.238 以降が必要です3633* **マーケットプレイス `headersHelper` コマンドはブロックされます**: Claude Code はマーケットプレイス [`headersHelper` コマンド](https://code.claude.com/docs/ja/plugins/host-marketplace#authenticate-archive-downloads)もブロックします。ただし、[`disableCommandPluginSources`](#disablecommandpluginsources) が明示的に `false` に設定されている場合、または管理設定自体が宣言するマーケットプレイスの場合を除きます。Claude Code v2.1.238 以降が必要です

3651* **ステータスラインとファイル提案は管理設定に絞られます**: Claude Code は [`statusLine`](https://code.claude.com/docs/ja/statusline)、[`fileSuggestion`](#filesuggestion)、[`subagentStatusLine`](https://code.claude.com/docs/ja/statusline#subagent-status-lines) を管理設定からのみ読み込みます。[ステータスラインとファイル提案ゲート](#status-line-and-file-suggestion-gates)に従います3634* **ステータスラインとファイル提案は管理設定に絞られます**: Claude Code は [`statusLine`](https://code.claude.com/docs/ja/statusline) と [`fileSuggestion`](#filesuggestion) を管理設定からのみ読み込みます。[ステータスラインとファイル提案ゲート](#status-line-and-file-suggestion-gates)に従います

3652 3635 

3653このキーが設定されている間、[`/goal`](https://code.claude.com/docs/ja/goal) コマンドは実行できません。これはフックに依存しているためです。3636このキーが設定されている間、[`/goal`](https://code.claude.com/docs/ja/goal) コマンドは実行できません。これはフックに依存しているためです。

3654 3637 


3687 3670 

3688#### ステータスラインとファイル提案ゲート3671#### ステータスラインとファイル提案ゲート

3689 3672 

3690Claude Code は `statusLine`、`fileSuggestion`、`subagentStatusLine` について、この順序で 2 つの決定を行います:3673Claude Code は `statusLine` と `fileSuggestion` について、この順序で 2 つの決定を行います:

3691 3674 

3692* **完全にオフ**: 管理設定が `disableAllHooks` を設定している場合、またはフォルダが設定ファイル内のフックと同じ [ワークスペーストラストルール](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder)の下で信頼されていない場合3675* **完全にオフ**: 管理設定が `disableAllHooks` を設定している場合、またはフォルダが設定ファイル内のフックと同じ [ワークスペーストラストルール](https://code.claude.com/docs/ja/permissions.md#what-runs-before-you-trust-a-folder)の下で信頼されていない場合

3693* **管理設定に絞られます**: [`allowManagedHooksOnly`](#allowmanagedhooksonly) が設定されている場合、[設定の優先順位](https://code.claude.com/docs/ja/hooks.md#disable-or-remove-hooks)が適用された後に管理設定外で `disableAllHooks` が `true` である場合、または `--safe-mode` で Claude Code を起動した場合3676* **管理設定に絞られます**: [`allowManagedHooksOnly`](#allowmanagedhooksonly) が設定されている場合、[設定の優先順位](https://code.claude.com/docs/ja/hooks.md#disable-or-remove-hooks)が適用された後に管理設定外で `disableAllHooks` が `true` である場合、または `--safe-mode` で Claude Code を起動した場合


4659 4642 

4660* **スコープ**: [`任意のファイル`](#scopes)4643* **スコープ**: [`任意のファイル`](#scopes)

4661* **タイプ**: 文字列、組み込みまたはカスタムエージェントの名前4644* **タイプ**: 文字列、組み込みまたはカスタムエージェントの名前

4662* **デフォルト**: 未設定。メインスレッドは Claude Code のデフォルトエージェントとして実行されます4645* **デフォルト**: 未設定

4663* **セッションごとの上書き**: `--agent` はこのキーより優先され、1 つのセッションに適用されます4646* **セッションごとの上書き**: `--agent` はこのキーより優先され、1 つのセッションに適用されます

4664 4647 

4665```json settings.json theme={null}4648```json settings.json theme={null}


4668}4651}

4669```4652```

4670 4653 

4671プラグイン独自の `settings.json` もこのキーを提供できます。[プラグインでデフォルト設定を配布する](https://code.claude.com/docs/ja/plugins/components.md#default-settings)を参照してください。

4672 

4673### `crossSessionInbound`4654### `crossSessionInbound`

4674 4655 

4675このセッションが[他の Claude Code セッションから到着するメッセージ](https://code.claude.com/docs/ja/cross-session-messaging.md#control-inbound-messages)に対して何を行うかを選択します。値が適用されない場合、Claude Code は 2 つのセッションの権限モードクラスからメッセージごとに決定します。4656このセッションが[他の Claude Code セッションから到着するメッセージ](https://code.claude.com/docs/ja/cross-session-messaging.md#control-inbound-messages)に対して何を行うかを選択します。値が適用されない場合、Claude Code は 2 つのセッションの権限モードクラスからメッセージごとに決定します。


5207 5188 

5208* **スコープ**: [`Managed`](#scopes)。マシン自身の管理者ソース(MDM ポリシーおよび管理設定ファイル)が設定したリストは、サーバー管理設定もリストを配信する場合でも適用され続けます。その場合、セッションは両方のリスト上のプロバイダーのみを使用できるため、サーバー管理リストはマシンが許可するものを狭めることはできますが、広げることはできません。マシンソースの `allowedProviders` のどれが数えられるかは、[Claude Code が管理ソースを組み合わせる方法](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)に従います。サーバー管理設定のみを通じて配信されたリストは、[サーバー管理設定を取得する](https://code.claude.com/docs/ja/server-managed-settings.md#platform-availability)セッションのみに到達します。5189* **スコープ**: [`Managed`](#scopes)。マシン自身の管理者ソース(MDM ポリシーおよび管理設定ファイル)が設定したリストは、サーバー管理設定もリストを配信する場合でも適用され続けます。その場合、セッションは両方のリスト上のプロバイダーのみを使用できるため、サーバー管理リストはマシンが許可するものを狭めることはできますが、広げることはできません。マシンソースの `allowedProviders` のどれが数えられるかは、[Claude Code が管理ソースを組み合わせる方法](https://code.claude.com/docs/ja/managed-settings.md#how-claude-code-combines-managed-sources)に従います。サーバー管理設定のみを通じて配信されたリストは、[サーバー管理設定を取得する](https://code.claude.com/docs/ja/server-managed-settings.md#platform-availability)セッションのみに到達します。

5209* **タイプ**: 文字列の配列。各要素は以下のいずれか:5190* **タイプ**: 文字列の配列。各要素は以下のいずれか:

5210 * `"anthropic"`: claude.ai または Console サインイン、または API キーを通じた Anthropic 独自のホスト上の Anthropic API。[`forceLoginMethod`](#forceloginmethod) または [`forceLoginOrgUUID`](#forceloginorguuid) と組み合わせてサインインも制限します5191 * `"anthropic"`: claude.ai または Console サインイン、または API キーを通じた Anthropic 独自のホスト上の Anthropic API。[`forceLoginMethod`](#forceloginmethod) または [`forceLoginOrgUUID`](#forceloginorguuid) と組み合わせてサインインも制限します。[ユーザーのマシン上](https://code.claude.com/docs/ja/managed-settings.md#where-and-when-a-policy-applies)で動作する Desktop の Cowork は、claude.ai にサインインしている場合 `"anthropic"` として扱われるため、マシンのリストにこれが含まれていないと、Cowork は[起動時に拒否されます](https://code.claude.com/docs/ja/errors.md#managed-settings-dont-allow-this-api-provider)。Cowork を起動できるようにするにはこれを追加します。これにより、このリストは Anthropic への直接のセッションも許可するようになります。

5211 * `"bedrock"`: [Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md)5192 * `"bedrock"`: [Amazon Bedrock](https://code.claude.com/docs/ja/amazon-bedrock.md)

5212 * `"vertex"`: [Google Cloud の Agent Platform](https://code.claude.com/docs/ja/google-vertex-ai.md)(旧 Vertex AI)5193 * `"vertex"`: [Google Cloud の Agent Platform](https://code.claude.com/docs/ja/google-vertex-ai.md)(旧 Vertex AI)

5213 * `"foundry"`: [Microsoft Foundry](https://code.claude.com/docs/ja/microsoft-foundry.md)5194 * `"foundry"`: [Microsoft Foundry](https://code.claude.com/docs/ja/microsoft-foundry.md)

5214 * `"anthropicAws"`: [AWS 上の Claude Platform](https://code.claude.com/docs/ja/claude-platform-on-aws.md)5195 * `"anthropicAws"`: [AWS 上の Claude Platform](https://code.claude.com/docs/ja/claude-platform-on-aws.md)

5215 * `"mantle"`: Amazon Bedrock [Mantle エンドポイント](https://code.claude.com/docs/ja/amazon-bedrock.md#use-the-mantle-endpoint)。[Invoke API と並行して Mantle を実行する](https://code.claude.com/docs/ja/amazon-bedrock.md#run-mantle-alongside-the-invoke-api)セッションは両方のプロバイダーを使用するため、`"bedrock"` と `"mantle"` をまとめてリストアップします5196 * `"mantle"`: Amazon Bedrock [Mantle エンドポイント](https://code.claude.com/docs/ja/amazon-bedrock.md#use-the-mantle-endpoint)。[Invoke API と並行して Mantle を実行する](https://code.claude.com/docs/ja/amazon-bedrock.md#run-mantle-alongside-the-invoke-api)セッションは両方のプロバイダーを使用するため、`"bedrock"` と `"mantle"` をまとめてリストアップします

5216 * `"customEndpoint"`: 別のホストに送信される Anthropic API またはクラウドプロバイダーの API。`ANTHROPIC_BASE_URL` や、`ANTHROPIC_BEDROCK_BASE_URL` などのプロバイダーのエンドポイント変数で指定された [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)などです。Claude Code はそれを管理 [`env`](#env) ブロックがピンで留めた正確な値に対してのみ許可します5197 * `"customEndpoint"`: 別のホストに送信される Anthropic API またはクラウドプロバイダーの API。`ANTHROPIC_BASE_URL` や、`ANTHROPIC_BEDROCK_BASE_URL` などのプロバイダーのエンドポイント変数で指定された [LLM ゲートウェイ](https://code.claude.com/docs/ja/llm-gateway)などです。Claude Code はそれを管理 [`env`](#env) ブロックがピンで留めた正確な値に対してのみ許可します

5217 * `"gateway"`: [Cloud ゲートウェイ](https://code.claude.com/docs/ja/claude-apps-gateway)サインイン5198 * `"gateway"`: [Cloud gateway](https://code.claude.com/docs/ja/claude-apps-gateway) サインイン

5218* **デフォルト**: 未設定。任意のプロバイダーを使用できます5199* **デフォルト**: 未設定。任意のプロバイダーを使用できます

5219 5200 

5220```json managed-settings.json theme={null}5201```json managed-settings.json theme={null}

setup.md +5 −23

Details

141 141 

142### Alpine Linux と musl ベースのディストリビューション142### Alpine Linux と musl ベースのディストリビューション

143 143 

144Alpine およびその他の musl/uClibc ベースのディストリビューション上に Claude Code をインストールするには、インストールコマンド用に `bash` と `curl` が必要であり、実行時に `libgcc`、`libstdc++`、および `ripgrep` が必要です。Alpine はデフォルトで `bash` と `curl` を含まないため、ドキュメント化されたインストールコマンドは `not found` エラーで失敗します。これらをインストールするまで、ディストリビューションのパッケージマネージャーを使用してこれらのパッケージをインストールしてから、`USE_BUILTIN_RIPGREP=0` を設定します。144Alpine およびその他の musl ベースのディストリビューションでは、[インストールコマンド](#install-claude-code)に `bash` と `curl` が必要であり、Claude Code 自体には `bash` または `zsh` が必要です。Alpine にはデフォルトで `bash` も `curl` も含まれていないため、これらをインストールするまで、ドキュメントに記載されたインストールコマンドは `not found` エラーで失敗します。

145 145 

146この例は Alpine で必要なパッケージをインストールします。146この例は Alpine で必要なパッケージをインストールします。

147 147 

148```bash theme={null}148```bash theme={null}

149apk add bash curl libgcc libstdc++ ripgrep149apk add bash curl

150```

151 

152Alpine では、`ripgrep` はコミュニティリポジトリにあります。`apk` がパッケージが見つからないと報告する場合は、Alpine バージョンを使用して `/etc/apk/repositories` にコミュニティリポジトリを追加します。

153 

154```bash theme={null}

155echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories

156```

157 

158`apk update` を実行してパッケージインデックスを更新し、`apk add` コマンドを再試行します。

159 

160次に、[`settings.json`](https://code.claude.com/docs/ja/settings-reference#all-settings)ファイルで `USE_BUILTIN_RIPGREP` を `0` に設定します。

161 

162```json theme={null}

163{

164 "env": {

165 "USE_BUILTIN_RIPGREP": "0"

166 }

167}

168```150```

169 151 

170## インストールを確認152## インストールを確認


443> wget -O /etc/apk/keys/claude-code.rsa.pub \425> wget -O /etc/apk/keys/claude-code.rsa.pub \

444> https://downloads.claude.ai/keys/claude-code.rsa.pub426> https://downloads.claude.ai/keys/claude-code.rsa.pub

445> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories427> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

446> apk add claude-code428> apk add bash claude-code

447> ```429> ```

448>430>

449> `latest` チャネルに切り替えるには、`stable` リポジトリ行を削除し、`latest` リポジトリを追加します:431> `latest` チャネルに切り替えるには、`stable` リポジトリ行を削除し、`latest` リポジトリを追加します:


463>445>

464> シェルで `npm --version` が `12` から始まるバージョンを出力する場合は、代わりに [npm 12 でのインストールを修正する](https://code.claude.com/docs/ja/troubleshoot-install.md#fix-an-npm-12-install)の手順に従ってください。`sudo` でインストールしないでください。Claude Code は自身を更新する際に `sudo` なしで npm を実行するため、`sudo` を必要とするインストールは自動更新できません。446> シェルで `npm --version` が `12` から始まるバージョンを出力する場合は、代わりに [npm 12 でのインストールを修正する](https://code.claude.com/docs/ja/troubleshoot-install.md#fix-an-npm-12-install)の手順に従ってください。`sudo` でインストールしないでください。Claude Code は自身を更新する際に `sudo` なしで npm を実行するため、`sudo` を必要とするインストールは自動更新できません。

465 447 

466Claude Code をグローバル npm パッケージとしてインストールすることもできます。npm パッケージには [Node.js 22 以上](https://nodejs.org/en/download)が必要です。古い Node.js バージョンでは、npm はインストール中に失敗するのではなく `EBADENGINE` 警告を出力します。インストールは完了し、パッケージがランタイムで Node.js を使用しないネイティブバイナリをダウンロードするため、`claude` は引き続き実行されます。448Claude Code をグローバル npm パッケージとしてインストールすることもできます。npm パッケージには [Node.js 22 以上](https://nodejs.org/en/download)が必要です。古い Node.js バージョンでは、npm はデフォルトで、失敗するのではなく `EBADENGINE` 警告を出力してインストールを完了します。パッケージはランタイムで Node.js を使用しないネイティブバイナリをダウンロードするため、インストールされた `claude` は引き続き実行できます。

467 449 

468```bash theme={null}450```bash theme={null}

469npm install -g @anthropic-ai/claude-code451npm install -g @anthropic-ai/claude-code@latest

470```452```

471 453 

472npm パッケージは、スタンドアロンインストーラーと同じネイティブバイナリをインストールします。npm は `@anthropic-ai/claude-code-darwin-arm64` などのプラットフォーム固有のオプション依存関係を通じてバイナリをプルし、postinstall ステップがそれを所定の位置にリンクします。インストールされた `claude` バイナリ自体は Node を呼び出しません。454npm パッケージは、スタンドアロンインストーラーと同じネイティブバイナリをインストールします。npm は `@anthropic-ai/claude-code-darwin-arm64` などのプラットフォーム固有のオプション依存関係を通じてバイナリをプルし、postinstall ステップがそれを所定の位置にリンクします。インストールされた `claude` バイナリ自体は Node を呼び出しません。

skills.md +5 −1

Details

787 787 

788注入されたコマンドは、スキルのレンダリング中に権限を求めることはありません。Claude Code はまず各コマンドを[権限ルール](https://code.claude.com/docs/ja/permissions.md)と照合します。拒否ルールに一致するコマンドは、`Shell command permission check failed for pattern "..."` で呼び出しを中止します。788注入されたコマンドは、スキルのレンダリング中に権限を求めることはありません。Claude Code はまず各コマンドを[権限ルール](https://code.claude.com/docs/ja/permissions.md)と照合します。拒否ルールに一致するコマンドは、`Shell command permission check failed for pattern "..."` で呼び出しを中止します。

789 789 

790[auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)以外では、コマンドの権限チェックが許可以外の結果を返した場合、Claude Code は同じエラーで呼び出しを中止します。これには、通常であればユーザーに確認を求めるルールも含まれます。一致しないコマンドがここで中止されないようにするには、[`allowed-tools`](#pre-approve-tools-for-a-skill) で事前に承認してください。組織が権限ルールを管理設定に限定している場合は、[管理された権限ルールのみが適用される場合](#when-only-managed-permission-rules-apply)を参照してください。拒否ルールと確認ルールは引き続き `allowed-tools` より優先されます。[権限を管理する](https://code.claude.com/docs/ja/permissions.md#manage-permissions)を参照してください。790[auto モード](https://code.claude.com/docs/ja/permission-modes.md#eliminate-prompts-with-auto-mode)以外では、コマンドの権限チェックが許可以外の結果を返した場合、Claude Code は呼び出しを中止します。一致しないコマンドで中止されないようにするには、[`allowed-tools`](#pre-approve-tools-for-a-skill) で事前に承認してください。ただし、次の制限があります。

791 

792* **拒否ルールと確認ルール**: これらのいずれかに一致するコマンドは引き続き中止されます。該当するルールを見つけるには、[権限を管理する](https://code.claude.com/docs/ja/permissions.md#manage-permissions)を参照してください。

793* **管理設定のみのルール**: セッションで `/status` を実行したときに、そのスキルが `allowed-tools ignored this session` の下に一覧表示される場合は、[管理された権限ルールのみが適用される場合](#when-only-managed-permission-rules-apply)を参照してください。

794* **検証されていない Git フォルダー**: `HEAD` または `.git` ファイルがユーザー自身のものではない可能性がある場所では、Claude Code は `git` を含む Bash コマンド、または Claude Code が解析できない Bash コマンドについて `allowed-tools` を無視します。自分のベアリポジトリの worktree など、そのフォルダーを信頼できる場合は、セッション内で [`/permissions`](https://code.claude.com/docs/ja/permissions#manage-permissions) を使用してそのコマンドを許可してください。

791 795 

792auto モードでは、本来ユーザーの承認が必要なコマンドでも呼び出しは中止されません。スキルは、最初にそのコマンドを実行するよう Claude に指示する内容とともに読み込まれ、Claude 自身による呼び出しは [auto モードの通常のチェック](https://code.claude.com/docs/ja/permission-modes.md#how-the-classifier-evaluates-actions)を経由します。ただし、`agent` を設定する[フォークされたスキル](#run-skills-in-a-subagent)や、Claude が[注入されたコマンドを実行するシェルツール](#how-injected-commands-run)を持たないセッションでは、引き続き呼び出しが中止されます。796auto モードでは、本来ユーザーの承認が必要なコマンドでも呼び出しは中止されません。スキルは、最初にそのコマンドを実行するよう Claude に指示する内容とともに読み込まれ、Claude 自身による呼び出しは [auto モードの通常のチェック](https://code.claude.com/docs/ja/permission-modes.md#how-the-classifier-evaluates-actions)を経由します。ただし、`agent` を設定する[フォークされたスキル](#run-skills-in-a-subagent)や、Claude が[注入されたコマンドを実行するシェルツール](#how-injected-commands-run)を持たないセッションでは、引き続き呼び出しが中止されます。

793 797 

statusline.md +0 −40

Details

1083echo "$dirname [$model]"1083echo "$dirname [$model]"

1084```1084```

1085 1085 

1086## サブエージェントステータスライン

1087 

1088`subagentStatusLine` 設定は、エージェントパネルに表示される各 [サブエージェント](https://code.claude.com/docs/ja/sub-agents.md) のカスタム行本体をレンダリングします。デフォルトの `name · description · token count` 行を独自のフォーマットに置き換えるために使用します。

1089 

1090```json theme={null}

1091{

1092 "subagentStatusLine": {

1093 "type": "command",

1094 "command": "~/.claude/subagent-statusline.sh"

1095 }

1096}

1097```

1098 

1099コマンドはリフレッシュティックごとに 1 回実行され、表示されているすべてのサブエージェント行を単一の JSON オブジェクトとして stdin で受け取ります。入力には [基本フックフィールド](https://code.claude.com/docs/ja/hooks.md#common-input-fields)、使用可能な行幅を示す `columns` フィールド、および行ごとに 1 つのエントリを持つ `tasks` 配列が含まれます。`tasks` 配列については [タスクフィールド](#task-fields) で説明します。

1100 

1101オーバーライドしたい各行に対して stdout に 1 つの JSON 行を書き込みます。形式は `{"id": "<task id>", "content": "<row body>"}` です。`content` 文字列はそのままレンダリングされます。ANSI 色と OSC 8 ハイパーリンクを含みます。タスクの `id` を省略して、その行のデフォルトレンダリングを保持します。空の `content` 文字列を出力して、その行を非表示にします。

1102 

1103`statusLine` に適用される同じトラストと `disableAllHooks` および [`allowManagedHooksOnly`](https://code.claude.com/docs/ja/settings-reference#allowmanagedhooksonly) ゲートが `subagentStatusLine` に適用されます。プラグインは、[`settings.json`](https://code.claude.com/docs/ja/plugins/manifest-reference#standard-layout) でデフォルトの `subagentStatusLine` を配布できます。ただし、フックとは異なり、プラグインが管理設定の `enabledPlugins` で強制的に有効化されている場合でも、プラグイン値は `allowManagedHooksOnly` の下で実行されません。

1104 

1105### タスクフィールド

1106 

1107`tasks` 配列の各エントリは、以下のフィールドで 1 つのサブエージェント行を記述します。省略可能と記載されたフィールドは値がない場合に省略されるため、スクリプトではそれらが存在しない場合に備えてください。

1108 

1109| フィールド | 型 | 説明 |

1110| :- | :- | :- |

1111| `id` | string | タスクの識別子。この行に対して書き戻す行で `id` としてそのまま返します |

1112| `name` | string、省略可能 | サブエージェントに名前がある場合、その [呼び出しに使われる](https://code.claude.com/docs/ja/sub-agents.md#subagent-names) 名前 |

1113| `type` | string | タスクの種類: `local_agent` |

1114| `agentType` | string | タスクが実行されるサブエージェントタイプ。組み込みの [`Explore`](https://code.claude.com/docs/ja/sub-agents#built-in-subagents) やカスタムの `code-reviewer` などです。フックが [`agent_type`](https://code.claude.com/docs/ja/hooks#subagentstart) として受け取るのと同じ値を保持します。Claude Code v2.1.293 以降が必要です |

1115| `status` | string | タスクの状態。`running`、`completed`、`failed`、`killed` など |

1116| `description` | string | タスクの短い説明。Claude がサブエージェントを生成したときに付けた説明など |

1117| `label` | string | Claude Code が持っている場合はタスクの短い進捗サマリー、それ以外の場合は `description` と同じテキスト |

1118| `startTime` | number | タスクが開始された時刻(Unix エポックからのミリ秒) |

1119| `model` | string、省略可能 | タスクが実行される解決済みモデルの ID。モデルが解決されるまでは省略されます |

1120| `effort` | string または number、省略可能 | サブエージェントの [定義フロントマター](https://code.claude.com/docs/ja/sub-agents.md#supported-frontmatter-fields) または個別の呼び出しで設定された推論 effort: `low`、`medium`、`high`、`xhigh`、`max`、またはトークン予算の数値。これは設定された値であり、モデルがそのレベルをサポートしていない場合、Claude Code が実際に適用する effort は異なる可能性があります。effort が設定されていない場合は省略されます |

1121| `contextWindowSize` | number、省略可能 | `model` のコンテキストウィンドウ(トークン単位)。メインステータスラインの [`context_window.context_window_size`](#context-window-fields) と同じ方法で計算されるため、`tokenCount` から行ごとのパーセンテージをレンダリングできます。`model` が省略されている場合は省略されます |

1122| `tokenCount` | number | サブエージェントの累計トークン数。デフォルトの行に表示される数値です |

1123| `tokenSamples` | array of numbers | 直近最大 16 個の `tokenCount` の読み取り値。リフレッシュティックごとに 1 つずつ、古い順に並び、現在の値で終わります |

1124| `cwd` | string | サブエージェントの作業ディレクトリ。隔離された worktree など独自のディレクトリで実行される場合はそのディレクトリ、それ以外の場合はセッションの作業ディレクトリです |

1125 

1126## ヒント1086## ヒント

1127 1087 

1128* **モック入力でテストする**:`echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`1088* **モック入力でテストする**:`echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`

Details

26 26 

27| ターミナル | 改行用の Shift+Enter |27| ターミナル | 改行用の Shift+Enter |

28| :- | :- |28| :- | :- |

29| Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal、Windows Terminal | セットアップなしで機能 |29| Ghostty、Kitty、iTerm2、WezTerm、Warp、Windows Terminal | セットアップなしで機能 |

30| kitty キーボードプロトコルをサポートする他のターミナル(foot や Alacritty 0.16 以降など) | セットアップなしで機能。Claude Code v2.1.269 以降が必要です |30| kitty キーボードプロトコルをサポートする他のターミナル(foot や Alacritty 0.16 以降など) | セットアップなしで機能。Claude Code v2.1.269 以降が必要です |

31| VS Code、Cursor、Devin Desktop、Alacritty 0.16 より前のバージョン、Zed | 1 回 `/terminal-setup` を実行 |31| VS Code、Cursor、Devin Desktop、Alacritty 0.16 より前のバージョン、Zed | 1 回 `/terminal-setup` を実行 |

32| gnome-terminal、PyCharm や Android Studio などの JetBrains IDE | 利用不可。Ctrl+J または `\` の後に Enter を使用 |32| gnome-terminal、PyCharm や Android Studio などの JetBrains IDE | 利用不可。Ctrl+J または `\` の後に Enter を使用 |

Details

173 173 

174これらのデプロイメントオプションのうち、管理対象マシンが使用できるものを制限するには、管理設定で [`allowedProviders`](https://code.claude.com/docs/ja/settings-reference#allowedproviders) を設定します。たとえば、`["bedrock"]` は Amazon Bedrock のみを許可します。Mantle エンドポイントも有効にする Bedrock フリートは `"mantle"` も一覧に含めます。このエントリは、管理対象の `env` ピン留めも必要なエンドポイント変数を示します。Claude Code v2.1.285 以降が必要です。174これらのデプロイメントオプションのうち、管理対象マシンが使用できるものを制限するには、管理設定で [`allowedProviders`](https://code.claude.com/docs/ja/settings-reference#allowedproviders) を設定します。たとえば、`["bedrock"]` は Amazon Bedrock のみを許可します。Mantle エンドポイントも有効にする Bedrock フリートは `"mantle"` も一覧に含めます。このエントリは、管理対象の `env` ピン留めも必要なエンドポイント変数を示します。Claude Code v2.1.285 以降が必要です。

175 175 

176> [!NOTE]

177>

178> Desktop が claude.ai にサインインしている場合、ユーザーのマシン上の Cowork セッションは [`"anthropic"`](https://code.claude.com/docs/ja/settings-reference#allowedproviders) として扱われます。MDM ポリシーまたは管理設定ファイルでこれをこのリストから除外すると、そのセッションは拒否されます。含めた場合は、Anthropic に直接送信されるセッションもこのリストを通過します。

179 

176### 統合に MCP を活用する180### 統合に MCP を活用する

177 181 

178MCP は Claude Code にチケット管理システムやエラーログへの接続など、より多くの情報を提供する優れた方法です。1 つの中央チームが MCP サーバーを構成し、`.mcp.json` 構成をコードベースにチェックインして、すべてのユーザーが恩恵を受けられるようにします。[詳細をご覧ください](https://code.claude.com/docs/ja/mcp.md)。182MCP は Claude Code にチケット管理システムやエラーログへの接続など、より多くの情報を提供する優れた方法です。1 つの中央チームが MCP サーバーを構成し、`.mcp.json` 構成をコードベースにチェックインして、すべてのユーザーが恩恵を受けられるようにします。[詳細をご覧ください](https://code.claude.com/docs/ja/mcp.md)。

Details

127 127 

128Claude は `AskUserQuestion` を使用して、決定や確認が必要な場合に複数選択肢の質問をします。オプションを選択して回答するか、`Other` 行またはメモフィールドを通じて独自のテキストを入力してください。128Claude は `AskUserQuestion` を使用して、決定や確認が必要な場合に複数選択肢の質問をします。オプションを選択して回答するか、`Other` 行またはメモフィールドを通じて独自のテキストを入力してください。

129 129 

130独自のテキストを入力して回答した場合、Claude Code は中立的な表現で回答を伝えるため、Claude は書かれた内容に従います。これには、待機や先に説明することを求める指示も含まれます。

131 

132### 質問の自動継続タイムアウト130### 質問の自動継続タイムアウト

133 131 

134質問は、回答するまで開いたままになります。回答しないままにした質問が最終的に閉じて、Claude がユーザーを待たずに続行できるようにしたい場合は、[`askUserQuestionTimeout`](https://code.claude.com/docs/ja/settings-reference#askuserquestiontimeout) 設定を `60s`、`5m`、または `10m` に設定します。これはユーザーの `settings.json` または `/config` の **Question auto-continue timeout** 行から設定できます。132質問は、回答するまで開いたままになります。回答しないままにした質問が最終的に閉じて、Claude がユーザーを待たずに続行できるようにしたい場合は、[`askUserQuestionTimeout`](https://code.claude.com/docs/ja/settings-reference#askuserquestiontimeout) 設定を `60s`、`5m`、または `10m` に設定します。これはユーザーの `settings.json` または `/config` の **Question auto-continue timeout** 行から設定できます。


525 523 

526## Read ツールの動作524## Read ツールの動作

527 525 

528Read ツールはファイルパスを受け取り、行番号付きでコンテンツを返します。Claude は常に絶対パスを渡すように指示されています。526Read ツールはファイルパスを受け取り、行番号付きでコンテンツを返します。

529 527 

530空のファイルを読み込むと、ファイルは存在するがコンテンツが空であることを示す通知が返され、最後の行を超えた `offset` はファイルの行数を示す通知を返します。528空のファイルを読み込むと、ファイルは存在するがコンテンツが空であることを示す通知が返され、最後の行を超えた `offset` はファイルの行数を示す通知を返します。

531 529 

Details

388> Get-Command claude | Select-Object Source388> Get-Command claude | Select-Object Source

389> ```389> ```

390 390 

391Linux では、不足している共有ライブラリを確認してください。`ldd` が不足しているライブラリを表示する場合は、システムパッケージをインストールする必要があるかもしれません。Alpine Linux およびその他の musl ベースのディストリビューションについては、[Alpine Linux セットアップ](https://code.claude.com/docs/ja/setup.md#alpine-linux-and-musl-based-distributions)を参照してください。391Linux では、不足している共有ライブラリを確認してください。`ldd` が不足しているライブラリを表示する場合は、システムパッケージをインストールする必要があるかもしれません。Alpine Linux およびその他の musl ベースのディストリビューションについては、[Linux の musl または glibc バイナリの不一致](#linux-musl-or-glibc-binary-mismatch)を参照してください。

392 392 

393```bash theme={null}393```bash theme={null}

394ldd "$(command -v claude)" | grep "not found"394ldd "$(command -v claude)" | grep "not found"


906 906 

907### Linux musl または glibc バイナリの不一致907### Linux musl または glibc バイナリの不一致

908 908 

909インストール後に `libstdc++.so.6` や `libgcc_s.so.1` などの共有ライブラリが見つからないというエラーが表示される場合、インストーラーはシステムの間違ったバイナリバリアントをダウンロードした可能性があります。909インストール後に `ld-linux-x86-64.so.2` や `ld-linux-aarch64.so.1` などの共有ライブラリが見つからないというエラーが表示される場合、インストーラーはシステムの間違ったバイナリバリアントをダウンロードした可能性があります。

910 910 

911```text theme={null}911```text theme={null}

912Error loading shared library libstdc++.so.6: No such file or directory912Error loading shared library ld-linux-x86-64.so.2: No such file or directory

913```913```

914 914 

915これは、musl クロスコンパイルパッケージがインストールされている glibc ベースのシステムで発生する可能性があり、インストーラーがシステムを musl として誤検出します。

916 

917**解決策:**915**解決策:**

918 916 

9191. **システムが使用する libc を確認する**:9171. **システムが使用する libc を確認する**:


924 922 

9252. **glibc にいるが musl バイナリを取得した場合**、インストールを削除して再インストールしてください。`https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json` のマニフェストを使用して正しいバイナリを手動でダウンロードすることもできます。`ldd --version` と `ls /lib/libc.musl*` の出力を含む [GitHub issue](https://github.com/anthropics/claude-code/issues) をファイルしてください。9232. **glibc にいるが musl バイナリを取得した場合**、インストールを削除して再インストールしてください。`https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json` のマニフェストを使用して正しいバイナリを手動でダウンロードすることもできます。`ldd --version` と `ls /lib/libc.musl*` の出力を含む [GitHub issue](https://github.com/anthropics/claude-code/issues) をファイルしてください。

926 924 

9273. **実際に musl にいる場合**(Alpine Linux など)、必要なパッケージをインストールしてください。9253. **musl にいるが glibc バイナリを取得した場合**、[インストールを削除](https://code.claude.com/docs/ja/setup.md#uninstall-claude-code)してください。Alpine Linux では、まず [Alpine Linux セットアップ](https://code.claude.com/docs/ja/setup.md#alpine-linux-and-musl-based-distributions)に記載されているパッケージをインストールしてください。その後、[インストールコマンド](https://code.claude.com/docs/ja/setup.md#install-claude-code)を実行すると、musl バイナリがインストールされます。

928 ```bash theme={null}

929 apk add libgcc libstdc++ ripgrep

930 ```

931 Alpine では、`ripgrep` はコミュニティリポジトリにあります。`apk` がパッケージが見つからないと報告する場合は、[Alpine Linux セットアップ](https://code.claude.com/docs/ja/setup.md#alpine-linux-and-musl-based-distributions)を参照してください。

932 926 

933### `Illegal instruction`927### `Illegal instruction`

934 928 


1001 995 

1002これらの問題は、WSL 内で `npm install -g` を使用して Claude Code をインストールした場合に適用されます。[ネイティブインストーラー](https://code.claude.com/docs/ja/setup.md)を使用した場合は、このセクションをスキップしてください。npm 12 の場合は、[npm 12 のインストールを修正する](#fix-an-npm-12-install)の説明に従ってインストールしてください。996これらの問題は、WSL 内で `npm install -g` を使用して Claude Code をインストールした場合に適用されます。[ネイティブインストーラー](https://code.claude.com/docs/ja/setup.md)を使用した場合は、このセクションをスキップしてください。npm 12 の場合は、[npm 12 のインストールを修正する](#fix-an-npm-12-install)の説明に従ってインストールしてください。

1003 997 

1004**OS またはプラットフォーム検出の問題。** npm がインストール中にプラットフォームの不一致を報告する場合、WSL は Windows `npm` を選択している可能性があります。最初に `npm config set os linux` を実行してから、`npm install -g @anthropic-ai/claude-code --force` でインストールしてください。`sudo` を使用しないでください。998**OS またはプラットフォーム検出の問題。** npm がインストール中にプラットフォームの不一致を報告する場合は、最初に `npm config set os linux` を実行してから、`npm install -g @anthropic-ai/claude-code@latest --force` でインストールしてください。`sudo` を使用しないでください。

1005 999 

1006**`claude` を実行するときの `exec: node: not found`。** WSL 環境は Node.js の Windows インストールを使用している可能性があります。`which npm` と `which node` で確認してください。`/mnt/c/` で始まるパスは Windows バイナリであり、Linux パスは `/usr/` で始まります。これを修正するには、Linux ディストリビューションのパッケージマネージャーまたは [`nvm`](https://github.com/nvm-sh/nvm) 経由で Node をインストールしてください。1000**`claude` を実行するときの `exec: node: not found`。** WSL 環境は Node.js の Windows インストールを使用している可能性があります。`which npm` と `which node` で確認してください。`/mnt/c/` で始まるパスは Windows バイナリであり、Linux パスは `/usr/` で始まります。これを修正するには、Linux ディストリビューションのパッケージマネージャーまたは [`nvm`](https://github.com/nvm-sh/nvm) 経由で Node をインストールしてください。

1007 1001 


1088 3. 再インストールします。1082 3. 再インストールします。

1089 1083 

1090 ```bash theme={null}1084 ```bash theme={null}

1091 npm install -g @anthropic-ai/claude-code1085 npm install -g @anthropic-ai/claude-code@latest

1092 ```1086 ```

1093 1087 

1094 このコマンドまたは手順 1 が `EACCES` で失敗する場合は、`sudo` を付けて再実行するのではなく、ネイティブインストーラーに切り替えてください。Claude Code は自身を更新する際に `sudo` なしで npm を実行するため、自動更新も同じように失敗します。1088 このコマンドまたは手順 1 が `EACCES` で失敗する場合は、`sudo` を付けて再実行するのではなく、ネイティブインストーラーに切り替えてください。Claude Code は自身を更新する際に `sudo` なしで npm を実行するため、自動更新も同じように失敗します。


1099 1093 

1100### npm `ENOTEMPTY` エラー(更新または再インストール中)1094### npm `ENOTEMPTY` エラー(更新または再インストール中)

1101 1095 

1102既存のインストールに対して `npm install -g @anthropic-ai/claude-code` を実行すると、npm は古いパッケージディレクトリを移動しようとしている間に失敗する可能性があります。1096既存のインストールに対して `npm install -g @anthropic-ai/claude-code@latest` を実行すると、npm は古いパッケージディレクトリを移動しようとしている間に失敗する可能性があります。

1103 1097 

1104```text theme={null}1098```text theme={null}

1105npm error code ENOTEMPTY1099npm error code ENOTEMPTY


1133次に再インストールしてください。npm 12 の場合は、[npm 12 のインストールを修正する](#fix-an-npm-12-install)に従ってください。それ以外の場合は、次を実行してください。1127次に再インストールしてください。npm 12 の場合は、[npm 12 のインストールを修正する](#fix-an-npm-12-install)に従ってください。それ以外の場合は、次を実行してください。

1134 1128 

1135```bash theme={null}1129```bash theme={null}

1136npm install -g @anthropic-ai/claude-code1130npm install -g @anthropic-ai/claude-code@latest

1137```1131```

1138 1132 

1139`claude --version` で確認してください。これは `2.1.211 (Claude Code)` などのバージョン番号を出力します。1133`claude --version` で確認してください。これは `2.1.211 (Claude Code)` などのバージョン番号を出力します。

Details

152> apk add ripgrep152> apk add ripgrep

153> ```153> ```

154>154>

155> `ripgrep` は Alpine のコミュニティリポジトリにあります。`apk` がパッケージが見つからないと報告する場合は、[Alpine Linux セットアップ](https://code.claude.com/docs/ja/setup.md#alpine-linux-and-musl-based-distributions)を参照してください。155> `ripgrep` は Alpine のコミュニティリポジトリにあります。

156 156 

157> [tab] Arch157> [tab] Arch

158>158>

vs-code.md +10 −0

Details

202 既存の思考ブロックは空のままです。再読み込み後の応答では、ブロックをクリックするか、`Ctrl+O` を押してすべてを展開します。202 既存の思考ブロックは空のままです。再読み込み後の応答では、ブロックをクリックするか、`Ctrl+O` を押してすべてを展開します。

203* **複数行入力**: `Shift+Enter` を押すと、送信せずに改行を追加できます。これは質問ダイアログの「Other」自由記述入力でも機能します。203* **複数行入力**: `Shift+Enter` を押すと、送信せずに改行を追加できます。これは質問ダイアログの「Other」自由記述入力でも機能します。

204 204 

205### 提案されたプロンプトを使用する、またはオフにする

206 

207Claude が応答した後、パネルには次のプロンプトの提案が、空のプロンプトボックス内にグレーの斜体テキストとして表示されることがあります。各提案は[短いバックグラウンドリクエスト](https://code.claude.com/docs/ja/interactive-mode.md#prompt-suggestions)を使用し、これはプランの使用制限または API コストにカウントされます。

208 

209* **提案を使用する**: `Tab` を押して編集可能なテキストに変換してから送信します。受け入れる前に `Enter` を押しても、提案は送信されません。

210* **独自のプロンプトを書く**: 入力を始めると、提案は非表示になります。

211 

212提案をオフにするには、`~/.claude/settings.json` で [`promptSuggestionEnabled`](https://code.claude.com/docs/ja/settings-reference#promptsuggestionenabled) を `false` に設定します。新しい会話では提案が表示されなくなり、開いている会話ではコマンドパレットから **Developer: Reload Window** を実行した後に表示されなくなります。[`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/ja/env-vars) を `true` に設定している場合は、設定した場所で `false` に変更してください。変更しないと、提案は引き続き表示されます。

213 

205### ファイルとフォルダーを参照する214### ファイルとフォルダーを参照する

206 215 

207@メンションを使用すると、特定のファイルやフォルダーに関するコンテキストを Claude に与えられます。`@` に続けてファイル名やフォルダー名を入力すると、Claude はその内容を読み込み、それについての質問に答えたり、変更を加えたりできます。Claude Code はあいまい一致をサポートしているため、名前の一部を入力するだけで目的のものを見つけられます。216@メンションを使用すると、特定のファイルやフォルダーに関するコンテキストを Claude に与えられます。`@` に続けてファイル名やフォルダー名を入力すると、Claude はその内容を読み込み、それについての質問に答えたり、変更を加えたりできます。Claude Code はあいまい一致をサポートしているため、名前の一部を入力するだけで目的のものを見つけられます。


936| `SSL certificate verification failed` または `Self-signed certificate detected` | [SSL 証明書エラー](https://code.claude.com/docs/ja/errors.md#ssl-certificate-errors) |945| `SSL certificate verification failed` または `Self-signed certificate detected` | [SSL 証明書エラー](https://code.claude.com/docs/ja/errors.md#ssl-certificate-errors) |

937| `Dictation error: WebSocket error:` に続いて `unable to get local issuer certificate` などの証明書エラーが表示される、または Web タブに `Remote server is not connected` が表示される | [TLS インスペクションを行うプロキシの背後で音声入力または Web タブが失敗する](#dictation-or-the-web-tab-fails-behind-a-tls-inspecting-proxy) |946| `Dictation error: WebSocket error:` に続いて `unable to get local issuer certificate` などの証明書エラーが表示される、または Web タブに `Remote server is not connected` が表示される | [TLS インスペクションを行うプロキシの背後で音声入力または Web タブが失敗する](#dictation-or-the-web-tab-fails-behind-a-tls-inspecting-proxy) |

938| `Claude Code process exited with code 1` またはその他のコード | [Claude Code process exited with code N](https://code.claude.com/docs/ja/errors.md#claude-code-process-exited-with-code-n) |947| `Claude Code process exited with code 1` またはその他のコード | [Claude Code process exited with code N](https://code.claude.com/docs/ja/errors.md#claude-code-process-exited-with-code-n) |

948| `Claude Code did not finish starting` または `Subprocess initialization did not complete within 60000ms` | [Subprocess initialization did not complete within 60000ms](https://code.claude.com/docs/ja/errors.md#subprocess-initialization-did-not-complete-within-60000ms) |

939| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/ja/errors.md#could-not-locate-the-claude-cli-on-path) |949| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/ja/errors.md#could-not-locate-the-claude-cli-on-path) |

940| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/ja/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |950| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/ja/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |

941| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/ja/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |951| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/ja/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |

workflows.md +0 −2

Details

75| :- | :- |75| :- | :- |

76| `/deep-research <question>` | 複数の角度から質問に対する Web 検索を展開し、見つけたソースを取得してクロスチェックし、各クレームに投票し、クロスチェックで生き残らなかったクレームがフィルタリングされた引用されたレポートを返します。[WebSearch ツール](https://code.claude.com/docs/ja/tools-reference.md#websearch-tool-behavior)が利用可能である必要があります |76| `/deep-research <question>` | 複数の角度から質問に対する Web 検索を展開し、見つけたソースを取得してクロスチェックし、各クレームに投票し、クロスチェックで生き残らなかったクレームがフィルタリングされた引用されたレポートを返します。[WebSearch ツール](https://code.claude.com/docs/ja/tools-reference.md#websearch-tool-behavior)が利用可能である必要があります |

77 77 

78`/deep-research` は、呼び出すときのみ実行されます。

79 

80[自分で保存](#save-the-workflow-for-reuse)したワークフローは同じ方法でコマンドになり、バンドルされたものと一緒に `/` オートコンプリートに表示されます。78[自分で保存](#save-the-workflow-for-reuse)したワークフローは同じ方法でコマンドになり、バンドルされたものと一緒に `/` オートコンプリートに表示されます。

81 79 

82### 実行を監視する80### 実行を監視する