SpyBara
Go Premium

Documentation 2026-05-08 22:00 UTC to 2026-05-09 04:57 UTC

20 files changed +1,368 −214. View all changes and history on the product overview
2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19
Details

309 </Tab>309 </Tab>

310</Tabs>310</Tabs>

311 311 

312HTTP(非ストリーミング)の場合は、代わりに `"type": "http"` を使用します。312ストリーミング可能な HTTP トランスポートの場合は、代わりに `"type": "http"` を使用します。`.mcp.json` およびその他の JSON 設定ファイルでは、`"streamable-http"` は `"http"` のエイリアスとして受け入れられます。プログラマティック `mcpServers` オプションは `"http"` のみを受け入れます。

313 313 

314### SDK MCP サーバー314### SDK MCP サーバー

315 315 

agent-sdk/python.md +111 −110

Details

2294 2294 

2295```python theme={null}2295```python theme={null}

2296{2296{

2297 "description": str, # A short (3-5 word) description of the task2297 "description": str, # タスクの短い説明(35 語)

2298 "prompt": str, # The task for the agent to perform2298 "prompt": str, # エージェントが実行するタスク

2299 "subagent_type": str, # The type of specialized agent to use2299 "subagent_type": str, # 使用する特化したエージェントのタイプ

2300}2300}

2301```2301```

2302 2302 


2304 2304 

2305```python theme={null}2305```python theme={null}

2306{2306{

2307 "result": str, # Final result from the subagent2307 "result": str, # サブエージェントからの最終結果

2308 "usage": dict | None, # Token usage statistics2308 "usage": dict | None, # トークン使用統計

2309 "total_cost_usd": float | None, # Estimated total cost in USD2309 "total_cost_usd": float | None, # 推定総コスト(USD

2310 "duration_ms": int | None, # Execution duration in milliseconds2310 "duration_ms": int | None, # 実行時間(ミリ秒)

2311}2311}

2312```2312```

2313 2313 


2321 2321 

2322```python theme={null}2322```python theme={null}

2323{2323{

2324 "questions": [ # Questions to ask the user (1-4 questions)2324 "questions": [ # ユーザーに質問する質問(14 個の質問)

2325 {2325 {

2326 "question": str, # The complete question to ask the user2326 "question": str, # ユーザーに質問する完全な質問

2327 "header": str, # Very short label displayed as a chip/tag (max 12 chars)2327 "header": str, # チップ/タグとして表示される非常に短いラベル(最大 12 文字)

2328 "options": [ # The available choices (2-4 options)2328 "options": [ # 利用可能な選択肢(24 個のオプション)

2329 {2329 {

2330 "label": str, # Display text for this option (1-5 words)2330 "label": str, # このオプションの表示テキスト(15 語)

2331 "description": str, # Explanation of what this option means2331 "description": str, # このオプションが何を意味するかの説明

2332 }2332 }

2333 ],2333 ],

2334 "multiSelect": bool, # Set to true to allow multiple selections2334 "multiSelect": bool, # 複数選択を許可する場合は true に設定

2335 }2335 }

2336 ],2336 ],

2337 "answers": dict | None, # User answers populated by the permission system2337 "answers": dict[str, str | list[str]] | None,

2338 # パーミッションシステムによって入力されたユーザーの回答。マルチセレクト

2339 # 回答はラベルのリストまたはカンマ区切り文字列の場合があります

2338}2340}

2339```2341```

2340 2342 


2342 2344 

2343```python theme={null}2345```python theme={null}

2344{2346{

2345 "questions": [ # The questions that were asked2347 "questions": [ # 質問された質問

2346 {2348 {

2347 "question": str,2349 "question": str,

2348 "header": str,2350 "header": str,


2350 "multiSelect": bool,2352 "multiSelect": bool,

2351 }2353 }

2352 ],2354 ],

2353 "answers": dict[str, str], # Maps question text to answer string2355 "answers": dict[str, str], # 質問テキストを回答文字列にマップ

2354 # Multi-select answers are comma-separated2356 # マルチセレクト回答はカンマ区切り

2355}2357}

2356```2358```

2357 2359 


2363 2365 

2364```python theme={null}2366```python theme={null}

2365{2367{

2366 "command": str, # The command to execute2368 "command": str, # 実行するコマンド

2367 "timeout": int | None, # Optional timeout in milliseconds (max 600000)2369 "timeout": int | None, # オプションのタイムアウト(ミリ秒、最大 600000

2368 "description": str | None, # Clear, concise description (5-10 words)2370 "description": str | None, # 明確で簡潔な説明(510 語)

2369 "run_in_background": bool | None, # Set to true to run in background2371 "run_in_background": bool | None, # バックグラウンドで実行する場合は true に設定

2370}2372}

2371```2373```

2372 2374 


2374 2376 

2375```python theme={null}2377```python theme={null}

2376{2378{

2377 "output": str, # Combined stdout and stderr output2379 "output": str, # 標準出力と標準エラーの結合出力

2378 "exitCode": int, # Exit code of the command2380 "exitCode": int, # コマンドの終了コード

2379 "killed": bool | None, # Whether command was killed due to timeout2381 "killed": bool | None, # タイムアウトによってコマンドが強制終了されたかどうか

2380 "shellId": str | None, # Shell ID for background processes2382 "shellId": str | None, # バックグラウンドプロセスのシェル ID

2381}2383}

2382```2384```

2383 2385 


2391 2393 

2392```python theme={null}2394```python theme={null}

2393{2395{

2394 "command": str, # Shell script; each stdout line is an event, exit ends the watch2396 "command": str, # シェルスクリプト。各 stdout 行はイベント、終了は監視を終了

2395 "description": str, # Short description shown in notifications2397 "description": str, # 通知に表示される短い説明

2396 "timeout_ms": int | None, # Kill after this deadline (default 300000, max 3600000)2398 "timeout_ms": int | None, # この期限後に強制終了(デフォルト 300000、最大 3600000

2397 "persistent": bool | None, # Run for the lifetime of the session; stop with TaskStop2399 "persistent": bool | None, # セッションの期間中実行。TaskStop で停止

2398}2400}

2399```2401```

2400 2402 


2402 2404 

2403```python theme={null}2405```python theme={null}

2404{2406{

2405 "taskId": str, # ID of the background monitor task2407 "taskId": str, # バックグラウンド監視タスクの ID

2406 "timeoutMs": int, # Timeout deadline in milliseconds (0 when persistent)2408 "timeoutMs": int, # タイムアウト期限(ミリ秒)(persistent の場合は 0

2407 "persistent": bool | None, # True when running until TaskStop or session end2409 "persistent": bool | None, # TaskStop またはセッション終了まで実行する場合は True

2408}2410}

2409```2411```

2410 2412 


2416 2418 

2417```python theme={null}2419```python theme={null}

2418{2420{

2419 "file_path": str, # The absolute path to the file to modify2421 "file_path": str, # 変更するファイルの絶対パス

2420 "old_string": str, # The text to replace2422 "old_string": str, # 置換するテキスト

2421 "new_string": str, # The text to replace it with2423 "new_string": str, # 置換後のテキスト

2422 "replace_all": bool | None, # Replace all occurrences (default False)2424 "replace_all": bool | None, # すべての出現を置換(デフォルト False

2423}2425}

2424```2426```

2425 2427 


2427 2429 

2428```python theme={null}2430```python theme={null}

2429{2431{

2430 "message": str, # Confirmation message2432 "message": str, # 確認メッセージ

2431 "replacements": int, # Number of replacements made2433 "replacements": int, # 実行された置換の数

2432 "file_path": str, # File path that was edited2434 "file_path": str, # 編集されたファイルパス

2433}2435}

2434```2436```

2435 2437 


2441 2443 

2442```python theme={null}2444```python theme={null}

2443{2445{

2444 "file_path": str, # The absolute path to the file to read2446 "file_path": str, # 読み込むファイルの絶対パス

2445 "offset": int | None, # The line number to start reading from2447 "offset": int | None, # 読み込みを開始する行番号

2446 "limit": int | None, # The number of lines to read2448 "limit": int | None, # 読み込む行数

2447}2449}

2448```2450```

2449 2451 


2451 2453 

2452```python theme={null}2454```python theme={null}

2453{2455{

2454 "content": str, # File contents with line numbers2456 "content": str, # 行番号付きのファイル内容

2455 "total_lines": int, # Total number of lines in file2457 "total_lines": int, # ファイルの総行数

2456 "lines_returned": int, # Lines actually returned2458 "lines_returned": int, # 実際に返された行数

2457}2459}

2458```2460```

2459 2461 


2461 2463 

2462```python theme={null}2464```python theme={null}

2463{2465{

2464 "image": str, # Base64 encoded image data2466 "image": str, # Base64 エンコードされた画像データ

2465 "mime_type": str, # Image MIME type2467 "mime_type": str, # 画像の MIME タイプ

2466 "file_size": int, # File size in bytes2468 "file_size": int, # ファイルサイズ(バイト)

2467}2469}

2468```2470```

2469 2471 


2475 2477 

2476```python theme={null}2478```python theme={null}

2477{2479{

2478 "file_path": str, # The absolute path to the file to write2480 "file_path": str, # 書き込むファイルの絶対パス

2479 "content": str, # The content to write to the file2481 "content": str, # ファイルに書き込むコンテンツ

2480}2482}

2481```2483```

2482 2484 


2484 2486 

2485```python theme={null}2487```python theme={null}

2486{2488{

2487 "message": str, # Success message2489 "message": str, # 成功メッセージ

2488 "bytes_written": int, # Number of bytes written2490 "bytes_written": int, # 書き込まれたバイト数

2489 "file_path": str, # File path that was written2491 "file_path": str, # 書き込まれたファイルパス

2490}2492}

2491```2493```

2492 2494 


2498 2500 

2499```python theme={null}2501```python theme={null}

2500{2502{

2501 "pattern": str, # The glob pattern to match files against2503 "pattern": str, # ファイルにマッチさせるグロブパターン

2502 "path": str | None, # The directory to search in (defaults to cwd)2504 "path": str | None, # 検索するディレクトリ(デフォルトは cwd

2503}2505}

2504```2506```

2505 2507 


2507 2509 

2508```python theme={null}2510```python theme={null}

2509{2511{

2510 "matches": list[str], # Array of matching file paths2512 "matches": list[str], # マッチしたファイルパスの配列

2511 "count": int, # Number of matches found2513 "count": int, # 見つかったマッチの数

2512 "search_path": str, # Search directory used2514 "search_path": str, # 使用された検索ディレクトリ

2513}2515}

2514```2516```

2515 2517 


2521 2523 

2522```python theme={null}2524```python theme={null}

2523{2525{

2524 "pattern": str, # The regular expression pattern2526 "pattern": str, # 正規表現パターン

2525 "path": str | None, # File or directory to search in2527 "path": str | None, # 検索するファイルまたはディレクトリ

2526 "glob": str | None, # Glob pattern to filter files2528 "glob": str | None, # ファイルをフィルタリングするグロブパターン

2527 "type": str | None, # File type to search2529 "type": str | None, # 検索するファイルタイプ

2528 "output_mode": str | None, # "content", "files_with_matches", or "count"2530 "output_mode": str | None, # content」、「files_with_matches」、または「count

2529 "-i": bool | None, # Case insensitive search2531 "-i": bool | None, # 大文字小文字を区別しない検索

2530 "-n": bool | None, # Show line numbers2532 "-n": bool | None, # 行番号を表示

2531 "-B": int | None, # Lines to show before each match2533 "-B": int | None, # 各マッチの前に表示する行

2532 "-A": int | None, # Lines to show after each match2534 "-A": int | None, # 各マッチの後に表示する行

2533 2535 "-C": int | None, # 前後に表示する行

2534 "-C": int | None, # Lines to show before and after2536 "head_limit": int | None, # 出力を最初の N 行/エントリに制限

2535 "head_limit": int | None, # Limit output to first N lines/entries2537 "multiline": bool | None, # マルチラインモードを有効化

2536 "multiline": bool | None, # Enable multiline mode

2537}2538}

2538```2539```

2539 2540 


2558 2559 

2559```python theme={null}2560```python theme={null}

2560{2561{

2561 "files": list[str], # Files containing matches2562 "files": list[str], # マッチを含むファイル

2562 "count": int, # Number of files with matches2563 "count": int, # マッチを含むファイルの数

2563}2564}

2564```2565```

2565 2566 


2571 2572 

2572```python theme={null}2573```python theme={null}

2573{2574{

2574 "notebook_path": str, # Absolute path to the Jupyter notebook2575 "notebook_path": str, # Jupyter ノートブックの絶対パス

2575 "cell_id": str | None, # The ID of the cell to edit2576 "cell_id": str | None, # 編集するセルの ID

2576 "new_source": str, # The new source for the cell2577 "new_source": str, # セルの新しいソース

2577 "cell_type": "code" | "markdown" | None, # The type of the cell2578 "cell_type": "code" | "markdown" | None, # セルのタイプ

2578 "edit_mode": "replace" | "insert" | "delete" | None, # Edit operation type2579 "edit_mode": "replace" | "insert" | "delete" | None, # 編集操作のタイプ

2579}2580}

2580```2581```

2581 2582 


2583 2584 

2584```python theme={null}2585```python theme={null}

2585{2586{

2586 "message": str, # Success message2587 "message": str, # 成功メッセージ

2587 "edit_type": "replaced" | "inserted" | "deleted", # Type of edit performed2588 "edit_type": "replaced" | "inserted" | "deleted", # 実行された編集のタイプ

2588 "cell_id": str | None, # Cell ID that was affected2589 "cell_id": str | None, # 影響を受けたセル ID

2589 "total_cells": int, # Total cells in notebook after edit2590 "total_cells": int, # 編集後のノートブックの総セル数

2590}2591}

2591```2592```

2592 2593 


2598 2599 

2599```python theme={null}2600```python theme={null}

2600{2601{

2601 "url": str, # The URL to fetch content from2602 "url": str, # コンテンツを取得する URL

2602 "prompt": str, # The prompt to run on the fetched content2603 "prompt": str, # 取得したコンテンツで実行するプロンプト

2603}2604}

2604```2605```

2605 2606 


2607 2608 

2608```python theme={null}2609```python theme={null}

2609{2610{

2610 "response": str, # AI model's response to the prompt2611 "response": str, # プロンプトに対する AI モデルの応答

2611 "url": str, # URL that was fetched2612 "url": str, # 取得された URL

2612 "final_url": str | None, # Final URL after redirects2613 "final_url": str | None, # リダイレクト後の最終 URL

2613 "status_code": int | None, # HTTP status code2614 "status_code": int | None, # HTTP ステータスコード

2614}2615}

2615```2616```

2616 2617 


2622 2623 

2623```python theme={null}2624```python theme={null}

2624{2625{

2625 "query": str, # The search query to use2626 "query": str, # 使用する検索クエリ

2626 "allowed_domains": list[str] | None, # Only include results from these domains2627 "allowed_domains": list[str] | None, # これらのドメインからのみ結果を含める

2627 "blocked_domains": list[str] | None, # Never include results from these domains2628 "blocked_domains": list[str] | None, # これらのドメインからの結果は決して含めない

2628}2629}

2629```2630```

2630 2631 


2648{2649{

2649 "todos": [2650 "todos": [

2650 {2651 {

2651 "content": str, # The task description2652 "content": str, # タスクの説明

2652 "status": "pending" | "in_progress" | "completed", # Task status2653 "status": "pending" | "in_progress" | "completed", # タスクのステータス

2653 "activeForm": str, # Active form of the description2654 "activeForm": str, # 説明のアクティブな形式

2654 }2655 }

2655 ]2656 ]

2656}2657}


2660 2661 

2661```python theme={null}2662```python theme={null}

2662{2663{

2663 "message": str, # Success message2664 "message": str, # 成功メッセージ

2664 "stats": {"total": int, "pending": int, "in_progress": int, "completed": int},2665 "stats": {"total": int, "pending": int, "in_progress": int, "completed": int},

2665}2666}

2666```2667```


2673 2674 

2674```python theme={null}2675```python theme={null}

2675{2676{

2676 "bash_id": str, # The ID of the background shell2677 "bash_id": str, # バックグラウンドシェルの ID

2677 "filter": str | None, # Optional regex to filter output lines2678 "filter": str | None, # 出力行をフィルタリングするオプションの正規表現

2678}2679}

2679```2680```

2680 2681 


2682 2683 

2683```python theme={null}2684```python theme={null}

2684{2685{

2685 "output": str, # New output since last check2686 "output": str, # 最後のチェック以降の新しい出力

2686 "status": "running" | "completed" | "failed", # Current shell status2687 "status": "running" | "completed" | "failed", # 現在のシェルステータス

2687 "exitCode": int | None, # Exit code when completed2688 "exitCode": int | None, # 完了時の終了コード

2688}2689}

2689```2690```

2690 2691 


2696 2697 

2697```python theme={null}2698```python theme={null}

2698{2699{

2699 "shell_id": str # The ID of the background shell to kill2700 "shell_id": str # 強制終了するバックグラウンドシェルの ID

2700}2701}

2701```2702```

2702 2703 


2704 2705 

2705```python theme={null}2706```python theme={null}

2706{2707{

2707 "message": str, # Success message2708 "message": str, # 成功メッセージ

2708 "shell_id": str, # ID of the killed shell2709 "shell_id": str, # 強制終了されたシェルの ID

2709}2710}

2710```2711```

2711 2712 


2717 2718 

2718```python theme={null}2719```python theme={null}

2719{2720{

2720 "plan": str # The plan to run by the user for approval2721 "plan": str # ユーザーが承認するために実行するプラン

2721}2722}

2722```2723```

2723 2724 


2725 2726 

2726```python theme={null}2727```python theme={null}

2727{2728{

2728 "message": str, # Confirmation message2729 "message": str, # 確認メッセージ

2729 "approved": bool | None, # Whether user approved the plan2730 "approved": bool | None, # ユーザーがプランを承認したかどうか

2730}2731}

2731```2732```

2732 2733 


2738 2739 

2739```python theme={null}2740```python theme={null}

2740{2741{

2741 "server": str | None # Optional server name to filter resources by2742 "server": str | None # リソースをフィルタリングするオプションのサーバー名

2742}2743}

2743```2744```

2744 2745 


2767 2768 

2768```python theme={null}2769```python theme={null}

2769{2770{

2770 "server": str, # The MCP server name2771 "server": str, # MCP サーバー名

2771 "uri": str, # The resource URI to read2772 "uri": str, # 読み込むリソース URI

2772}2773}

2773```2774```

2774 2775 

Details

308| `tag` | `string \| null` | 必須 | タグ文字列、またはクリアする場合は `null` |308| `tag` | `string \| null` | 必須 | タグ文字列、またはクリアする場合は `null` |

309| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略すると、すべてのプロジェクトディレクトリを検索します |309| `options.dir` | `string` | `undefined` | プロジェクトディレクトリパス。省略すると、すべてのプロジェクトディレクトリを検索します |

310 310 

311### `resolveSettings()`

312 

313CLI と同じマージエンジンを使用して、指定されたディレクトリの有効な Claude Code 設定を解決します。Claude CLI をスポーンせずに実行します。`query()` 呼び出しを呼び出す前に、その呼び出しが何の設定を見るかを検査するために使用します。

314 

315<Note>

316 この関数はアルファ版であり、安定化前に API が変更される可能性があります。CLI スタートアップとの同等性のために、macOS plist および Windows HKLM/HKCU を含む MDM ソースを読み取りますが、管理者が設定した `policyHelper` サブプロセスは実行しません。`permissions.defaultMode` フィールドは、プロジェクト設定を含むすべてのティアから現状のまま返されます。CLI が昇格するアクセス許可モードを尊重する前に適用する信頼フィルタは適用されません。

317</Note>

318 

319```typescript theme={null}

320function resolveSettings(

321 options?: ResolveSettingsOptions

322): Promise<ResolvedSettings>;

323```

324 

325#### パラメータ

326 

327`resolveSettings()` は単一のオプションオブジェクトを受け入れます。すべてのフィールドはオプションです。

328 

329| パラメータ | 型 | デフォルト | 説明 |

330| :------------------------------ | :------------------------------------ | :-------------- | :-------------------------------------------------------------------------------- |

331| `options.cwd` | `string` | `process.cwd()` | プロジェクトおよびローカル設定を相対的に解決するディレクトリ |

332| `options.settingSources` | [`SettingSource`](#settingsource)`[]` | すべてのソース | 読み込むファイルシステムソース。ユーザー、プロジェクト、およびローカル設定をスキップするには `[]` を渡します。管理ポリシー設定はすべての場合に読み込まれます |

333| `options.managedSettings` | `Settings` | `undefined` | 管理ポリシー優先度レベルでマージされる制限的なポリシーティア設定。`model` などの非制限的なキーは静かにドロップされます |

334| `options.serverManagedSettings` | `Settings` | `undefined` | `/api/claude_code/settings` からのサーバー管理設定ペイロード。非制限的なキーはフィルタリングなしで通過します |

335 

336#### 戻り値の型:`ResolvedSettings`

337 

338`resolveSettings()` は、マージされた設定と各キーに寄与したソースを説明するオブジェクトを返します。

339 

340| プロパティ | 型 | 説明 |

341| :----------- | :-------------------------------------------------- | :------------------------------------- |

342| `effective` | `Settings` | すべての有効なソースを優先度順に適用した後のマージされた設定 |

343| `provenance` | `Partial<Record<keyof Settings, ProvenanceEntry>>` | `effective` の各トップレベルキーについて、値を提供したソース |

344| `sources` | `Array<{ source, settings, path?, policyOrigin? }>` | ソースごとの生の設定。最も低い優先度から最も高い優先度の順に並べられています |

345 

346#### 例

347 

348プロジェクトディレクトリの設定を解決し、クリーンアップ期間を制御するソースを出力します。

349 

350```typescript theme={null}

351import { resolveSettings } from "@anthropic-ai/claude-agent-sdk";

352 

353const { effective, provenance } = await resolveSettings({

354 cwd: "/path/to/project",

355 settingSources: ["user", "project", "local"],

356});

357 

358console.log(`Cleanup period: ${effective.cleanupPeriodDays} days`);

359console.log(`Set by: ${provenance.cleanupPeriodDays?.source}`);

360```

361 

311## 型362## 型

312 363 

313### `Options`364### `Options`


864 | SDKFilesPersistedEvent915 | SDKFilesPersistedEvent

865 | SDKToolUseSummaryMessage916 | SDKToolUseSummaryMessage

866 | SDKRateLimitEvent917 | SDKRateLimitEvent

918 | SDKPermissionDeniedMessage

867 | SDKPromptSuggestionMessage;919 | SDKPromptSuggestionMessage;

868```920```

869 921 


1052};1104};

1053```1105```

1054 1106 

1107### `SDKPermissionDeniedMessage`

1108 

1109権限システムがインタラクティブプロンプトなしでツール呼び出しを自動的に拒否するときに発行されるストリームイベント。これを使用して、その後に続く `is_error` ツール結果のみを観察するのではなく、拒否を UI にリアルタイムでレンダリングします。インタラクティブな質問パスは、[`canUseTool`](#canusetool) コールバックを通じてアプリケーションに別途到達します。`PreToolUse` フックによって発行された拒否は、このイベントを通じてレポートされません。

1110 

1111このイベントには Claude Code v2.1.136 以降が必要です。

1112 

1113```typescript theme={null}

1114type SDKPermissionDeniedMessage = {

1115 type: "system";

1116 subtype: "permission_denied";

1117 tool_name: string;

1118 tool_use_id: string;

1119 agent_id?: string;

1120 decision_reason_type?: string;

1121 decision_reason?: string;

1122 message: string;

1123 uuid: UUID;

1124 session_id: string;

1125};

1126```

1127 

1128| フィールド | 型 | 説明 |

1129| ---------------------- | -------- | ----------------------------------------------------------------------------------- |

1130| `tool_name` | `string` | 拒否されたツールの名前 |

1131| `tool_use_id` | `string` | この拒否が答える `tool_use` ブロックの ID |

1132| `agent_id` | `string` | 拒否された呼び出しがサブエージェント内で発生した場合のサブエージェント ID。ホスト側ルーティング用に `can_use_tool` のフィールドをミラーリングします |

1133| `decision_reason_type` | `string` | 決定したコンポーネントの判別式(`"rule"`、`"mode"`、`"classifier"`、`"asyncAgent"` など) |

1134| `decision_reason` | `string` | 利用可能な場合、決定したコンポーネントからの人間が読める理由 |

1135| `message` | `string` | `tool_result` でモデルに返される拒否メッセージ |

1136 

1055### `SDKPermissionDenial`1137### `SDKPermissionDenial`

1056 1138 

1057拒否されたツール使用に関する情報。1139拒否されたツール使用に関する情報。

agent-sdk/user-input.md +810 −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# 承認とユーザー入力を処理する

6 

7> Claude の承認リクエストと確認質問をユーザーに表示し、その決定を SDK に返します。

8 

9タスクに取り組んでいる間、Claude はユーザーに確認を取る必要がある場合があります。ファイルを削除する前に許可が必要な場合もあれば、新しいプロジェクト用にどのデータベースを使用するかを尋ねる必要がある場合もあります。アプリケーションはこれらのリクエストをユーザーに表示して、Claude がユーザーの入力で続行できるようにする必要があります。

10 

11Claude がユーザー入力をリクエストするのは 2 つの状況です。ツールを使用する**許可が必要な場合**(ファイルの削除やコマンドの実行など)と、**確認質問がある場合**(`AskUserQuestion` ツール経由)です。どちらも `canUseTool` コールバックをトリガーし、応答を返すまで実行を一時停止します。これは Claude が終了して次のメッセージを待つ通常の会話ターンとは異なります。

12 

13確認質問については、Claude が質問とオプションを生成します。あなたの役割は、それらをユーザーに提示して、ユーザーの選択を返すことです。このフローに独自の質問を追加することはできません。ユーザーに何か尋ねる必要がある場合は、アプリケーションロジックで別途実行してください。

14 

15コールバックは無期限に保留中のままにすることができます。実行はコールバックが返されるまで一時停止したままであり、SDK はクエリ自体がキャンセルされた場合にのみ待機をキャンセルします。ユーザーがプロセスが合理的に実行し続けることができるより長く応答するのに時間がかかる可能性がある場合、TypeScript SDK は [`defer` フック決定](/ja/hooks#defer-a-tool-call-for-later)をサポートしており、プロセスを終了して後で永続化されたセッションから再開できます。このオプションは Python SDK では利用できません。

16 

17このガイドでは、各タイプのリクエストを検出し、適切に応答する方法を示します。

18 

19## Claude が入力を必要とする場合を検出する

20 

21クエリオプションで `canUseTool` コールバックを渡します。Claude がユーザー入力を必要とするたびにコールバックが発火し、ツール名と入力を引数として受け取ります。

22 

23<CodeGroup>

24 ```python Python theme={null}

25 async def handle_tool_request(tool_name, input_data, context):

26 # ユーザーにプロンプトを表示して、許可または拒否を返す

27 ...

28 

29 

30 options = ClaudeAgentOptions(can_use_tool=handle_tool_request)

31 ```

32 

33 ```typescript TypeScript theme={null}

34 async function handleToolRequest(toolName, input, options) {

35 // options には { signal: AbortSignal, suggestions?: PermissionUpdate[] } が含まれます

36 // ユーザーにプロンプトを表示して、許可または拒否を返す

37 }

38 

39 const options = { canUseTool: handleToolRequest };

40 ```

41</CodeGroup>

42 

43コールバックは 2 つのケースで発火します。

44 

451. **ツールが承認を必要とする場合**:Claude が [許可ルール](/ja/agent-sdk/permissions)またはモードによって自動承認されていないツールを使用したい場合。`tool_name` でツール(例:`"Bash"`、`"Write"`)を確認します。

462. **Claude が質問をする場合**:Claude が `AskUserQuestion` ツールを呼び出します。`tool_name == "AskUserQuestion"` をチェックして、異なる方法で処理します。`tools` 配列を指定する場合は、これが機能するように `AskUserQuestion` を含めます。詳細は [確認質問を処理する](#handle-clarifying-questions)を参照してください。

47 

48<Note>

49 ユーザーにプロンプトを表示せずにツールを自動的に許可または拒否するには、代わりに [フック](/ja/agent-sdk/hooks)を使用します。フックは `canUseTool` の前に実行され、独自のロジックに基づいてリクエストを許可、拒否、または変更できます。また、[`PermissionRequest` フック](/ja/agent-sdk/hooks#available-hooks)を使用して、Claude が承認を待っているときに外部通知(Slack、メール、プッシュ)を送信することもできます。

50</Note>

51 

52## ツール承認リクエストを処理する

53 

54クエリオプションで `canUseTool` コールバックを渡すと、Claude が自動承認されていないツールを使用したい場合に発火します。コールバックは 3 つの引数を受け取ります。

55 

56| 引数 | 説明 |

57| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

58| `toolName` | Claude が使用したいツールの名前(例:`"Bash"`、`"Write"`、`"Edit"`) |

59| `input` | Claude がツールに渡しているパラメーター。内容はツールによって異なります。 |

60| `options`(TS)/ `context`(Python) | 再度プロンプトを表示しないための提案された `PermissionUpdate` エントリを含むオプション `suggestions` とキャンセル信号を含む追加コンテキスト。TypeScript では、`signal` は `AbortSignal` です。Python では、信号フィールドは将来の使用のために予約されています。Python については [`ToolPermissionContext`](/ja/agent-sdk/python#toolpermissioncontext)を参照してください。 |

61 

62`input` オブジェクトにはツール固有のパラメーターが含まれます。一般的な例:

63 

64| ツール | 入力フィールド |

65| ------- | ------------------------------------- |

66| `Bash` | `command`、`description`、`timeout` |

67| `Write` | `file_path`、`content` |

68| `Edit` | `file_path`、`old_string`、`new_string` |

69| `Read` | `file_path`、`offset`、`limit` |

70 

71完全な入力スキーマについては SDK リファレンスを参照してください。[Python](/ja/agent-sdk/python#tool-input%2Foutput-types) | [TypeScript](/ja/agent-sdk/typescript#tool-input-types)。

72 

73この情報をユーザーに表示して、アクションを許可するか拒否するかを決定してから、適切な応答を返すことができます。

74 

75次の例では、Claude にテストファイルを作成して削除するよう要求します。Claude が各操作を試みるたびに、コールバックはツールリクエストをターミナルに出力し、y/n 承認を求めます。

76 

77<CodeGroup>

78 ```python Python theme={null}

79 import asyncio

80 

81 from claude_agent_sdk import ClaudeAgentOptions, ResultMessage, query

82 from claude_agent_sdk.types import (

83 HookMatcher,

84 PermissionResultAllow,

85 PermissionResultDeny,

86 ToolPermissionContext,

87 )

88 

89 

90 async def can_use_tool(

91 tool_name: str, input_data: dict, context: ToolPermissionContext

92 ) -> PermissionResultAllow | PermissionResultDeny:

93 # ツールリクエストを表示する

94 print(f"\nTool: {tool_name}")

95 if tool_name == "Bash":

96 print(f"Command: {input_data.get('command')}")

97 if input_data.get("description"):

98 print(f"Description: {input_data.get('description')}")

99 else:

100 print(f"Input: {input_data}")

101 

102 # ユーザーの承認を取得する

103 response = input("Allow this action? (y/n): ")

104 

105 # ユーザーの応答に基づいて許可または拒否を返す

106 if response.lower() == "y":

107 # 許可:ツールは元の(または変更された)入力で実行される

108 return PermissionResultAllow(updated_input=input_data)

109 else:

110 # 拒否:ツールは実行されず、Claude はメッセージを見る

111 return PermissionResultDeny(message="User denied this action")

112 

113 

114 # 必須の回避策:ダミーフックはストリームを canUseTool 用に開いたままにします

115 async def dummy_hook(input_data, tool_use_id, context):

116 return {"continue_": True}

117 

118 

119 async def prompt_stream():

120 yield {

121 "type": "user",

122 "message": {

123 "role": "user",

124 "content": "Create a test file in /tmp and then delete it",

125 },

126 }

127 

128 

129 async def main():

130 async for message in query(

131 prompt=prompt_stream(),

132 options=ClaudeAgentOptions(

133 can_use_tool=can_use_tool,

134 hooks={"PreToolUse": [HookMatcher(matcher=None, hooks=[dummy_hook])]},

135 ),

136 ):

137 if isinstance(message, ResultMessage) and message.subtype == "success":

138 print(message.result)

139 

140 

141 asyncio.run(main())

142 ```

143 

144 ```typescript TypeScript theme={null}

145 import { query } from "@anthropic-ai/claude-agent-sdk";

146 import * as readline from "readline";

147 

148 // ターミナルでユーザー入力を求めるヘルパー

149 function prompt(question: string): Promise<string> {

150 const rl = readline.createInterface({

151 input: process.stdin,

152 output: process.stdout

153 });

154 return new Promise((resolve) =>

155 rl.question(question, (answer) => {

156 rl.close();

157 resolve(answer);

158 })

159 );

160 }

161 

162 for await (const message of query({

163 prompt: "Create a test file in /tmp and then delete it",

164 options: {

165 canUseTool: async (toolName, input) => {

166 // ツールリクエストを表示する

167 console.log(`\nTool: ${toolName}`);

168 if (toolName === "Bash") {

169 console.log(`Command: ${input.command}`);

170 if (input.description) console.log(`Description: ${input.description}`);

171 } else {

172 console.log(`Input: ${JSON.stringify(input, null, 2)}`);

173 }

174 

175 // ユーザーの承認を取得する

176 const response = await prompt("Allow this action? (y/n): ");

177 

178 // ユーザーの応答に基づいて許可または拒否を返す

179 if (response.toLowerCase() === "y") {

180 // 許可:ツールは元の(または変更された)入力で実行される

181 return { behavior: "allow", updatedInput: input };

182 } else {

183 // 拒否:ツールは実行されず、Claude はメッセージを見る

184 return { behavior: "deny", message: "User denied this action" };

185 }

186 }

187 }

188 })) {

189 if ("result" in message) console.log(message.result);

190 }

191 ```

192</CodeGroup>

193 

194<Note>

195 Python では、`can_use_tool` は [ストリーミングモード](/ja/agent-sdk/streaming-vs-single-mode)と `{"continue_": True}` を返す `PreToolUse` フックが必要で、ストリームを開いたままにします。このフックがないと、許可コールバックが呼び出される前にストリームが閉じます。

196</Note>

197 

198この例では y/n フローを使用しており、`y` 以外の入力は拒否として扱われます。実際には、ユーザーがリクエストを変更したり、フィードバックを提供したり、Claude を完全にリダイレクトしたりできるより豊富な UI を構築する可能性があります。すべての応答方法については [ツールリクエストに応答する](#respond-to-tool-requests)を参照してください。

199 

200### ツールリクエストに応答する

201 

202コールバックは 2 つの応答タイプのいずれかを返します。

203 

204| 応答 | Python | TypeScript |

205| ------ | ------------------------------------------ | ------------------------------------- |

206| **許可** | `PermissionResultAllow(updated_input=...)` | `{ behavior: "allow", updatedInput }` |

207| **拒否** | `PermissionResultDeny(message=...)` | `{ behavior: "deny", message }` |

208 

209許可する場合、ツール入力(元の、または変更された)を渡します。拒否する場合、理由を説明するメッセージを提供します。Claude はこのメッセージを見て、アプローチを調整する可能性があります。

210 

211<CodeGroup>

212 ```python Python theme={null}

213 from claude_agent_sdk.types import PermissionResultAllow, PermissionResultDeny

214 

215 # ツールの実行を許可する

216 return PermissionResultAllow(updated_input=input_data)

217 

218 # ツールをブロックする

219 return PermissionResultDeny(message="User rejected this action")

220 ```

221 

222 ```typescript TypeScript theme={null}

223 // ツールの実行を許可する

224 return { behavior: "allow", updatedInput: input };

225 

226 // ツールをブロックする

227 return { behavior: "deny", message: "User rejected this action" };

228 ```

229</CodeGroup>

230 

231許可または拒否を超えて、ツールの入力を変更したり、Claude がアプローチを調整するのに役立つコンテキストを提供したりできます。

232 

233* **承認**:ツールを Claude がリクエストしたとおりに実行させる

234* **変更を加えて承認**:実行前に入力を変更する(例:パスをサニタイズ、制約を追加)

235* **拒否**:ツールをブロックして Claude に理由を伝える

236* **代替案を提案**:ブロックするが、ユーザーが望むものに向かって Claude をガイドする

237* **完全にリダイレクト**:[ストリーミング入力](/ja/agent-sdk/streaming-vs-single-mode)を使用して Claude に完全に新しい指示を送信する

238 

239<Tabs>

240 <Tab title="承認">

241 ユーザーはアクションをそのまま承認します。コールバックから `input` をそのまま渡し、ツールは Claude がリクエストしたとおりに実行されます。

242 

243 <CodeGroup>

244 ```python Python theme={null}

245 async def can_use_tool(tool_name, input_data, context):

246 print(f"Claude wants to use {tool_name}")

247 approved = await ask_user("Allow this action?")

248 

249 if approved:

250 return PermissionResultAllow(updated_input=input_data)

251 return PermissionResultDeny(message="User declined")

252 ```

253 

254 ```typescript TypeScript theme={null}

255 canUseTool: async (toolName, input) => {

256 console.log(`Claude wants to use ${toolName}`);

257 const approved = await askUser("Allow this action?");

258 

259 if (approved) {

260 return { behavior: "allow", updatedInput: input };

261 }

262 return { behavior: "deny", message: "User declined" };

263 };

264 ```

265 </CodeGroup>

266 </Tab>

267 

268 <Tab title="変更を加えて承認">

269 ユーザーは承認しますが、最初にリクエストを変更したいと考えています。ツールが実行される前に入力を変更できます。Claude は結果を見ますが、何かを変更したことは伝えられません。パラメーターをサニタイズ、制約を追加、またはアクセスをスコープするのに役立ちます。

270 

271 <CodeGroup>

272 ```python Python theme={null}

273 async def can_use_tool(tool_name, input_data, context):

274 if tool_name == "Bash":

275 # ユーザーが承認しましたが、すべてのコマンドをサンドボックスにスコープします

276 sandboxed_input = {**input_data}

277 sandboxed_input["command"] = input_data["command"].replace(

278 "/tmp", "/tmp/sandbox"

279 )

280 return PermissionResultAllow(updated_input=sandboxed_input)

281 return PermissionResultAllow(updated_input=input_data)

282 ```

283 

284 ```typescript TypeScript theme={null}

285 canUseTool: async (toolName, input) => {

286 if (toolName === "Bash") {

287 // ユーザーが承認しましたが、すべてのコマンドをサンドボックスにスコープします

288 const sandboxedInput = {

289 ...input,

290 command: input.command.replace("/tmp", "/tmp/sandbox")

291 };

292 return { behavior: "allow", updatedInput: sandboxedInput };

293 }

294 return { behavior: "allow", updatedInput: input };

295 };

296 ```

297 </CodeGroup>

298 </Tab>

299 

300 <Tab title="拒否">

301 ユーザーはこのアクションが実行されることを望んでいません。ツールをブロックして、理由を説明するメッセージを提供します。Claude はこのメッセージを見て、別のアプローチを試す可能性があります。

302 

303 <CodeGroup>

304 ```python Python theme={null}

305 async def can_use_tool(tool_name, input_data, context):

306 approved = await ask_user(f"Allow {tool_name}?")

307 

308 if not approved:

309 return PermissionResultDeny(message="User rejected this action")

310 return PermissionResultAllow(updated_input=input_data)

311 ```

312 

313 ```typescript TypeScript theme={null}

314 canUseTool: async (toolName, input) => {

315 const approved = await askUser(`Allow ${toolName}?`);

316 

317 if (!approved) {

318 return {

319 behavior: "deny",

320 message: "User rejected this action"

321 };

322 }

323 return { behavior: "allow", updatedInput: input };

324 };

325 ```

326 </CodeGroup>

327 </Tab>

328 

329 <Tab title="代替案を提案">

330 ユーザーはこの特定のアクションを望んでいませんが、別のアイデアがあります。ツールをブロックして、メッセージにガイダンスを含めます。Claude はこれを読んで、フィードバックに基づいて進行方法を決定します。

331 

332 <CodeGroup>

333 ```python Python theme={null}

334 async def can_use_tool(tool_name, input_data, context):

335 if tool_name == "Bash" and "rm" in input_data.get("command", ""):

336 # ユーザーは削除を望んでいません。代わりにアーカイブに圧縮することを提案します

337 return PermissionResultDeny(

338 message="User doesn't want to delete files. They asked if you could compress them into an archive instead."

339 )

340 return PermissionResultAllow(updated_input=input_data)

341 ```

342 

343 ```typescript TypeScript theme={null}

344 canUseTool: async (toolName, input) => {

345 if (toolName === "Bash" && input.command.includes("rm")) {

346 // ユーザーは削除を望んでいません。代わりにアーカイブに圧縮することを提案します

347 return {

348 behavior: "deny",

349 message:

350 "User doesn't want to delete files. They asked if you could compress them into an archive instead."

351 };

352 }

353 return { behavior: "allow", updatedInput: input };

354 };

355 ```

356 </CodeGroup>

357 </Tab>

358 

359 <Tab title="完全にリダイレクト">

360 方向の完全な変更(単なるナッジではなく)の場合は、[ストリーミング入力](/ja/agent-sdk/streaming-vs-single-mode)を使用して Claude に新しい指示を直接送信します。これは現在のツールリクエストをバイパスし、Claude に完全に新しい指示に従うように指示します。

361 </Tab>

362</Tabs>

363 

364## 確認質問を処理する

365 

366Claude が複数の有効なアプローチを持つタスクについてさらに方向性が必要な場合、`AskUserQuestion` ツールを呼び出します。これは `toolName` が `AskUserQuestion` に設定された `canUseTool` コールバックをトリガーします。入力には Claude の質問が複数選択肢として含まれており、これらをユーザーに表示して、ユーザーの選択を返します。

367 

368<Tip>

369 確認質問は特に [`plan` モード](/ja/agent-sdk/permissions#plan-mode-plan)で一般的です。Claude はコードベースを探索し、計画を提案する前に質問をします。これにより、プラン モードは Claude が変更を加える前に要件を収集したい対話的なワークフローに最適です。

370</Tip>

371 

372次のステップは、確認質問を処理する方法を示しています。

373 

374<Steps>

375 <Step title="canUseTool コールバックを渡す">

376 クエリオプションで `canUseTool` コールバックを渡します。デフォルトでは、`AskUserQuestion` が利用可能です。Claude の機能を制限するために `tools` 配列を指定する場合(例:`Read`、`Glob`、`Grep` のみを持つ読み取り専用エージェント)、その配列に `AskUserQuestion` を含めます。そうしないと、Claude は確認質問をすることができません。

377 

378 <CodeGroup>

379 ```python Python theme={null}

380 async for message in query(

381 prompt="Analyze this codebase",

382 options=ClaudeAgentOptions(

383 # ツールリストに AskUserQuestion を含める

384 tools=["Read", "Glob", "Grep", "AskUserQuestion"],

385 can_use_tool=can_use_tool,

386 ),

387 ):

388 print(message)

389 ```

390 

391 ```typescript TypeScript theme={null}

392 for await (const message of query({

393 prompt: "Analyze this codebase",

394 options: {

395 // ツールリストに AskUserQuestion を含める

396 tools: ["Read", "Glob", "Grep", "AskUserQuestion"],

397 canUseTool: async (toolName, input) => {

398 // ここで確認質問を処理する

399 }

400 }

401 })) {

402 console.log(message);

403 }

404 ```

405 </CodeGroup>

406 </Step>

407 

408 <Step title="AskUserQuestion を検出する">

409 コールバックで、`toolName` が `AskUserQuestion` と等しいかどうかをチェックして、他のツールとは異なる方法で処理します。

410 

411 <CodeGroup>

412 ```python Python theme={null}

413 async def can_use_tool(tool_name: str, input_data: dict, context):

414 if tool_name == "AskUserQuestion":

415 # ユーザーから回答を収集するための実装

416 return await handle_clarifying_questions(input_data)

417 # 他のツールを通常どおり処理する

418 return await prompt_for_approval(tool_name, input_data)

419 ```

420 

421 ```typescript TypeScript theme={null}

422 canUseTool: async (toolName, input) => {

423 if (toolName === "AskUserQuestion") {

424 // ユーザーから回答を収集するための実装

425 return handleClarifyingQuestions(input);

426 }

427 // 他のツールを通常どおり処理する

428 return promptForApproval(toolName, input);

429 };

430 ```

431 </CodeGroup>

432 </Step>

433 

434 <Step title="質問入力を解析する">

435 入力には Claude の質問が `questions` 配列に含まれています。各質問には `question`(表示するテキスト)、`options`(選択肢)、`multiSelect`(複数選択が許可されているかどうか)があります。

436 

437 ```json theme={null}

438 {

439 "questions": [

440 {

441 "question": "How should I format the output?",

442 "header": "Format",

443 "options": [

444 { "label": "Summary", "description": "Brief overview" },

445 { "label": "Detailed", "description": "Full explanation" }

446 ],

447 "multiSelect": false

448 },

449 {

450 "question": "Which sections should I include?",

451 "header": "Sections",

452 "options": [

453 { "label": "Introduction", "description": "Opening context" },

454 { "label": "Conclusion", "description": "Final summary" }

455 ],

456 "multiSelect": true

457 }

458 ]

459 }

460 ```

461 

462 完全なフィールド説明については [質問形式](#question-format)を参照してください。

463 </Step>

464 

465 <Step title="ユーザーから回答を収集する">

466 質問をユーザーに提示して、ユーザーの選択を収集します。これをどのように行うかは、アプリケーションによって異なります。ターミナルプロンプト、Web フォーム、モバイルダイアログなど。

467 </Step>

468 

469 <Step title="Claude に回答を返す">

470 `answers` オブジェクトをレコードとして構築します。各キーは `question` テキストで、各値は選択されたオプションの `label` です。

471 

472 | 質問オブジェクトから | 使用方法 |

473 | ------------------------------------------------------- | ---- |

474 | `question` フィールド(例:`"How should I format the output?"`) | キー |

475 | 選択されたオプションの `label` フィールド(例:`"Summary"`) | 値 |

476 

477 複数選択質問の場合、ラベルの配列を渡すか、`", "` で結合します。[自由テキスト入力をサポート](#support-free-text-input)する場合は、ユーザーのカスタムテキストを値として使用します。

478 

479 <CodeGroup>

480 ```python Python theme={null}

481 return PermissionResultAllow(

482 updated_input={

483 "questions": input_data.get("questions", []),

484 "answers": {

485 "How should I format the output?": "Summary",

486 "Which sections should I include?": ["Introduction", "Conclusion"],

487 },

488 }

489 )

490 ```

491 

492 ```typescript TypeScript theme={null}

493 return {

494 behavior: "allow",

495 updatedInput: {

496 questions: input.questions,

497 answers: {

498 "How should I format the output?": "Summary",

499 "Which sections should I include?": "Introduction, Conclusion"

500 }

501 }

502 };

503 ```

504 </CodeGroup>

505 </Step>

506</Steps>

507 

508### 質問形式

509 

510入力には Claude が生成した質問が `questions` 配列に含まれています。各質問には以下のフィールドがあります。

511 

512| フィールド | 説明 |

513| ------------- | -------------------------------------------------------------------------------------------------------------------------------- |

514| `question` | 表示する完全な質問テキスト |

515| `header` | 質問の短いラベル(最大 12 文字) |

516| `options` | 2~4 個の選択肢の配列。各選択肢には `label` と `description` があります。TypeScript:オプションで `preview`(下記の [オプションプレビュー](#option-previews-type-script)を参照) |

517| `multiSelect` | `true` の場合、ユーザーは複数のオプションを選択できます |

518 

519コールバックが受け取る構造:

520 

521```json theme={null}

522{

523 "questions": [

524 {

525 "question": "How should I format the output?",

526 "header": "Format",

527 "options": [

528 { "label": "Summary", "description": "Brief overview of key points" },

529 { "label": "Detailed", "description": "Full explanation with examples" }

530 ],

531 "multiSelect": false

532 }

533 ]

534}

535```

536 

537#### オプションプレビュー(TypeScript)

538 

539`toolConfig.askUserQuestion.previewFormat` は各オプションに `preview` フィールドを追加して、アプリがラベルと一緒に視覚的なモックアップを表示できるようにします。この設定がない場合、Claude はプレビューを生成せず、フィールドは存在しません。

540 

541| `previewFormat` | `preview` に含まれるもの |

542| :-------------- | :---------------------------------------------------------------------------------- |

543| 未設定(デフォルト) | フィールドは存在しません。Claude はプレビューを生成しません。 |

544| `"markdown"` | ASCII アートとフェンスコードブロック |

545| `"html"` | スタイル付き `<div>` フラグメント(SDK はコールバックが実行される前に `<script>`、`<style>`、`<!DOCTYPE>` を拒否します) |

546 

547形式はセッション内のすべての質問に適用されます。Claude は視覚的な比較が役立つオプション(レイアウト選択、配色)に `preview` を含め、役立たないオプション(はい/いいえの確認、テキストのみの選択)では省略します。レンダリング前に `undefined` をチェックしてください。

548 

549```typescript theme={null}

550import { query } from "@anthropic-ai/claude-agent-sdk";

551 

552for await (const message of query({

553 prompt: "Help me choose a card layout",

554 options: {

555 toolConfig: {

556 askUserQuestion: { previewFormat: "html" }

557 },

558 canUseTool: async (toolName, input) => {

559 // input.questions[].options[].preview は HTML 文字列または undefined です

560 return { behavior: "allow", updatedInput: input };

561 }

562 }

563})) {

564 // ...

565}

566```

567 

568HTML プレビュー付きのオプション:

569 

570```json theme={null}

571{

572 "label": "Compact",

573 "description": "Title and metric value only",

574 "preview": "<div style=\"padding:12px;border:1px solid #ddd;border-radius:8px\"><div style=\"font-size:12px;color:#666\">Active users</div><div style=\"font-size:28px;font-weight:600\">1,284</div></div>"

575}

576```

577 

578### 応答形式

579 

580各質問の `question` フィールドを選択されたオプションの `label` にマップする `answers` オブジェクトを返します。

581 

582| フィールド | 説明 |

583| ----------- | ------------------------------ |

584| `questions` | 元の質問配列をパススルーする(ツール処理に必須) |

585| `answers` | キーが質問テキストで、値が選択されたラベルであるオブジェクト |

586 

587複数選択質問の場合、ラベルの配列を渡すか、`", "` で結合します。自由テキスト入力の場合は、ユーザーのカスタムテキストを直接使用します。

588 

589```json theme={null}

590{

591 "questions": [

592 // ...

593 ],

594 "answers": {

595 "How should I format the output?": "Summary",

596 "Which sections should I include?": ["Introduction", "Conclusion"]

597 }

598}

599```

600 

601#### 自由テキスト入力をサポートする

602 

603Claude の定義済みオプションがユーザーが望むものをカバーしていない場合があります。ユーザーが独自の回答を入力できるようにするには:

604 

605* Claude のオプションの後に追加の「その他」選択肢を表示して、テキスト入力を受け入れます

606* ユーザーのカスタムテキストを回答値として使用します(「その他」という単語ではなく)

607 

608完全な実装については、下記の [完全な例](#complete-example)を参照してください。

609 

610### 完全な例

611 

612Claude は、タスクを進めるためにユーザー入力が必要な場合に確認質問をします。たとえば、モバイルアプリのテックスタックを決定するのに役立つよう求められた場合、Claude はクロスプラットフォーム対応 vs ネイティブ、バックエンド設定、またはターゲットプラットフォームについて質問する可能性があります。これらの質問は、Claude がユーザーの設定に合致する決定を下すのに役立ちます。推測ではなく。

613 

614この例は、ターミナルアプリケーションでこれらの質問を処理します。各ステップで何が起こるかは以下の通りです。

615 

6161. **リクエストをルーティングする**:`canUseTool` コールバックはツール名が `"AskUserQuestion"` であるかどうかをチェックし、専用ハンドラーにルーティングします

6172. **質問を表示する**:ハンドラーは `questions` 配列をループして、各質問を番号付きオプションで出力します

6183. **入力を収集する**:ユーザーはオプションを選択する番号を入力するか、自由テキストを直接入力できます(例:「jquery」、「i don't know」)

6194. **回答をマップする**:コードは入力が数値(オプションのラベルを使用)か自由テキスト(テキストを直接使用)かをチェックします

6205. **Claude に返す**:応答には元の `questions` 配列と `answers` マッピングの両方が含まれます

621 

622<CodeGroup>

623 ```python Python theme={null}

624 import asyncio

625 

626 from claude_agent_sdk import ClaudeAgentOptions, ResultMessage, query

627 from claude_agent_sdk.types import HookMatcher, PermissionResultAllow

628 

629 

630 def parse_response(response: str, options: list) -> str:

631 """ユーザー入力をオプション番号または自由テキストとして解析します。"""

632 try:

633 indices = [int(s.strip()) - 1 for s in response.split(",")]

634 labels = [options[i]["label"] for i in indices if 0 <= i < len(options)]

635 return ", ".join(labels) if labels else response

636 except ValueError:

637 return response

638 

639 

640 async def handle_ask_user_question(input_data: dict) -> PermissionResultAllow:

641 """Claude の質問を表示してユーザーの回答を収集します。"""

642 answers = {}

643 

644 for q in input_data.get("questions", []):

645 print(f"\n{q['header']}: {q['question']}")

646 

647 options = q["options"]

648 for i, opt in enumerate(options):

649 print(f" {i + 1}. {opt['label']} - {opt['description']}")

650 if q.get("multiSelect"):

651 print(" (Enter numbers separated by commas, or type your own answer)")

652 else:

653 print(" (Enter a number, or type your own answer)")

654 

655 response = input("Your choice: ").strip()

656 answers[q["question"]] = parse_response(response, options)

657 

658 return PermissionResultAllow(

659 updated_input={

660 "questions": input_data.get("questions", []),

661 "answers": answers,

662 }

663 )

664 

665 

666 async def can_use_tool(

667 tool_name: str, input_data: dict, context

668 ) -> PermissionResultAllow:

669 # AskUserQuestion を質問ハンドラーにルーティングする

670 if tool_name == "AskUserQuestion":

671 return await handle_ask_user_question(input_data)

672 # この例では他のツールを自動承認する

673 return PermissionResultAllow(updated_input=input_data)

674 

675 

676 async def prompt_stream():

677 yield {

678 "type": "user",

679 "message": {

680 "role": "user",

681 "content": "Help me decide on the tech stack for a new mobile app",

682 },

683 }

684 

685 

686 # 必須の回避策:ダミーフックはストリームを canUseTool 用に開いたままにします

687 async def dummy_hook(input_data, tool_use_id, context):

688 return {"continue_": True}

689 

690 

691 async def main():

692 async for message in query(

693 prompt=prompt_stream(),

694 options=ClaudeAgentOptions(

695 can_use_tool=can_use_tool,

696 hooks={"PreToolUse": [HookMatcher(matcher=None, hooks=[dummy_hook])]},

697 ),

698 ):

699 if isinstance(message, ResultMessage) and message.subtype == "success":

700 print(message.result)

701 

702 

703 asyncio.run(main())

704 ```

705 

706 ```typescript TypeScript theme={null}

707 import { query } from "@anthropic-ai/claude-agent-sdk";

708 import * as readline from "readline/promises";

709 

710 // ターミナルでユーザー入力を求めるヘルパー

711 async function prompt(question: string): Promise<string> {

712 const rl = readline.createInterface({ input: process.stdin, output: process.stdout });

713 const answer = await rl.question(question);

714 rl.close();

715 return answer;

716 }

717 

718 // ユーザー入力をオプション番号または自由テキストとして解析する

719 function parseResponse(response: string, options: any[]): string {

720 const indices = response.split(",").map((s) => parseInt(s.trim()) - 1);

721 const labels = indices

722 .filter((i) => !isNaN(i) && i >= 0 && i < options.length)

723 .map((i) => options[i].label);

724 return labels.length > 0 ? labels.join(", ") : response;

725 }

726 

727 // Claude の質問を表示してユーザーの回答を収集する

728 async function handleAskUserQuestion(input: any) {

729 const answers: Record<string, string> = {};

730 

731 for (const q of input.questions) {

732 console.log(`\n${q.header}: ${q.question}`);

733 

734 const options = q.options;

735 options.forEach((opt: any, i: number) => {

736 console.log(` ${i + 1}. ${opt.label} - ${opt.description}`);

737 });

738 if (q.multiSelect) {

739 console.log(" (Enter numbers separated by commas, or type your own answer)");

740 } else {

741 console.log(" (Enter a number, or type your own answer)");

742 }

743 

744 const response = (await prompt("Your choice: ")).trim();

745 answers[q.question] = parseResponse(response, options);

746 }

747 

748 // Claude に回答を返す(ツール処理に元の質問を含める必須)

749 return {

750 behavior: "allow",

751 updatedInput: { questions: input.questions, answers }

752 };

753 }

754 

755 async function main() {

756 for await (const message of query({

757 prompt: "Help me decide on the tech stack for a new mobile app",

758 options: {

759 canUseTool: async (toolName, input) => {

760 // AskUserQuestion を質問ハンドラーにルーティングする

761 if (toolName === "AskUserQuestion") {

762 return handleAskUserQuestion(input);

763 }

764 // この例では他のツールを自動承認する

765 return { behavior: "allow", updatedInput: input };

766 }

767 }

768 })) {

769 if ("result" in message) console.log(message.result);

770 }

771 }

772 

773 main();

774 ```

775</CodeGroup>

776 

777## 制限事項

778 

779* **サブエージェント**:`AskUserQuestion` は現在、Agent ツール経由で生成されたサブエージェントでは利用できません

780* **質問の制限**:各 `AskUserQuestion` 呼び出しは 1~4 個の質問と 2~4 個のオプションをサポートします

781 

782## ユーザー入力を取得する他の方法

783 

784`canUseTool` コールバックと `AskUserQuestion` ツールはほとんどの承認と明確化のシナリオをカバーしていますが、SDK はユーザーから入力を取得する他の方法を提供しています。

785 

786### ストリーミング入力

787 

788以下が必要な場合は [ストリーミング入力](/ja/agent-sdk/streaming-vs-single-mode)を使用します。

789 

790* **エージェントをタスク途中で中断する**:Claude が作業中にキャンセル信号を送信するか、方向を変更する

791* **追加コンテキストを提供する**:Claude が尋ねるのを待たずに、Claude が必要とする情報を追加する

792* **チャットインターフェースを構築する**:長時間実行される操作中にユーザーがエージェントと対話できるようにする

793 

794ストリーミング入力は、承認チェックポイントだけでなく、実行全体を通じてユーザーがエージェントと対話する会話型 UI に最適です。

795 

796### カスタムツール

797 

798以下が必要な場合は [カスタムツール](/ja/agent-sdk/custom-tools)を使用します。

799 

800* **構造化入力を収集する**:`AskUserQuestion` の複数選択形式を超えたフォーム、ウィザード、または複数ステップのワークフローを構築する

801* **外部承認システムを統合する**:既存のチケット、ワークフロー、または承認プラットフォームに接続する

802* **ドメイン固有の対話を実装する**:コードレビューインターフェースやデプロイメントチェックリストなど、アプリケーションのニーズに合わせたツールを作成する

803 

804カスタムツールは対話を完全に制御できますが、組み込みの `canUseTool` コールバックを使用するよりも実装作業が必要です。

805 

806## 関連リソース

807 

808* [権限を設定する](/ja/agent-sdk/permissions):権限モードとルールを設定する

809* [フックで実行を制御する](/ja/agent-sdk/hooks):エージェントライフサイクルの重要なポイントでカスタムコードを実行する

810* [TypeScript SDK リファレンス](/ja/agent-sdk/typescript#canusetool):完全な canUseTool API ドキュメント

Details

39 39 

40分類器は `.claude/settings.json` の共有プロジェクト設定から `autoMode` を読み込まないため、チェックインされたリポジトリは独自の許可ルールを注入できません。40分類器は `.claude/settings.json` の共有プロジェクト設定から `autoMode` を読み込まないため、チェックインされたリポジトリは独自の許可ルールを注入できません。

41 41 

42各スコープのエントリは結合されます。開発者は個人エントリで `environment`、`allow`、`soft_deny` を拡張できますが、管理設定が提供するエントリを削除することはできません。許可ルールは分類器内のブロックルールの例外として機能するため、開発者が追加した `allow` エントリは組織の `soft_deny` エントリをオーバーライドできます。組み合わせは加算的であり、ハードポリシー境界ではありません。42各スコープのエントリは結合されます。開発者は個人エントリで `environment`、`allow`、`soft_deny`、および `hard_deny` を拡張できますが、管理設定が提供するエントリを削除することはできません。許可ルールは分類器内のソフトブロックルールの例外として機能するため、開発者が追加した `allow` エントリは組織の `soft_deny` エントリをオーバーライドできます。組み合わせは加算的であり、ハードポリシー境界ではありません。

43 43 

44<Note>44<Note>

45 分類器は[権限システム](/ja/permissions)の後に実行される 2 番目のゲートです。ユーザーの意図または分類器の設定に関係なく、実行してはいけないアクションについては、管理設定で `permissions.deny` を使用します。これは分類器が参照される前にアクションをブロックし、オーバーライドできません。45 分類器は[権限システム](/ja/permissions)の後に実行される 2 番目のゲートです。ユーザーの意図または分類器の設定に関係なく、実行してはいけないアクションについては、管理設定で `permissions.deny` を使用します。これは分類器が参照される前にアクションをブロックし、オーバーライドできません。


99 99 

100## ブロックルールと許可ルールをオーバーライドする100## ブロックルールと許可ルールをオーバーライドする

101 101 

1022 つの追加フィールドを使用すると、分類器の組み込みルールリストを置き換えることができます。`autoMode.soft_deny` はブロックされる内容を制御し、`autoMode.allow` は適用される例外を制御します。各フィールドは散文説明の配列であり自然言語ルールとして読み込まれます。`autoMode.deny` フィールドはありません意図に関係なくアクションをハードブロックするには分類器の前に実行される [`permissions.deny`](/ja/permissions) を使用します。1023 つの追加フィールドを使用すると、分類器の組み込みルールリストを置き換えることができます。`autoMode.hard_deny` は無条件のセキュリティ境界用、`autoMode.soft_deny` はユーザーの意図でクリアできる破壊的なアクション用、`autoMode.allow` は例外用です各フィールドは散文説明の配列であり自然言語ルールとして読み込まれます。分類器の前に実行されるツールパターンベースのハードブロックについては、[`permissions.deny`](/ja/permissions) を使用します。

103 103 

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

105 105 

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

107* `allow` ルールが一致するブロックを例外としてオーバーライド107* `soft_deny` ルールが次にブロックします。ユーザーの意図と `allow` 例外はこれらをオーバーライドできます。

108* 明示的なユーザーの意図が両方をオーバーライド。ユーザーのメッセージが Claude が実行しようとしている正確なアクションを直接かつ具体的に説明する場合、`soft_deny` ルールが一致しても分類器はそれを許可します108* `allow` ルールは一致する `soft_deny` ルールを例外としてオーバーライドします。

109* 明示的なユーザーの意図が残りのソフトブロックをオーバーライドします。ユーザーのメッセージが Claude が実行しようとしている正確なアクションを直接かつ具体的に説明する場合、`soft_deny` ルールが一致しても分類器はそれを許可します。

109 110 

110一般的なリクエストは明示的な意図としてカウントされません。Claude に「リポジトリをクリーンアップする」ように依頼することは force push を認可しませんが、「このブランチを force push する」ように依頼することは認可します。111一般的なリクエストは明示的な意図としてカウントされません。Claude に「リポジトリをクリーンアップする」ように依頼することは force push を認可しませんが、「このブランチを force push する」ように依頼することは認可します。

111 112 

112緩和するには、分類器がデフォルトの例外がカバーしていないルーチンパターンを繰り返しフラグする場合、`allow` に追加します。厳しくするには、環境に固有で、デフォルトが見落としているリスクについて `soft_deny` に追加します。組み込みルールを保持しながら独自のルールを追加するには、配列にリテラル文字列 `"$defaults"` を含めます。デフォルトルールはその位置に挿入されるため、カスタムルールはそれらの前後に配置でき、リリース全体でビルトインリストが変更されるにつれて更新を継続して継承します。113緩和するには、分類器がデフォルトの例外がカバーしていないルーチンパターンを繰り返しフラグする場合、`allow` に追加します。厳しくするには、環境に固有で、デフォルトが見落としているリスクについて `soft_deny` に追加するか、絶対に越えてはいけないセキュリティ境界について `hard_deny` に追加します。組み込みルールを保持しながら独自のルールを追加するには、配列にリテラル文字列 `"$defaults"` を含めます。デフォルトルールはその位置に挿入されるため、カスタムルールはそれらの前後に配置でき、リリース全体でビルトインリストが変更されるにつれて更新を継続して継承します。

113 114 

114```json theme={null}115```json theme={null}

115{116{


127 "$defaults",128 "$defaults",

128 "Never run database migrations outside the migrations CLI, even against dev databases",129 "Never run database migrations outside the migrations CLI, even against dev databases",

129 "Never modify files under infra/terraform/prod/: production infrastructure changes go through the review workflow"130 "Never modify files under infra/terraform/prod/: production infrastructure changes go through the review workflow"

131 ],

132 "hard_deny": [

133 "$defaults",

134 "Never send repository contents to third-party code-review APIs"

130 ]135 ]

131 }136 }

132}137}

133```138```

134 139 

135<Danger>140<Danger>

136 `environment`、`allow`、`soft_deny` のいずれかを `"$defaults"` なしで設定すると、そのセクション全体のデフォルトリストが置き換わります。単一のエントリで `soft_deny` を設定し、`"$defaults"` を省略するとすべての組み込みブロックルール(force push、データ流出、`curl | bash`、本番環境へのデプロイ、その他すべてのデフォルトブロックルール)が破棄されて許可されます。`"$defaults"` を省略するのは、リストの完全な所有権を取得する意図がある場合のみです。その場合、`claude auto-mode defaults` を実行して組み込みルールを出力し、それらを設定ファイルにコピーしてから各ルールを独自のパイプラインとリスク許容度に対して確認します141 `environment`、`allow`、`soft_deny`、または `hard_deny` のいずれかを `"$defaults"` なしで設定すると、そのセクション全体のデフォルトリストが置き換わります。`"$defaults"` なしの `soft_deny` 配列は、force push、`curl | bash`、本番環境へのデプロイを含むすべての組み込みソフトブロックルールを破棄します。`"$defaults"` なしの `hard_deny` 配列は組み込みのデータ流出とセーフティチェックバイパスルールを破棄します

137</Danger>142</Danger>

138 143 

139各セクションは独立して評価されるため、`environment` のみを設定すると、デフォルトの `allow` および `soft_deny` リストはそのままになります。144各セクションは独立して評価されるため、`environment` のみを設定すると、デフォルトの `allow`、`soft_deny`、および `hard_deny` リストはそのままになります。`"$defaults"` は、リストの完全な所有権を取得する意図がある場合のみ省略します。その場合、`claude auto-mode defaults` を実行して組み込みルールを出力し、それらを設定ファイルにコピーしてから、各ルールを独自のパイプラインとリスク許容度に対して確認します。

140 145 

141## デフォルトと有効な設定を確認する146## デフォルトと有効な設定を確認する

142 147 

1433 つの CLI サブコマンドは、設定の検査と検証に役立ちます。1483 つの CLI サブコマンドは、設定の検査と検証に役立ちます。

144 149 

145組み込みの `environment`、`allow`、`soft_deny` ルールを JSON として出力します。150組み込みの `environment`、`allow`、`soft_deny`、および `hard_deny` ルールを JSON として出力します。

146 151 

147```bash theme={null}152```bash theme={null}

148claude auto-mode defaults153claude auto-mode defaults


154claude auto-mode config159claude auto-mode config

155```160```

156 161 

157カスタム `allow` および `soft_deny` ルールに関する AI フィードバックを取得します。162カスタム `allow`、`soft_deny`、および `hard_deny` ルールに関する AI フィードバックを取得します。

158 163 

159```bash theme={null}164```bash theme={null}

160claude auto-mode critique165claude auto-mode critique

commands.md +68 −67

Details

37</Note>37</Note>

38 38 

39| コマンド | 目的 |39| コマンド | 目的 |

40| :---------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |40| :---------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

41| `/add-dir <path>` | 現在のセッション中にファイルアクセス用の作業ディレクトリを追加。ほとんどの `.claude/` 設定は追加されたディレクトリから[検出されません](/ja/permissions#additional-directories-grant-file-access-not-configuration)。後で `--continue` または `--resume` を使用して、追加されたディレクトリからセッションを再開できます |41| `/add-dir <path>` | 現在のセッション中にファイルアクセス用の作業ディレクトリを追加します。ほとんどの `.claude/` 設定は追加されたディレクトリから[検出されません](/ja/permissions#additional-directories-grant-file-access-not-configuration)。後で `--continue` または `--resume` を使用して、追加されたディレクトリからセッションを再開できます |

42| `/agents` | [エージェント](/ja/sub-agents)設定を管理 |42| `/agents` | [エージェント](/ja/sub-agents)設定を管理します |

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

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

45| `/branch [name]` | この時点で現在の会話のブランチを作成。ブランチに切り替え、元の会話を保持します。`/resume` で戻ることができます。エイリアス: `/fork`。[`CLAUDE_CODE_FORK_SUBAGENT`](/ja/env-vars) が設定されている場合、`/fork` は代わりに[フォークされたサブエージェント](/ja/sub-agents#fork-the-current-conversation)を生成し、このコマンドのエイリアスではなくなります |45| `/branch [name]` | この時点で現在の会話のブランチを作成します。ブランチに切り替え、元の会話を保持します。`/resume` で戻ることができます。エイリアス: `/fork`。[`CLAUDE_CODE_FORK_SUBAGENT`](/ja/env-vars) が設定されている場合、`/fork` は代わりに[フォークされたサブエージェント](/ja/sub-agents#fork-the-current-conversation)を生成し、このコマンドのエイリアスではなくなります |

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

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

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

49| `/clear` | 空のコンテキストで新しい会話を開始。前の会話は `/resume` で利用可能なままです。同じ会話を続けながらコンテキストを解放するには、代わりに `/compact` を使用してください。エイリアス: `/reset`、`/new` |49| `/clear [name]` | 空のコンテキストで新しい会話を開始します。前の会話は `/resume` で利用可能なままです。前の会話にラベルを付けるために名前を渡します。`/resume` ピッカーで。同じ会話を続けながらコンテキストを解放するには、代わりに `/compact` を使用してください。エイリアス: `/reset`、`/new` |

50| `/color [color\|default]` | 現在のセッションのプロンプトバーの色を設定。利用可能な色: `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。`default` を使用してリセット。引数なしで実行するとランダムな色を選択します。[リモートコントロール](/ja/remote-control)が接続されている場合、色は claude.ai/code に同期されます |50| `/color [color\|default]` | 現在のセッションのプロンプトバーの色を設定します。利用可能な色: `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink`、`cyan`。`default` を使用してリセットするか、引数なしで実行するとランダムな色を選択します。[リモートコントロール](/ja/remote-control)が接続されている場合、色は claude.ai/code に同期されます |

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

52| `/config` | [設定](/ja/settings)インターフェースを開いて、テーマ、モデル、[出力スタイル](/ja/output-styles)、およびその他の設定を調整。エイリアス: `/settings` |52| `/config` | [設定](/ja/settings)インターフェースを開いて、テーマ、モデル、[出力スタイル](/ja/output-styles)、およびその他の設定を調整します。エイリアス: `/settings` |

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

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

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

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

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

58| `/diff` | コミットされていない変更と各ターンの diff を表示するインタラクティブ diff ビューアを開きます。左右矢印を使用して現在の git diff と個別の Claude ターンを切り替え、上下矢印でファイルをブラウズします |58| `/diff` | コミットされていない変更と各ターンの diff を表示するインタラクティブ diff ビューアを開きます。左右矢印を使用して現在の git diff と個別の Claude ターンを切り替え、上下矢印でファイルをブラウズします |

59| `/doctor` | Claude Code のインストールと設定を診断および検証。結果はステータスアイコン付きで表示されます。`f` を押して Claude に報告された問題を修正させます |59| `/doctor` | Claude Code のインストールと設定を診断および検証します。結果はステータスアイコン付きで表示されます。`f` を押して Claude に報告された問題を修正させます |

60| `/effort [level\|auto]` | モデルの[努力レベル](/ja/model-config#adjust-effort-level)を設定。`low`、`medium`、`high`、`xhigh`、または `max` を受け入れます。利用可能なレベルはモデルに依存し、`max` はセッションのみです。`auto` はモデルのデフォルトにリセットします。引数なしで、インタラクティブスライダーを開きます。左右矢印でレベルを選択し、`Enter` で適用します。現在の応答の完了を待たずに即座に有効になります |60| `/effort [level\|auto]` | モデルの[努力レベル](/ja/model-config#adjust-effort-level)を設定します。`low`、`medium`、`high`、`xhigh`、または `max` を受け入れます。利用可能なレベルはモデルに依存し、`max` はセッションのみです。`auto` はモデルのデフォルトにリセットします。引数なしで、インタラクティブスライダーを開きます。左右矢印でレベルを選択し、`Enter` で適用します。現在の応答の完了を待たずに即座に有効になります |

61| `/exit` | CLI を終了。エイリアス: `/quit` |61| `/exit` | CLI を終了します。エイリアス: `/quit` |

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

63| `/extra-usage` | レート制限に達したときに作業を続行するための追加使用量を構成 |63| `/extra-usage` | レート制限に達したときに作業を続行するための追加使用量を構成します |

64| `/fast [on\|off]` | [高速モード](/ja/fast-mode)のオン/オフを切り替え |64| `/fast [on\|off]` | [高速モード](/ja/fast-mode)のオン/オフを切り替えます |

65| `/feedback [report]` | Claude Code に関するフィードバックを送信。エイリアス: `/bug` |65| `/feedback [report]` | Claude Code に関するフィードバックを送信します。エイリアス: `/bug` |

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

67| `/focus` | フォーカスビューを切り替えます。最後のプロンプト、編集 diffstats を含む 1 行のツール呼び出し要約、および最終応答のみを表示します。選択は複数セッション間で保持されます。設定で [`viewMode`](/ja/settings#available-settings) を設定してオーバーライドします。[フルスクリーンレンダリング](/ja/fullscreen)でのみ利用可能です |67| `/focus` | フォーカスビューを切り替えます。最後のプロンプト、編集 diffstats を含む 1 行のツール呼び出し要約、および最終応答のみを表示します。選択は複数セッション間で保持されます。設定で [`viewMode`](/ja/settings#available-settings) を設定してオーバーライドします。[フルスクリーンレンダリング](/ja/fullscreen)でのみ利用可能です |

68| `/heapdump` | JavaScript ヒープスナップショットとメモリ分析を `~/Desktop` に書き込んで、高いメモリ使用量を診断します。Linux で Desktop フォルダがない場合はホームディレクトリに書き込みます。[トラブルシューティング](/ja/troubleshooting#high-cpu-or-memory-usage)を参照してください |68| `/heapdump` | JavaScript ヒープスナップショットとメモリ分析を `~/Desktop` に書き込んで、高いメモリ使用量を診断します。Linux で Desktop フォルダがない場合はホームディレクトリに書き込みます。[トラブルシューティング](/ja/troubleshooting#high-cpu-or-memory-usage)を参照してください |

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

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

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

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

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

74| `/install-github-app` | リポジトリ用の [Claude GitHub Actions](/ja/github-actions) アプリをセットアップ。リポジトリを選択して統合を構成するプロセスをガイドします |74| `/install-github-app` | リポジトリ用の [Claude GitHub Actions](/ja/github-actions) アプリをセットアップします。リポジトリを選択して統合を構成するプロセスをガイドします |

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

76| `/keybindings` | キーバインディング設定ファイルを開くか作成 |76| `/keybindings` | キーバインディング設定ファイルを開くか作成します |

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

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

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

80| `/mcp` | MCP サーバー接続と OAuth 認証を管理 |80| `/mcp` | MCP サーバー接続と OAuth 認証を管理します |

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

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

83| `/model [model]` | AI モデルを選択または変更。サポートしているモデルの場合、左右矢印を使用して[努力レベルを調整](/ja/model-config#adjust-effort-level)します。引数なしで、会話に前の出力がある場合に確認を求めるピッカーを開きます。次の応答はキャッシュされたコンテキストなしで完全な履歴を再読み込みするためです。確認されると、現在の応答の完了を待たずに変更が適用されます |83| `/model [model]` | AI モデルを選択または変更します。サポートしているモデルの場合、左右矢印を使用して[努力レベルを調整](/ja/model-config#adjust-effort-level)します。引数なしで、会話に前の出力がある場合に確認を求めるピッカーを開きます。次の応答はキャッシュされたコンテキストなしで完全な履歴を再読み込みするためです。確認されると、現在の応答の完了を待たずに変更が適用されます |

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

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

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

87| `/plugin` | Claude Code [プラグイン](/ja/plugins)を管理 |87| `/plugin` | Claude Code [プラグイン](/ja/plugins)を管理します |

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

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

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

91| `/recap` | 現在のセッションの 1 行の要約をオンデマンドで生成。[セッション要約](/ja/interactive-mode#session-recap)を参照してくださいこれはしばらく離れた後に表示される自動要約です |91| `/radio` | Claude FM lo-fi ラジオをブラウザで開きますブラウザが利用できない場合ストリーム URL を出力します。Bedrock、Vertex、または Foundry では利用できません |

92| `/release-notes` | インタラクティブバージョンピッカーでチェンジログを表示特定のバージョンを選択してそのリリースノートを表示するかすべてのバージョンを表示することを選択します |92| `/recap` | 現在のセッションの 1 行の要約をオンデマンドで生成します[セッション要約](/ja/interactive-mode#session-recap)を参照してください。これはしばらく離れた後に表示される自動要約です |

93| `/reload-plugins` | すべてのアクティブな[プラグイン](/ja/plugins)を再読み込みして、再起動せずに保留中の変更を適用読み込まれた各コンポーネントのカウントを報告し読み込みエラーをフラグします |93| `/release-notes` | インタラクティブバージョンピッカーでチェンジログを表示します特定のバージョンを選択してそのリリースノートを表示するかすべてのバージョンを表示することを選択します |

94| `/reload-plugins` | すべてのアクティブな[プラグイン](/ja/plugins)を再読み込みして、再起動せずに保留中の変更を適用します。読み込まれた各コンポーネントのカウントを報告し、読み込みエラーをフラグします |

94| `/remote-control` | このセッションを claude.ai から[リモートコントロール](/ja/remote-control)できるようにします。エイリアス: `/rc` |95| `/remote-control` | このセッションを claude.ai から[リモートコントロール](/ja/remote-control)できるようにします。エイリアス: `/rc` |

95| `/remote-env` | [`--remote` で開始されたウェブセッション](/ja/claude-code-on-the-web#configure-your-environment)のデフォルトリモート環境を構成 |96| `/remote-env` | [`--remote` で開始されたウェブセッション](/ja/claude-code-on-the-web#configure-your-environment)のデフォルトリモート環境を構成します |

96| `/rename [name]` | 現在のセッションの名前を変更してプロンプトバーに名前を表示。名前を指定しない場合、会話履歴から自動生成 |97| `/rename [name]` | 現在のセッションの名前を変更してプロンプトバーに名前を表示します。名前を指定しない場合、会話履歴から自動生成されます |

97| `/resume [session]` | ID または名前で会話を再開するか、セッションピッカーを開きます。エイリアス: `/continue` |98| `/resume [session]` | ID または名前で会話を再開するか、セッションピッカーを開きます。エイリアス: `/continue` |

98| `/review [PR]` | 現在のセッションでプルリクエストをローカルでレビュー。より深いクラウドベースのレビューについては、[`/ultrareview`](/ja/ultrareview)を参照してください |99| `/review [PR]` | 現在のセッションでプルリクエストをローカルでレビューします。より深いクラウドベースのレビューについては、[`/ultrareview`](/ja/ultrareview)を参照してください |

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

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

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

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

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

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

105| `/simplify [focus]` | **[スキル](/ja/skills#bundled-skills)。** 最近変更されたファイルをコード再利用、品質、効率の問題についてレビュー。その後修正します。3 つのレビューエージェントを並列で生成し、その結果を集約し、修正を適用します。テキストを渡して特定の懸念事項にフォーカスを当てます: `/simplify focus on memory efficiency` |106| `/simplify [focus]` | **[スキル](/ja/skills#bundled-skills)。** 最近変更されたファイルをコード再利用、品質、効率の問題についてレビューします。その後修正します。3 つのレビューエージェントを並列で生成し、その結果を集約し、修正を適用します。テキストを渡して特定の懸念事項にフォーカスを当てます: `/simplify focus on memory efficiency` |

106| `/skills` | 利用可能な[スキル](/ja/skills)をリスト表示。`t` を押してトークン数でソート。`Space` を押して[スキルを Claude または `/` メニューから非表示にし](/ja/skills#override-skill-visibility-from-settings)、`Enter` で保存 |107| `/skills` | 利用可能な[スキル](/ja/skills)をリスト表示します。`t` を押してトークン数でソートします。`Space` を押して[スキルを Claude または `/` メニューから非表示にし](/ja/skills#override-skill-visibility-from-settings)、`Enter` で保存します |

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

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

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

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

111| `/tasks` | バックグラウンドタスクをリストおよび管理。`/bashes` としても利用可能 |112| `/tasks` | バックグラウンドタスクをリストおよび管理します。`/bashes` としても利用可能です |

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

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

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

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

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

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

118| `/ultrareview [PR]` | [ultrareview](/ja/ultrareview) を使用してクラウドサンドボックスで深い複数エージェントコードレビューを実行。Pro と Max に 3 つの無料実行が含まれ、2026 年 5 月 5 日まで、その後は [extra usage](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) が必要です |119| `/ultrareview [PR]` | [ultrareview](/ja/ultrareview) を使用してクラウドサンドボックスで深い複数エージェントコードレビューを実行します。Pro と Max に 3 つの無料実行が含まれ、2026 年 5 月 5 日まで、その後は [extra usage](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) が必要です |

119| `/upgrade` | アップグレードページを開いて、より高いプランティアに切り替え |120| `/upgrade` | アップグレードページを開いて、より高いプランティアに切り替えます |

120| `/usage` | セッションコスト、プラン使用制限、およびアクティビティ統計を表示。サブスクリプション固有の詳細については、[コスト追跡ガイド](/ja/costs#using-the-%2Fusage-command)を参照してください。`/cost` と `/stats` はエイリアスです |121| `/usage` | セッションコスト、プラン使用制限、およびアクティビティ統計を表示します。サブスクリプション固有の詳細については、[コスト追跡ガイド](/ja/costs#using-the-%2Fusage-command)を参照してください。`/cost` と `/stats` はエイリアスです |

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

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

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

124 125 

125## MCP プロンプト126## MCP プロンプト

126 127 

env-vars.md +2 −0

Details

116| `CLAUDE_CODE_MAX_RETRIES` | 失敗した API リクエストを再試行する回数をオーバーライドします(デフォルト:10) |116| `CLAUDE_CODE_MAX_RETRIES` | 失敗した API リクエストを再試行する回数をオーバーライドします(デフォルト:10) |

117| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 並列実行できる読み取り専用ツールと subagent の最大数(デフォルト:10)。高い値は並列性を増加させますが、より多くのリソースを消費します |117| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | 並列実行できる読み取り専用ツールと subagent の最大数(デフォルト:10)。高い値は並列性を増加させますが、より多くのリソースを消費します |

118| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | stdio MCP サーバーをシェル環境を継承する代わりに、安全なベースライン環境とサーバーの設定された `env` のみでスポーンするには `1` に設定します |118| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | stdio MCP サーバーをシェル環境を継承する代わりに、安全なベースライン環境とサーバーの設定された `env` のみでスポーンするには `1` に設定します |

119| `CLAUDE_CODE_NATIVE_CURSOR` | ターミナル独自のカーソルを入力キャレットに表示するには `1` に設定します。描画されたブロックの代わりに。カーソルはターミナルのまばたき、形状、フォーカス設定を尊重します |

119| `CLAUDE_CODE_NEW_INIT` | `/init` が対話的なセットアップフローを実行するようにするには `1` に設定します。フローは、CLAUDE.md、スキル、フックを含む、生成するファイルを尋ねてから、コードベースを探索して書き込みます。この変数がない場合、`/init` はプロンプトなしに CLAUDE.md を自動的に生成します。 |120| `CLAUDE_CODE_NEW_INIT` | `/init` が対話的なセットアップフローを実行するようにするには `1` に設定します。フローは、CLAUDE.md、スキル、フックを含む、生成するファイルを尋ねてから、コードベースを探索して書き込みます。この変数がない場合、`/init` はプロンプトなしに CLAUDE.md を自動的に生成します。 |

120| `CLAUDE_CODE_NO_FLICKER` | [フルスクリーンレンダリング](/ja/fullscreen) を有効にするには `1` に設定します。これは研究プレビューで、フリッカーを減らし、長い会話でメモリをフラットに保ちます。[`tui`](/ja/settings#available-settings) 設定と同等です。`/tui fullscreen` で切り替えることもできます |121| `CLAUDE_CODE_NO_FLICKER` | [フルスクリーンレンダリング](/ja/fullscreen) を有効にするには `1` に設定します。これは研究プレビューで、フリッカーを減らし、長い会話でメモリをフラットに保ちます。[`tui`](/ja/settings#available-settings) 設定と同等です。`/tui fullscreen` で切り替えることもできます |

121| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Claude.ai 認証用の OAuth リフレッシュトークン。設定されている場合、`claude auth login` はブラウザを開く代わりにこのトークンを直接交換します。`CLAUDE_CODE_OAUTH_SCOPES` が必須です。自動化された環境での認証のプロビジョニングに役立ちます |122| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Claude.ai 認証用の OAuth リフレッシュトークン。設定されている場合、`claude auth login` はブラウザを開く代わりにこのトークンを直接交換します。`CLAUDE_CODE_OAUTH_SCOPES` が必須です。自動化された環境での認証のプロビジョニングに役立ちます |


191| `DISABLE_TELEMETRY` | テレメトリをオプトアウトするには `1` に設定します。テレメトリイベントにはコード、ファイルパス、bash コマンドなどのユーザーデータは含まれません |192| `DISABLE_TELEMETRY` | テレメトリをオプトアウトするには `1` に設定します。テレメトリイベントにはコード、ファイルパス、bash コマンドなどのユーザーデータは含まれません |

192| `DISABLE_UPDATES` | すべての更新をブロックするには `1` に設定します。手動の `claude update` と `claude install` を含みます。`DISABLE_AUTOUPDATER` より厳密です。Claude Code を独自のチャネルを通じて配布し、ユーザーが自己更新すべきでない場合に使用します |193| `DISABLE_UPDATES` | すべての更新をブロックするには `1` に設定します。手動の `claude update` と `claude install` を含みます。`DISABLE_AUTOUPDATER` より厳密です。Claude Code を独自のチャネルを通じて配布し、ユーザーが自己更新すべきでない場合に使用します |

193| `DISABLE_UPGRADE_COMMAND` | `/upgrade` コマンドを非表示にするには `1` に設定します |194| `DISABLE_UPGRADE_COMMAND` | `/upgrade` コマンドを非表示にするには `1` に設定します |

195| `DO_NOT_TRACK` | テレメトリをオプトアウトするには `1` に設定します。`DISABLE_TELEMETRY` を設定するのと同等です。[標準クロスツール規約](https://consoledonottrack.com/) として尊重されます |

194| `ENABLE_CLAUDEAI_MCP_SERVERS` | Claude Code で [claude.ai MCP サーバー](/ja/mcp#use-mcp-servers-from-claude-ai) を無効にするには `false` に設定します。ログインしているユーザーではデフォルトで有効です |196| `ENABLE_CLAUDEAI_MCP_SERVERS` | Claude Code で [claude.ai MCP サーバー](/ja/mcp#use-mcp-servers-from-claude-ai) を無効にするには `false` に設定します。ログインしているユーザーではデフォルトで有効です |

195| `ENABLE_PROMPT_CACHING_1H` | API キー、[Bedrock](/ja/amazon-bedrock)、[Vertex](/ja/google-vertex-ai)、[Foundry](/ja/microsoft-foundry) ユーザーの場合、デフォルトの 5 分の代わりに 1 時間のプロンプトキャッシュ TTL をリクエストするには `1` に設定します。サブスクリプションユーザーは 1 時間の TTL を自動的に受け取ります。1 時間キャッシュ書き込みはより高いレートで請求されます |197| `ENABLE_PROMPT_CACHING_1H` | API キー、[Bedrock](/ja/amazon-bedrock)、[Vertex](/ja/google-vertex-ai)、[Foundry](/ja/microsoft-foundry) ユーザーの場合、デフォルトの 5 分の代わりに 1 時間のプロンプトキャッシュ TTL をリクエストするには `1` に設定します。サブスクリプションユーザーは 1 時間の TTL を自動的に受け取ります。1 時間キャッシュ書き込みはより高いレートで請求されます |

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

errors.md +16 −0

Details

31| `Not logged in · Please run /login` | [認証](#not-logged-in) |31| `Not logged in · Please run /login` | [認証](#not-logged-in) |

32| `Invalid API key` | [認証](#invalid-api-key) |32| `Invalid API key` | [認証](#invalid-api-key) |

33| `This organization has been disabled` | [認証](#this-organization-has-been-disabled) |33| `This organization has been disabled` | [認証](#this-organization-has-been-disabled) |

34| `Routines are disabled by your organization's policy` | [認証](#routines-are-disabled-by-your-organizations-policy) |

34| `OAuth token revoked` / `OAuth token has expired` | [認証](#oauth-token-revoked-or-expired) |35| `OAuth token revoked` / `OAuth token has expired` | [認証](#oauth-token-revoked-or-expired) |

35| `does not meet scope requirement user:profile` | [認証](#oauth-scope-requirement) |36| `does not meet scope requirement user:profile` | [認証](#oauth-scope-requirement) |

36| `Unable to connect to API` | [ネットワーク](#unable-to-connect-to-api) |37| `Unable to connect to API` | [ネットワーク](#unable-to-connect-to-api) |


252* その後 `/status` を実行して、アクティブな認証情報がサブスクリプションであることを確認してください253* その後 `/status` を実行して、アクティブな認証情報がサブスクリプションであることを確認してください

253* 環境変数が設定されておらず、エラーが続く場合、無効な組織は `/login` に関連付けられているものです。サポートに連絡するか、別のアカウントでサインインしてください。254* 環境変数が設定されておらず、エラーが続く場合、無効な組織は `/login` に関連付けられているものです。サポートに連絡するか、別のアカウントでサインインしてください。

254 255 

256### Routines are disabled by your organization's policy

257 

258チームまたはエンタープライズ管理者が、組織レベルでルーチンをオフにしています。エラーは、`/schedule` および claude.ai/code の [Routines](/ja/routines) UI を含め、ルーチンを作成または実行しようとするときに表示されます。

259 

260```text theme={null}

261Routines are disabled by your organization's policy.

262```

263 

264これはサーバー側の設定であるため、ローカル設定、環境変数、または CLI フラグからオーバーライドすることはできません。

265 

266**対応方法:**

267 

268* 管理者に [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) で **Routines** トグルを有効にするよう依頼してください

269* 組織レベルのルーチンを必要としない 1 回限りのスケジュール済み作業については、[スケジュール済みタスク](/ja/scheduled-tasks)を参照してください

270 

255### OAuth token revoked or expired271### OAuth token revoked or expired

256 272 

257保存されたログインは有効ではなくなりました。取り消されたトークンは、どこかでサインアウトしたか、管理者がアクセスを削除したことを意味します。期限切れのトークンは、自動リフレッシュがセッション中に失敗したことを意味します。273保存されたログインは有効ではなくなりました。取り消されたトークンは、どこかでサインアウトしたか、管理者がアクセスを削除したことを意味します。期限切れのトークンは、自動リフレッシュがセッション中に失敗したことを意味します。

Details

289 289 

290Claude が応答した後、マルチパートリクエストのフォローアップステップや、ワークフローの自然な継続など、会話履歴に基づいて提案が表示され続けます。290Claude が応答した後、マルチパートリクエストのフォローアップステップや、ワークフローの自然な継続など、会話履歴に基づいて提案が表示され続けます。

291 291 

292* **Tab** または **Right arrow** を押して提案を受け入れるか、**Enter** を押して受け入れて送信292* **Tab** または **Right arrow** を押して提案をプロンプト入力に配置してから、**Enter** を押して送信

293* 入力を開始して却下293* 入力を開始して却下

294 294 

295提案は、親会話のプロンプトキャッシュを再利用するバックグラウンドリクエストとして実行されるため、追加コストは最小限です。Claude Code はキャッシュがコールドの場合、不要なコストを避けるために提案生成をスキップします。295提案は、親会話のプロンプトキャッシュを再利用するバックグラウンドリクエストとして実行されるため、追加コストは最小限です。Claude Code はキャッシュがコールドの場合、不要なコストを避けるために提案生成をスキップします。

mcp.md +2 −0

Details

263 --header "Authorization: Bearer your-token"263 --header "Authorization: Bearer your-token"

264```264```

265 265 

266MCP サーバーを `.mcp.json`、`~/.claude.json`、または `claude mcp add-json` で JSON を使用して設定する場合、`type` フィールドは `http` のエイリアスとして `streamable-http` を受け入れます。MCP 仕様ではこのトランスポートに `streamable-http` という名前を使用しているため、サーバードキュメントからコピーされた設定は変更なしで機能します。

267 

266### オプション 2:リモート SSE サーバーを追加する268### オプション 2:リモート SSE サーバーを追加する

267 269 

268<Warning>270<Warning>

permissions.md +7 −0

Details

210* `Edit(//tmp/scratch.txt)`: 絶対パス `/tmp/scratch.txt` を編集します210* `Edit(//tmp/scratch.txt)`: 絶対パス `/tmp/scratch.txt` を編集します

211* `Read(src/**)`: `<current-directory>/src/` から読み取ります211* `Read(src/**)`: `<current-directory>/src/` から読み取ります

212 212 

213ルールはそのアンカーの下のファイルのみをマッチさせるため、アンカーは deny ルールがどこまで到達するかを決定します。ベアファイル名は gitignore セマンティクスに従い、任意の深さでマッチするため、`Read(.env)` と `Read(**/.env)` は同等です。

214 

215| Deny ルール | ブロック | ブロックしない |

216| -------------------------------- | ----------------------- | ----------------------------- |

217| `Read(.env)` または `Read(**/.env)` | 現在のディレクトリ以下の任意の `.env` | 親ディレクトリまたは別のプロジェクト内の `.env` |

218| `Read(//**/.env)` | ファイルシステム上の任意の場所の `.env` | なし。ルールはファイルシステムルートにアンカーされています |

219 

213<Note>220<Note>

214 gitignore パターンでは、`*` は単一のディレクトリ内のファイルをマッチさせ、`**` はディレクトリ全体で再帰的にマッチさせます。すべてのファイルアクセスを許可するには、括弧なしでツール名を使用します。`Read`、`Edit`、または `Write`。221 gitignore パターンでは、`*` は単一のディレクトリ内のファイルをマッチさせ、`**` はディレクトリ全体で再帰的にマッチさせます。すべてのファイルアクセスを許可するには、括弧なしでツール名を使用します。`Read`、`Edit`、または `Write`。

215</Note>222</Note>

Details

423 423 

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

425| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |425| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------- |

426| `skills` | string\|array | `<name>/SKILL.md` を含むカスタム skill ディレクトリ(デフォルト `skills/` を置き換え | `"./custom/skills/"` |426| `skills` | string\|array | `<name>/SKILL.md` を含むカスタム skill ディレクトリ(デフォルト `skills/` に加えて | `"./custom/skills/"` |

427| `commands` | string\|array | カスタムフラット `.md` skill ファイルまたはディレクトリ(デフォルト `commands/` を置き換え) | `"./custom/cmd.md"` または `["./cmd1.md"]` |427| `commands` | string\|array | カスタムフラット `.md` skill ファイルまたはディレクトリ(デフォルト `commands/` を置き換え) | `"./custom/cmd.md"` または `["./cmd1.md"]` |

428| `agents` | string\|array | カスタムエージェントファイル(デフォルト `agents/` を置き換え) | `"./custom/agents/reviewer.md"` |428| `agents` | string\|array | カスタムエージェントファイル(デフォルト `agents/` を置き換え) | `"./custom/agents/reviewer.md"` |

429| `hooks` | string\|array\|object | Hook 設定パスまたはインライン設定 | `"./my-extra-hooks.json"` |429| `hooks` | string\|array\|object | Hook 設定パスまたはインライン設定 | `"./my-extra-hooks.json"` |


510 510 

511### パス動作ルール511### パス動作ルール

512 512 

513`skills`、`commands`、`agents`、`outputStyles`、`experimental.themes`、`experimental.monitors` の場合、カスタムパスはデフォルトを置き換えます。マニフェストが `skills` を指定する場合、デフォルト `skills/` ディレクトリはスキャンされません。`experimental.monitors` を指定する場合、デフォルト `monitors/monitors.json` は読み込まれません。[Hooks](#hooks)、[MCP servers](#mcp-servers)[LSP servers](#lsp-servers)は複数のソースを処理するための異なるセマンティクスを持ちます。513カスタムパスがプラグインのデフォルトディレクトリを置き換えるか拡張するかはフィールドによって異なります:

514 

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

516* **デフォルトに追加**: `skills`。デフォルト `skills/` ディレクトリは常にスキャンされ、`skills` にリストされているディレクトリはそれと一緒に読み込まれます

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

518 

519すべてのパスフィールドについて:

514 520 

515* すべてのパスはプラグインルートに相対的で、`./` で始まる必要があります521* すべてのパスはプラグインルートに相対的で、`./` で始まる必要があります

516* カスタムパスからのコンポーネントは同じ命名と名前空間ルールを使用します522* カスタムパスからのコンポーネントは同じ命名と名前空間ルールを使用します

517* 複数のパスを配列として指定できます523* 複数のパスを配列として指定できます

518* skills、commands、agents、output styles のデフォルトディレクトリを保持してさらにパスを追加するには、配列にデフォルトを含めます: `"skills": ["./skills/", "./extras/"]`

519* skill パスが `SKILL.md` を直接含むディレクトリを指す場合(例: `"skills": ["./"]` がプラグインルートを指す)、`SKILL.md` の frontmatter `name` フィールドが skill の呼び出し名を決定します。これはインストールディレクトリに関係なく安定した名前を提供します。frontmatter に `name` が設定されていない場合、ディレクトリ basename がフォールバックとして使用されます。524* skill パスが `SKILL.md` を直接含むディレクトリを指す場合(例: `"skills": ["./"]` がプラグインルートを指す)、`SKILL.md` の frontmatter `name` フィールドが skill の呼び出し名を決定します。これはインストールディレクトリに関係なく安定した名前を提供します。frontmatter に `name` が設定されていない場合、ディレクトリ basename がフォールバックとして使用されます。

520 525 

521**パスの例**:526**パスの例**:

routines.md +9 −1

Details

14 14 

15各ルーティンには、1 つ以上のトリガーを接続できます。15各ルーティンには、1 つ以上のトリガーを接続できます。

16 16 

17* **スケジュール**: 時間ごと、毎晩、毎週など、定期的なペースで実行17* **スケジュール**: 時間ごと、毎晩、毎週など、定期的なペースで実行、または特定の将来の時刻に 1 回実行

18* **API**: ベアラートークン付きで HTTP POST をルーティン固有のエンドポイントに送信してオンデマンドでトリガー18* **API**: ベアラートークン付きで HTTP POST をルーティン固有のエンドポイントに送信してオンデマンドでトリガー

19* **GitHub**: プルリクエストやリリースなどのリポジトリイベントに自動的に反応して実行19* **GitHub**: プルリクエストやリリースなどのリポジトリイベントに自動的に反応して実行

20 20 


22 22 

23ルーティンは Pro、Max、Team、Enterprise プランで利用可能です。[Claude Code on the web](/ja/claude-code-on-the-web) が有効になっている必要があります。[claude.ai/code/routines](https://claude.ai/code/routines) で作成・管理するか、CLI で `/schedule` を使用して管理できます。23ルーティンは Pro、Max、Team、Enterprise プランで利用可能です。[Claude Code on the web](/ja/claude-code-on-the-web) が有効になっている必要があります。[claude.ai/code/routines](https://claude.ai/code/routines) で作成・管理するか、CLI で `/schedule` を使用して管理できます。

24 24 

25Team および Enterprise 管理者は、[claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) の Routines トグルを使用して、すべてのメンバーのルーティンを無効にできます。無効にすると、既存のルーティンは実行を停止し、メンバーは新しいルーティンを作成できません。

26 

25このページでは、ルーティンの作成、各トリガータイプの構成、実行の管理、および使用制限の適用方法について説明します。27このページでは、ルーティンの作成、各トリガータイプの構成、実行の管理、および使用制限の適用方法について説明します。

26 28 

27## ユースケースの例29## ユースケースの例


360 362 

3611 回限りの実行は日次ルーティン実行上限にはカウントされません。他のセッションと同じように通常のサブスクリプション使用量を削減しますが、アカウントごとの日次ルーティン実行許容量から除外されます。3631 回限りの実行は日次ルーティン実行上限にはカウントされません。他のセッションと同じように通常のサブスクリプション使用量を削減しますが、アカウントごとの日次ルーティン実行許容量から除外されます。

362 364 

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

366 

367### 「ルーティンは組織のポリシーによって無効になっています」

368 

369Team または Enterprise 管理者が [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) の **Routines** トグルをオフにしている可能性があります。これはサーバー側の組織設定であるため、ローカル構成からオーバーライドすることはできません。組織のルーティンを有効にするよう管理者に連絡してください。

370 

363## 関連リソース371## 関連リソース

364 372 

365* [`/loop` とセッション内スケジューリング](/ja/scheduled-tasks): オープン CLI セッション内でローカルタスクをスケジュール373* [`/loop` とセッション内スケジューリング](/ja/scheduled-tasks): オープン CLI セッション内でローカルタスクをスケジュール

security.md +1 −1

Details

59* **ネットワークリクエスト承認**: ネットワークリクエストを行うツールはデフォルトでユーザー承認が必要です59* **ネットワークリクエスト承認**: ネットワークリクエストを行うツールはデフォルトでユーザー承認が必要です

60* **分離されたコンテキストウィンドウ**: Web fetch は潜在的に悪意のあるプロンプトの注入を避けるために別のコンテキストウィンドウを使用します60* **分離されたコンテキストウィンドウ**: Web fetch は潜在的に悪意のあるプロンプトの注入を避けるために別のコンテキストウィンドウを使用します

61* **信頼検証**: 初回のコードベース実行と新しい MCP サーバーには信頼検証が必要です61* **信頼検証**: 初回のコードベース実行と新しい MCP サーバーには信頼検証が必要です

62 * 注:信頼検証は `-p` フラグで非対話的に実行する場合は無効になります62 * 注:信頼検証は `-p` フラグで非対話的に実行する場合は無効になります。例外は [`--worktree`](/ja/worktrees) で、これはディレクトリに対して信頼が受け入れられていることが必要です

63* **コマンドインジェクション検出**: 疑わしい bash コマンドは、以前にホワイトリストに登録されていても手動承認が必要です63* **コマンドインジェクション検出**: 疑わしい bash コマンドは、以前にホワイトリストに登録されていても手動承認が必要です

64* **フェイルクローズドマッチング**: マッチしないコマンドはデフォルトで手動承認が必要です64* **フェイルクローズドマッチング**: マッチしないコマンドはデフォルトで手動承認が必要です

65* **自然言語説明**: 複雑な bash コマンドにはユーザーの理解のための説明が含まれます65* **自然言語説明**: 複雑な bash コマンドにはユーザーの理解のための説明が含まれます

Details

41 </Step>41 </Step>

42 42 

43 <Step title="設定を定義する">43 <Step title="設定を定義する">

44 構成を JSON として追加します。`settings.json` で利用可能な[すべての設定](/ja/settings#available-settings)がサポートされており、[hooks](/ja/hooks)、[環境変数](/ja/env-vars)、および `allowManagedPermissionRulesOnly` などの[管理専用設定](/ja/permissions#managed-only-settings)も含まれます44 構成を JSON として追加します。`settings.json` で利用可能な[すべての設定](/ja/settings#available-settings)がサポートされており、OS レベルのポリシー配信に制限されているものを除きます。[現在の制限事項](#current-limitations)でその短いリストを参照してください。これには[hooks](/ja/hooks)、[環境変数](/ja/env-vars)、および `allowManagedPermissionRulesOnly` などの[管理専用設定](/ja/permissions#managed-only-settings)が含まれます

45 45 

46 この例は、権限拒否リストを適用し、ユーザーが権限をバイパスするのを防ぎ、権限ルールを管理設定で定義されたものに制限します。46 この例は、権限拒否リストを適用し、ユーザーが権限をバイパスするのを防ぎ、権限ルールを管理設定で定義されたものに制限します。

47 47 


93 }93 }

94 ```94 ```

95 95 

96 hooks はシェルコマンドを実行するため、ユーザーは適用される前に[セキュリティ承認ダイアログ](#security-approval-dialogs)を表示します。`autoMode` エントリが分類器がブロックする内容にどのように影響するか、および `allow` フィールドと `soft_deny` フィールドに関する重要な警告については、[auto mode を構成する](/ja/auto-mode-config)を参照してください。96 hooks はシェルコマンドを実行するため、ユーザーは適用される前に[セキュリティ承認ダイアログ](#security-approval-dialogs)を表示します。`autoMode` エントリが分類器がブロックする内容にどのように影響するか、および `environment`、`allow``soft_deny`、および `hard_deny` フィールドに関する重要な警告については、[auto mode を構成する](/ja/auto-mode-config)を参照してください。

97 </Step>97 </Step>

98 98 

99 <Step title="保存してデプロイする">99 <Step title="保存してデプロイする">


124 124 

125* 設定は組織内のすべてのユーザーに均一に適用されます。グループごとの構成はまだサポートされていません。125* 設定は組織内のすべてのユーザーに均一に適用されます。グループごとの構成はまだサポートされていません。

126* [MCP サーバー構成](/ja/mcp#managed-mcp-configuration)は、サーバー管理設定を通じて配布することはできません。126* [MCP サーバー構成](/ja/mcp#managed-mcp-configuration)は、サーバー管理設定を通じて配布することはできません。

127* `policyHelper` および `wslInheritsWindowsSettings` など、OS レベルのポリシーソースに制限されている設定は、尊重されません。代わりに MDM またはシステム `managed-settings.json` ファイルを通じてデプロイしてください。

127 128 

128## 設定配信129## 設定配信

129 130 

settings.md +28 −1

Details

169| `attribution` | git コミットとプルリクエストの属性をカスタマイズします。[属性設定](#attribution-settings)を参照してください | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |169| `attribution` | git コミットとプルリクエストの属性をカスタマイズします。[属性設定](#attribution-settings)を参照してください | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

170| `autoMemoryDirectory` | [自動メモリ](/ja/memory#storage-location)ストレージ用のカスタムディレクトリ。絶対パスまたは `~/` プレフィックス付きパスを受け入れます。ポリシーおよびユーザー設定から、および `--settings` フラグから受け入れられます。クローンされたリポジトリがメモリ書き込みを機密の場所にリダイレクトするのを防ぐため、プロジェクトまたはローカル設定からは受け入れられません | `"~/my-memory-dir"` |170| `autoMemoryDirectory` | [自動メモリ](/ja/memory#storage-location)ストレージ用のカスタムディレクトリ。絶対パスまたは `~/` プレフィックス付きパスを受け入れます。ポリシーおよびユーザー設定から、および `--settings` フラグから受け入れられます。クローンされたリポジトリがメモリ書き込みを機密の場所にリダイレクトするのを防ぐため、プロジェクトまたはローカル設定からは受け入れられません | `"~/my-memory-dir"` |

171| `autoMemoryEnabled` | [自動メモリ](/ja/memory#enable-or-disable-auto-memory)を有効にします。`false` の場合、Claude は自動メモリディレクトリから読み込んだり、書き込んだりしません。デフォルト:`true`。セッション中に `/memory` でこれを切り替えることもできます。環境変数で無効にするには、`env` で [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ja/env-vars)を設定します | `false` |171| `autoMemoryEnabled` | [自動メモリ](/ja/memory#enable-or-disable-auto-memory)を有効にします。`false` の場合、Claude は自動メモリディレクトリから読み込んだり、書き込んだりしません。デフォルト:`true`。セッション中に `/memory` でこれを切り替えることもできます。環境変数で無効にするには、`env` で [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/ja/env-vars)を設定します | `false` |

172| `autoMode` | [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)分類器がブロックおよび許可するものをカスタマイズします。`environment`、`allow`、および `soft_deny` 配列の散文ルールを含みます。リテラル文字列 `"$defaults"` を配列に含めて、その位置で組み込みルールを継承します。[自動モードを構成](/ja/auto-mode-config)を参照してください。共有プロジェクト設定から読み込まれません | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |172| `autoMode` | [自動モード](/ja/permission-modes#eliminate-prompts-with-auto-mode)分類器がブロックおよび許可するものをカスタマイズします。`environment`、`allow`、`soft_deny`、および `hard_deny` 配列の散文ルールを含みます。リテラル文字列 `"$defaults"` を配列に含めて、その位置で組み込みルールを継承します。[自動モードを構成](/ja/auto-mode-config)を参照してください。共有プロジェクト設定から読み込まれません | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

173| `autoScrollEnabled` | [フルスクリーンレンダリング](/ja/fullscreen)で、新しい出力を会話の下部に追従します。デフォルト:`true`。`/config` に**自動スクロール**として表示されます。権限プロンプトはこれがオフの場合でもビューにスクロールします | `false` |173| `autoScrollEnabled` | [フルスクリーンレンダリング](/ja/fullscreen)で、新しい出力を会話の下部に追従します。デフォルト:`true`。`/config` に**自動スクロール**として表示されます。権限プロンプトはこれがオフの場合でもビューにスクロールします | `false` |

174| `autoUpdatesChannel` | 更新に従うリリースチャネル。約 1 週間古いバージョンで、大きな回帰のあるバージョンをスキップする `"stable"` を使用するか、最新リリースの `"latest"`(デフォルト)を使用します。自動更新を完全に無効にするには、`env` で [`DISABLE_AUTOUPDATER`](/ja/setup#disable-auto-updates)を設定します | `"stable"` |174| `autoUpdatesChannel` | 更新に従うリリースチャネル。約 1 週間古いバージョンで、大きな回帰のあるバージョンをスキップする `"stable"` を使用するか、最新リリースの `"latest"`(デフォルト)を使用します。自動更新を完全に無効にするには、`env` で [`DISABLE_AUTOUPDATER`](/ja/setup#disable-auto-updates)を設定します | `"stable"` |

175| `availableModels` | `/model`、`--model`、または `ANTHROPIC_MODEL` を通じてユーザーが選択できるモデルを制限します。デフォルトオプションには影響しません。[モデル選択を制限](/ja/model-config#restrict-model-selection)を参照してください | `["sonnet", "haiku"]` |175| `availableModels` | `/model`、`--model`、または `ANTHROPIC_MODEL` を通じてユーザーが選択できるモデルを制限します。デフォルトオプションには影響しません。[モデル選択を制限](/ja/model-config#restrict-model-selection)を参照してください | `["sonnet", "haiku"]` |


215| `permissions` | 権限の構造については、以下の表を参照してください。 | |215| `permissions` | 権限の構造については、以下の表を参照してください。 | |

216| `plansDirectory` | プランファイルが保存される場所をカスタマイズします。パスはプロジェクトルートに相対的です。デフォルト:`~/.claude/plans` | `"./plans"` |216| `plansDirectory` | プランファイルが保存される場所をカスタマイズします。パスはプロジェクトルートに相対的です。デフォルト:`~/.claude/plans` | `"./plans"` |

217| `pluginTrustMessage` | (Managed 設定のみ)インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ。これを使用して、組織固有のコンテキストを追加します。たとえば、内部マーケットプレイスからのプラグインが検証されていることを確認します。 | `"All plugins from our marketplace are approved by IT"` |217| `pluginTrustMessage` | (Managed 設定のみ)インストール前に表示されるプラグイン信頼警告に追加されるカスタムメッセージ。これを使用して、組織固有のコンテキストを追加します。たとえば、内部マーケットプレイスからのプラグインが検証されていることを確認します。 | `"All plugins from our marketplace are approved by IT"` |

218| `policyHelper` | {/* min-version: 2.1.136 */}起動時に managed 設定を動的に計算する管理者デプロイ済みの実行可能ファイル。MDM またはシステム `managed-settings.json` ファイルからのみ尊重されます。[ポリシーヘルパーで managed 設定を計算](#compute-managed-settings-with-a-policy-helper)を参照してください。Claude Code v2.1.136 以降が必要です | `{"path": "/usr/local/bin/claude-policy"}` |

218| `preferredNotifChannel` | タスク完了および権限プロンプト通知の方法:`"auto"`、`"terminal_bell"`、`"iterm2"`、`"iterm2_with_bell"`、`"kitty"`、`"ghostty"`、または `"notifications_disabled"`。デフォルト:`"auto"`。iTerm2、Ghostty、Kitty ではデスクトップ通知を送信し、他のターミナルでは何もしません。任意のターミナルでベル文字を鳴らすには `"terminal_bell"` を設定します。`/config` に**通知**として表示されます。[ターミナルベルまたは通知を取得](/ja/terminal-config#get-a-terminal-bell-or-notification)を参照してください | `"terminal_bell"` |219| `preferredNotifChannel` | タスク完了および権限プロンプト通知の方法:`"auto"`、`"terminal_bell"`、`"iterm2"`、`"iterm2_with_bell"`、`"kitty"`、`"ghostty"`、または `"notifications_disabled"`。デフォルト:`"auto"`。iTerm2、Ghostty、Kitty ではデスクトップ通知を送信し、他のターミナルでは何もしません。任意のターミナルでベル文字を鳴らすには `"terminal_bell"` を設定します。`/config` に**通知**として表示されます。[ターミナルベルまたは通知を取得](/ja/terminal-config#get-a-terminal-bell-or-notification)を参照してください | `"terminal_bell"` |

219| `prefersReducedMotion` | アクセシビリティのために UI アニメーション(スピナー、シマー、フラッシュエフェクト)を削減または無効にします | `true` |220| `prefersReducedMotion` | アクセシビリティのために UI アニメーション(スピナー、シマー、フラッシュエフェクト)を削減または無効にします | `true` |

220| `prUrlTemplate` | フッターおよびツール結果サマリーに表示される PR バッジの URL テンプレート。`gh` レポートされた PR URL から `{host}`、`{owner}`、`{repo}`、`{number}`、および `{url}` を置き換えます。PR リンクを `github.com` の代わりに内部コードレビューツールにポイントするために使用します。Claude の散文の `#123` オートリンクには影響しません | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |221| `prUrlTemplate` | フッターおよびツール結果サマリーに表示される PR バッジの URL テンプレート。`gh` レポートされた PR URL から `{host}`、`{owner}`、`{repo}`、`{number}`、および `{url}` を置き換えます。PR リンクを `github.com` の代わりに内部コードレビューツールにポイントするために使用します。Claude の散文の `#123` オートリンクには影響しません | `"https://reviews.example.com/{owner}/{repo}/pull/{number}"` |


470}471}

471```472```

472 473 

474### ポリシーヘルパーで managed 設定を計算

475 

476`policyHelper` 設定は、起動時に managed 設定を動的に計算する実行可能ファイルを指しています。管理者は、静的ファイルの代わりに、デバイスの状態、ID、またはリモートサービスからポリシーを導出できます。MDM またはシステム `managed-settings.json` ファイルから構成します。Claude Code は、ユーザー設定、プロジェクト設定、HKCU レジストリハイブ、および [サーバー管理設定](/ja/server-managed-settings)を含む他のスコープに表示される `policyHelper` を無視します。

477 

478設定は以下のキーを受け入れます:

479 

480| キー | タイプ | 説明 |

481| ------------------- | ------ | ------------------------------------------------------------- |

482| `path` | string | ヘルパー実行可能ファイルへの絶対パス |

483| `timeoutMs` | number | ヘルパーが失敗として扱われるまでの待機時間 |

484| `refreshIntervalMs` | number | バックグラウンドでヘルパーを再実行する頻度。`0` に設定して更新を無効にするか、少なくとも `60000` に設定します |

485 

486ヘルパーは JSON エンベロープを stdout に書き込みます。設定をトップレベルではなく `managedSettings` キーの下に配置します。ベアの設定オブジェクトは `managedSettings` が未定義で解析され、何も適用されないためです:

487 

488```json theme={null}

489{

490 "managedSettings": {

491 "permissions": { "deny": ["Read(//etc/secrets/**)"] }

492 },

493 "claudeMd": "# Organization context\n...",

494 "appendSystemPrompt": "Always cite the internal style guide."

495}

496```

497 

498ヘルパーが `managedSettings` を出力すると、そのオブジェクトは実行のためにファイルベースの managed 設定を置き換えます。ヘルパーが起動時にゼロ以外で終了すると、Claude Code はエラーを出力し、起動を拒否します。そのため、停止復旧が必要なヘルパーは独自のキャッシュから提供し、`0` で終了する必要があります。

499 

473### 設定の優先度500### 設定の優先度

474 501 

475設定は優先度の順に適用されます。最高から最低:502設定は優先度の順に適用されます。最高から最低:

whats-new.md +17 −1

Details

8 8 

9週間開発ダイジェストは、あなたの仕事のやり方を変える可能性が最も高い機能をハイライトします。各エントリには実行可能なコード、短いデモ、および完全なドキュメントへのリンクが含まれています。すべてのバグ修正と軽微な改善については、[changelog](/ja/changelog) を参照してください。9週間開発ダイジェストは、あなたの仕事のやり方を変える可能性が最も高い機能をハイライトします。各エントリには実行可能なコード、短いデモ、および完全なドキュメントへのリンクが含まれています。すべてのバグ修正と軽微な改善については、[changelog](/ja/changelog) を参照してください。

10 10 

11<Update label="Week 19" description="May 4–8, 2026" tags={["v2.1.128–v2.1.136"]}>

12 **プラグインが `.zip` アーカイブと URL から読み込まれます**:`--plugin-dir` は `.zip` ファイルを受け入れるようになり、`--plugin-url` は現在のセッション用にプラグインアーカイブをフェッチします。

13 

14 今週のその他の機能:**`worktree.baseRef`** は新しい worktree がリモートデフォルトまたはローカル `HEAD` からブランチするかどうかを選択します。**auto mode hard deny ルール** は許可例外に関係なく無条件にアクションをブロックします。**hooks は有効なエフォートレベルを確認** できます(`effort.level` および `$CLAUDE_EFFORT` 経由)。

15 

16 [Week 19 ダイジェストを読む →](/ja/whats-new/2026-w19)

17</Update>

18 

19<Update label="Week 18" description="April 27 – May 1, 2026" tags={["v2.1.120–v2.1.126"]}>

20 **Git Bash なしの Windows**:Git for Windows は不要になり、Bash がない場合、Claude Code は PowerShell をシェルツールとして使用します。

21 

22 今週のその他の機能:**`claude ultrareview`** はクラウドコードレビューを CI とスクリプトにもたらします。**`claude project purge`** はプロジェクトのローカル状態をクリーンアップします。**PR URL を `/resume` に貼り付ける** とそれを作成したセッションを見つけます。

23 

24 [Week 18 ダイジェストを読む →](/ja/whats-new/2026-w18)

25</Update>

26 

11<Update label="Week 17" description="April 20–24, 2026" tags={["v2.1.114–v2.1.119"]}>27<Update label="Week 17" description="April 20–24, 2026" tags={["v2.1.114–v2.1.119"]}>

12 **`/ultrareview`** がパブリックリサーチプレビューとしてオープンしました。バグ検出エージェントのフリートがクラウドで実行され、検出結果が自動的に CLI またはデスクトップに戻ります。28 **`/ultrareview`** がパブリックリサーチプレビューとしてオープンしました。バグ検出エージェントのフリートがクラウドで実行され、検出結果が自動的に CLI またはデスクトップに戻ります。

13 29 


19<Update label="Week 16" description="April 13–17, 2026" tags={["v2.1.105–v2.1.113"]}>35<Update label="Week 16" description="April 13–17, 2026" tags={["v2.1.105–v2.1.113"]}>

20 **Claude Opus 4.7** が Max および Team Premium の新しいデフォルトとしてリリースされました。ほとんどのコーディング作業に推奨される新しい `xhigh` エフォートレベルと、インタラクティブな `/effort` スライダーで調整できます。36 **Claude Opus 4.7** が Max および Team Premium の新しいデフォルトとしてリリースされました。ほとんどのコーディング作業に推奨される新しい `xhigh` エフォートレベルと、インタラクティブな `/effort` スライダーで調整できます。

21 37 

22 今週のその他の機能:ウェブ上の Claude Code の **Routines** はスケジュール、GitHub イベント、または API 呼び出しからテンプレート化されたクラウドエージェントを実行します。`/ultrareview` はクラウドで並列マルチエージェントコードレビューを実行します。`/usage` はあなたの制限を何が駆動しているかを表示します。CLI はネイティブバイナリに移行しました。38 今週のその他の機能:ウェブ上の Claude Code の **Routines** はスケジュール、GitHub イベント、または API 呼び出しからテンプレート化されたクラウドエージェントを実行します。**モバイルプッシュ通知** は長いタスクが終了したときまたは Claude があなたが必要なときに電話に通知を送ります。`/usage` はあなたの制限を何が駆動しているかを表示します。CLI はネイティブバイナリに移行しました。

23 39 

24 [Week 16 ダイジェストを読む →](/ja/whats-new/2026-w16)40 [Week 16 ダイジェストを読む →](/ja/whats-new/2026-w16)

25</Update>41</Update>

Details

4 4 

5# Week 16 · 4月13~17日、2026年5# Week 16 · 4月13~17日、2026年

6 6 

7> 新しい xhigh エフォートレベルを備えた Claude Opus 4.7、Claude Code ウェブ版の Routines、/ultrareview クラウドコードレビュー、使用制限を駆動している要因を表示する /usage 内訳、およびバンドルされた JavaScript に代わるネイティブバイナリ。7> 新しい xhigh エフォートレベルを備えた Claude Opus 4.7、Claude Code ウェブ版の Routines、Claude が必要なときにあなたの電話に ping を送信するモバイルプッシュ通知、使用制限を駆動している要因を表示する /usage 内訳、およびバンドルされた JavaScript に代わるネイティブバイナリ。

8 8 

9<div className="digest-meta">9<div className="digest-meta">

10 <span>Releases <a href="/ja/docs/changelog#2-1-105">v2.1.105 → v2.1.113</a></span>10 <span>Releases <a href="/ja/docs/changelog#2-1-105">v2.1.105 → v2.1.113</a></span>


35 <span className="digest-feature-pill">web</span>35 <span className="digest-feature-pill">web</span>

36 </div>36 </div>

37 37 

38 <p className="digest-feature-lede">スケジュール、GitHub イベント、または API 呼び出しで起動するテンプレート化されたクラウドエージェント。Claude Code ウェブ版でプロンプト、アクセスできるリポジトリ、必要なコネクタを使用してルーチンを一度定義すると、マシンを実行することなく、PR が開かれたり、リリースが公開されたり、独自の webhook によってトリガーされたりします。トリガーピッカーは GitHub イベントをオプションフィルター付きでカバーし、すべてのルーチンに トークン化された <code>/fire</code> エンドポイントを提供します。</p>38 <p className="digest-feature-lede">スケジュール、GitHub イベント、または API 呼び出しで起動するテンプレート化されたクラウドエージェント。Claude Code ウェブ版でプロンプト、アクセスできるリポジトリ、必要なコネクタを使用してルーチンを一度定義すると、マシンを実行することなく、PR が開かれたり、リリースが公開されたり、独自の webhook によってトリガーされたりします。トリガーピッカーは GitHub イベントをオプションフィルター付きでカバーし、すべてのルーチンにトークン化された <code>/fire</code> エンドポイントを提供します。</p>

39 39 

40 <Frame>40 <Frame>

41 <img className="w-full" src="https://mintcdn.com/claude-code/FTi4SBJ9YRs7d-5X/images/whats-new/routines.png?fit=max&auto=format&n=FTi4SBJ9YRs7d-5X&q=85&s=2ba818ea9280c549511cb48b9b4d1dc5" alt="スケジュール、GitHub イベント、API トリガーを使用して Claude Code ウェブ版でルーチンを作成する" width="1440" height="810" data-path="images/whats-new/routines.png" />41 <img className="w-full" src="https://mintcdn.com/claude-code/FTi4SBJ9YRs7d-5X/images/whats-new/routines.png?fit=max&auto=format&n=FTi4SBJ9YRs7d-5X&q=85&s=2ba818ea9280c549511cb48b9b4d1dc5" alt="スケジュール、GitHub イベント、API トリガーを使用して Claude Code ウェブ版でルーチンを作成する" width="1440" height="810" data-path="images/whats-new/routines.png" />


73 73 

74<div className="digest-feature">74<div className="digest-feature">

75 <div className="digest-feature-header">75 <div className="digest-feature-header">

76 <span className="digest-feature-title">/ultrareview</span>76 <span className="digest-feature-title">Mobile push notifications</span>

77 <span className="digest-feature-pill">v2.1.111</span>77 <span className="digest-feature-pill">mobile</span>

78 </div>78 </div>

79 79 

80 <p className="digest-feature-lede">クラウドでの包括的なコードレビュー。Ultrareview はブランチを Claude Code ウェブ版の並列レビュアー全体に展開し各検出結果に対して敵対的な批評パスを実行しターミナルが空いたままの状態で検証済みの検出結果レポートを返します引数なしで呼び出して現在のブランチをレビューするか、PR 番号を渡してその PR をフェッチしてレビューします。起動ダイアログは diffstat を表示するため確認する前に何がアップロードされるかを知ることができます。</p>80 <p className="digest-feature-lede"><a href="/ja/docs/remote-control">Remote Control</a> が接続されている場合長いタスクが完了したときまたは続行するために決定が必要なときにClaude はあなたの電話にプッシュ通知を送信できます<code>/config</code> で「Push when Claude decides」をオンにするか、プロンプトで 1 つをリクエストします。長いエージェント実行をキックオフしてターミナルから離れたいときに便利です。</p>

81 81 

82 <p className="digest-feature-try">あなたが使用しているブランチをレビューします:</p>82 <Frame>

83 83 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/uII1TETOZxBUZ3lB/images/whats-new/push-notifications.mp4?fit=max&auto=format&n=uII1TETOZxBUZ3lB&q=85&s=c91a967139596500cbdb581a53822ac1" data-path="images/whats-new/push-notifications.mp4" />

84 ```text Claude Code theme={null}84 </Frame>

85 > /ultrareview

86 ```

87 85 

88 <p className="digest-feature-try">または PR を指定します:</p>86 <p className="digest-feature-try">完了したときに ping を送信するよう Claude に依頼します:</p>

89 87 

90 ```text Claude Code theme={null}88 ```text Claude Code theme={null}

91 > /ultrareview 123489 > notify me when the tests pass

92 ```90 ```

93 91 

94 <a className="digest-feature-link" href="/ja/docs/ultrareview">Ultrareview guide</a>92 <a className="digest-feature-link" href="/ja/docs/remote-control#mobile-push-notifications">Remote Control: mobile push notifications</a>

95</div>93</div>

96 94 

97<div className="digest-feature">95<div className="digest-feature">


116 <p className="digest-wins-title">その他の成果</p>114 <p className="digest-wins-title">その他の成果</p>

117 115 

118 <div className="digest-wins-grid">116 <div className="digest-wins-grid">

117 <div>新しい <a href="/ja/docs/ultrareview"><code>/ultrareview</code></a>:並列マルチエージェント分析と敵対的批評パスを使用したクラウドでの包括的なコードレビュー。現在のブランチをレビューするために裸で実行するか、特定の PR の場合は <code>/ultrareview \<PR#></code></div>

119 <div><a href="/ja/docs/permission-modes#eliminate-prompts-with-auto-mode">Auto mode</a> は Max サブスクライバーで Opus 4.7 で利用可能になり、<code>--enable-auto-mode</code> フラグは不要になりました</div>118 <div><a href="/ja/docs/permission-modes#eliminate-prompts-with-auto-mode">Auto mode</a> は Max サブスクライバーで Opus 4.7 で利用可能になり、<code>--enable-auto-mode</code> フラグは不要になりました</div>

120 <div><a href="/ja/docs/interactive-mode#session-recap">Session recap</a> は、あなたが離れている間に何が起こったかの 1 行の概要を表示します。<code>/recap</code> をオンデマンドで実行するか、<code>/config</code> からオフにします</div>119 <div><a href="/ja/docs/interactive-mode#session-recap">Session recap</a> は、あなたが離れている間に何が起こったかの 1 行の概要を表示します。<code>/recap</code> をオンデマンドで実行するか、<code>/config</code> からオフにします</div>

121 <div>新しい <code>/tui</code> コマンドと <code>tui</code> 設定は、会話の途中でクラシックとちらつきのないレンダリングを切り替えます。フォーカスビューは <code>Ctrl+O</code> から独自の <code>/focus</code> コマンドに移動しました</div>120 <div>新しい <code>/tui</code> コマンドと <code>tui</code> 設定は、会話の途中でクラシックとちらつきのないレンダリングを切り替えます。フォーカスビューは <code>Ctrl+O</code> から独自の <code>/focus</code> コマンドに移動しました</div>

122 <div>プッシュ通知ツール:<a href="/ja/docs/remote-control">Remote Control</a> が接続され、「Claude が決定したときにプッシュ」が有効になっている場合、Claude は必要なときにあなたの電話に ping を送信できます</div>

123 <div>プラグインは、セッション開始時またはスキル呼び出し時に自動的に武装する <code>monitors</code> マニフェストキーを介してバックグラウンドウォッチャーを出荷できます</div>121 <div>プラグインは、セッション開始時またはスキル呼び出し時に自動的に武装する <code>monitors</code> マニフェストキーを介してバックグラウンドウォッチャーを出荷できます</div>

124 <div><code>/theme</code> の「Auto(ターミナルに一致)」オプションは、ターミナルのダーク/ライトモードに従います</div>122 <div><code>/theme</code> の「Auto(ターミナルに一致)」オプションは、ターミナルのダーク/ライトモードに従います</div>

125 <div><code>/fewer-permission-prompts</code> はトランスクリプトをスキャンして、一般的な読み取り専用 Bash および MCP 呼び出しを検出し、<code>.claude/settings.json</code> のアローリストを提案します</div>123 <div><code>/fewer-permission-prompts</code> はトランスクリプトをスキャンして、一般的な読み取り専用 Bash および MCP 呼び出しを検出し、<code>.claude/settings.json</code> のアローリストを提案します</div>

126 <div>Claude は、Skill ツールを介して <code>/init</code>、<code>/review</code>、<code>/security-review</code> などの組み込みコマンドを検出して実行できるようになりました</div>124 <div>Claude は、Skill ツールを介して <code>/init</code>、<code>/review</code>、<code>/security-review</code> などの組み込みコマンドを検出して実行できるようになりました</div>

127 <div><code>PreCompact</code> フックは、終了コード 2 で終了するか、<code>{"{"}"decision":"block"{"}"}</code> を返すことでコンパクション をブロックできます</div>125 <div><code>PreCompact</code> フックは、終了コード 2 で終了するか、<code>{"{"}"decision":"block"{"}"}</code> を返すことでコンパクションをブロックできます</div>

128 <div><code>ENABLE\_PROMPT\_CACHING\_1H</code> は API キー、Bedrock、Vertex、および Foundry ユーザーを 1 時間のプロンプトキャッシュ TTL にオプトインします</div>126 <div><code>ENABLE\_PROMPT\_CACHING\_1H</code> は API キー、Bedrock、Vertex、および Foundry ユーザーを 1 時間のプロンプトキャッシュ TTL にオプトインします</div>

129 <div><code>sandbox.network.deniedDomains</code> 設定は、より広い <code>allowedDomains</code> ワイルドカードから特定のドメインを除外します</div>127 <div><code>sandbox.network.deniedDomains</code> 設定は、より広い <code>allowedDomains</code> ワイルドカードから特定のドメインを除外します</div>

130 <div><code>/undo</code> は <code>/rewind</code> のエイリアスになり、<code>/proactive</code> は <code>/loop</code> のエイリアスになりました</div>128 <div><code>/undo</code> は <code>/rewind</code> のエイリアスになり、<code>/proactive</code> は <code>/loop</code> のエイリアスになりました</div>

whats-new/2026-w18.md +113 −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# Week 18 · 4月27日~5月1日、2026年

6 

7> Claude Code は Windows で Git Bash なしで実行でき、claude auth login はブラウザコールバックが localhost に到達できない場合に貼り付けられた OAuth コードを受け入れ、claude project purge はプロジェクトごとにローカル状態をクリーンアップし、PR URL を /resume に貼り付けるとそれを作成したセッションが見つかります。

8 

9<div className="digest-meta">

10 <span>Releases <a href="/ja/docs/changelog#2-1-120">v2.1.120 → v2.1.126</a></span>

11 <span>4 features · 4月27日~5月1日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">ブラウザコールバックなしでサインイン</span>

17 <span className="digest-feature-pill">v2.1.126</span>

18 </div>

19 

20 <p className="digest-feature-lede"><code>claude auth login</code> は、ブラウザコールバックが localhost に到達できない場合に、OAuth コードをターミナルに直接貼り付けることができるようになりました。これは WSL2、SSH セッション、およびコンテナをカバーしており、ローカルポートへのリダイレクトが機能しない場合に対応します。同じリリースでは、遅い接続またはプロキシされた接続でのログインタイムアウト、および IPv6 のみの devcontainers での問題も修正されています。</p>

21 

22 <p className="digest-feature-try">サインインしてから、ブラウザからコードを貼り付けます:</p>

23 

24 ```bash theme={null}

25 claude auth login

26 ```

27 

28 <a className="digest-feature-link" href="/ja/docs/cli-reference#cli-commands">CLI リファレンス</a>

29</div>

30 

31<div className="digest-feature">

32 <div className="digest-feature-header">

33 <span className="digest-feature-title">claude project purge</span>

34 <span className="digest-feature-pill">v2.1.126</span>

35 </div>

36 

37 <p className="digest-feature-lede">プロジェクトのすべての Claude Code 状態を削除します:トランスクリプト、タスク、ファイル履歴、およびプロジェクトの設定エントリ。削除されるものをプレビューするための `--dry-run`、確認をスキップするための `-y`/`--yes`、選択するための `-i`/`--interactive`、およびすべてのプロジェクトをクリアするための `--all` をサポートしています。</p>

38 

39 <p className="digest-feature-try">削除されるものをプレビューします:</p>

40 

41 ```bash theme={null}

42 claude project purge --dry-run

43 ```

44 

45 <p className="digest-feature-try">その後、実際に実行します:</p>

46 

47 ```bash theme={null}

48 claude project purge

49 ```

50 

51 <a className="digest-feature-link" href="/ja/docs/cli-reference">CLI リファレンス</a>

52</div>

53 

54<div className="digest-feature">

55 <div className="digest-feature-header">

56 <span className="digest-feature-title">PR URL でレジュームする</span>

57 <span className="digest-feature-pill">v2.1.122</span>

58 </div>

59 

60 <p className="digest-feature-lede"><code>gh pr create</code> でプルリクエストを作成すると、Claude Code はそれを生成したセッションにリンクします。これで、セッションの名前を覚えることなく、PR URL だけからそのセッションに戻ることができます。</p>

61 

62 <p className="digest-feature-try">セッションピッカーを開きます:</p>

63 

64 ```text Claude Code theme={null}

65 > /resume

66 ```

67 

68 <p className="digest-feature-try">ピッカーに PR URL を貼り付けます。貼り付けの最初の文字で検索モードに入り、リストはその PR を作成したセッションにフィルタリングされます。Enter キーを押してレジュームします。GitHub、GitHub Enterprise、GitLab、および Bitbucket のプルリクエストとマージリクエスト URL はすべて機能します。</p>

69 

70 ```text Claude Code theme={null}

71 https://github.com/your-org/your-repo/pull/1234

72 ```

73 

74 <p className="digest-feature-try">ピッカーをスキップするには、代わりにコマンドラインで PR 番号を渡します:</p>

75 

76 ```bash theme={null}

77 claude --from-pr 1234

78 ```

79 

80 <a className="digest-feature-link" href="/ja/docs/sessions#use-the-session-picker">セッション:セッションピッカーを使用する</a>

81</div>

82 

83<div className="digest-feature">

84 <div className="digest-feature-header">

85 <span className="digest-feature-title">Git Bash なしの Windows</span>

86 <span className="digest-feature-pill">Windows</span>

87 </div>

88 

89 <p className="digest-feature-lede">Git for Windows は不要になりました。Bash がない場合、Claude Code はシェルツールとして PowerShell を使用し、PowerShell ツールが有効な場合はプライマリシェルとして扱われます。Microsoft Store 経由でインストールされた PowerShell 7、PATH なしの MSI、または <code>.NET</code> グローバルツールは自動的に検出されるようになりました。</p>

90 

91 <a className="digest-feature-link" href="/ja/docs/setup">セットアップガイド</a>

92</div>

93 

94<div className="digest-wins">

95 <p className="digest-wins-title">その他の改善</p>

96 

97 <div className="digest-wins-grid">

98 <div>MCP サーバーは設定で <code>alwaysLoad: true</code> を使用してツール検索の遅延をオプトアウトでき、そのサーバーのすべてのツールが常に利用可能になります</div>

99 <div>新しい <code>claude plugin prune</code> は孤立した自動インストールプラグイン依存関係を削除し、<code>plugin uninstall --prune</code> はカスケードします</div>

100 <div><code>/skills</code> にはタイプして検索できるフィルターボックスが追加され、長いリストをスクロールせずにスキルを見つけることができます</div>

101 <div><code>PostToolUse</code> フックは <code>hookSpecificOutput.updatedToolOutput</code> を介して任意のツールのツール出力を置き換えることができ、MCP ツールだけではありません</div>

102 <div>新しい <a href="/ja/docs/ultrareview"><code>claude ultrareview</code></a> サブコマンドは CI またはスクリプトから <code>/ultrareview</code> を非対話的に実行します:結果を stdout に出力し(<code>--json</code> で生の出力)、完了時に 0 で終了するか失敗時に 1 で終了します</div>

103 <div><code>--dangerously-skip-permissions</code> は <code>.claude/</code>、<code>.git/</code>、<code>.vscode/</code>、シェル設定ファイル、およびその他の以前に保護されたパスへの書き込みのプロンプトをバイパスするようになりました。ただし、危険な削除コマンドは安全ネットとしてプロンプトが表示されます</div>

104 <div><code>/model</code> ピッカーは <code>ANTHROPIC\_BASE\_URL</code> が Anthropic 互換ゲートウェイを指している場合、ゲートウェイの <code>/v1/models</code> エンドポイントからモデルをリストできます。v2.1.129 以降、<code>CLAUDE\_CODE\_ENABLE\_GATEWAY\_MODEL\_DISCOVERY=1</code> でオプトインします</div>

105 <div>起動中に一時的なエラーが発生した MCP サーバーは、接続が切れたままになるのではなく、最大 3 回まで自動的に再試行するようになりました</div>

106 <div><code>ANTHROPIC\_BEDROCK\_SERVICE\_TIER</code> は Bedrock サービスティアを選択します:<code>default</code>、<code>flex</code>、または <code>priority</code></div>

107 <div><code>/terminal-setup</code> は iTerm2 のクリップボードアクセス設定を有効にして、<code>/copy</code> が機能するようにします。tmux からも含まれます</div>

108 <div>Vertex AI は X.509 証明書ベースのワークロード ID フェデレーション(mTLS ADC)をサポートするようになりました</div>

109 <div>重大なメモリリーク修正:画像が多いセッション、大きなトランスクリプト履歴での <code>/usage</code>、およびプログレスイベントなしの長時間実行ツール</div>

110 </div>

111</div>

112 

113[v2.1.120–v2.1.126 の完全なチェンジログ →](/ja/changelog#2-1-120)

whats-new/2026-w19.md +60 −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# Week 19 · 2026年5月4日~8日

6 

7> .zip アーカイブと URL からプラグインを読み込み、Ctrl+R ですべてのプロジェクト全体のコマンド履歴を検索し、ローカル HEAD またはリモートデフォルトから新しいワークツリーをブランチし、オートモードのハードデニールルールで無条件にアクションをブロックします。

8 

9<div className="digest-meta">

10 <span>Releases <a href="/ja/changelog#2-1-128">v2.1.128 → v2.1.136</a></span>

11 <span>2 features · 5月4日~8日</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">.zip アーカイブと URL からのプラグイン</span>

17 </div>

18 

19 <p className="digest-feature-lede">`--plugin-dir` はディレクトリに加えて <code>.zip</code> プラグインアーカイブを受け入れるようになり、新しい `--plugin-url` フラグは現在のセッション用に URL からプラグインアーカイブを取得します。プラグインをマーケットプレイスに追加する前に試したり、アーティファクトストアから内部プラグインを配布したりするのに便利です。</p>

20 

21 <p className="digest-feature-try">URL から直接プラグインを読み込みます:</p>

22 

23 ```bash terminal theme={null}

24 claude --plugin-url https://example.com/my-plugin.zip

25 ```

26 

27 <a className="digest-feature-link" href="/ja/plugins">Plugins ガイド</a>

28</div>

29 

30<div className="digest-feature">

31 <div className="digest-feature-header">

32 <span className="digest-feature-title">すべてのプロジェクト全体での履歴検索</span>

33 <span className="digest-feature-pill">v2.1.129</span>

34 </div>

35 

36 <p className="digest-feature-lede"><code>Ctrl+R</code> 逆検索はデフォルトですべてのプロジェクト全体のすべてのプロンプトに対応するようになり、v2.1.124 以前の動作を復元しました。検索中に <code>Ctrl+S</code> を押すと、現在のプロジェクトまたはセッションに絞り込むことができます。先週別のリポジトリで実行したコマンドを覚えていて、掘り下げたくない場合に便利です。</p>

37 

38 <a className="digest-feature-link" href="/ja/interactive-mode#command-history">Interactive mode: コマンド履歴</a>

39</div>

40 

41<div className="digest-wins">

42 <p className="digest-wins-title">その他の改善</p>

43 

44 <div className="digest-wins-grid">

45 <div>新しい <code>worktree.baseRef</code> 設定(<code>fresh</code> | <code>head</code>)は、<code>--worktree</code>、<code>EnterWorktree</code> ツール、およびエージェント分離ワークツリーがリモートデフォルトブランチまたはローカル <code>HEAD</code> からブランチするかどうかを制御します。デフォルトの <code>fresh</code> は、新しいワークツリーからプッシュされていないコミットを除外します</div>

46 <div>新しい <code>settings.autoMode.hard\_deny</code> ルールは、より広いアロールルールが適用される場合でも、オートモードで一致するアクションを無条件にブロックします。これは、より広いアロールルールが適用される場合でも、自動的に実行されるべきではないアクション用です</div>

47 <div>Hooks は `effort.level` JSON 入力フィールドと `$CLAUDE_EFFORT` 環境変数を介してアクティブな努力レベルを受け取り、Bash ツールコマンドは <code>\$CLAUDE\_EFFORT</code> を読み取ることができます</div>

48 <div><code>CLAUDE\_CODE\_DISABLE\_ALTERNATE\_SCREEN=1</code> はフルスクリーン代替スクリーンレンダラーをオプトアウトし、会話をターミナルのネイティブスクロールバックに保ちます</div>

49 <div><code>CLAUDE\_CODE\_PACKAGE\_MANAGER\_AUTO\_UPDATE</code> は Homebrew または WinGet インストールがバックグラウンドでアップグレードを実行し、再起動を促すことができます</div>

50 <div><code>CLAUDE\_CODE\_SESSION\_ID</code> は Bash ツールサブプロセス環境にあり、hooks に渡される <code>session\_id</code> と一致します</div>

51 <div><code>/mcp</code> は接続されたサーバーのツール数を表示し、0 個のツールで接続されたサーバーにフラグを立てます</div>

52 <div><code>--channels</code> はコンソール(API キー)認証で機能するようになりました</div>

53 <div>Bash、hooks、MCP、LSP などのサブプロセスは <code>OTEL\_\*</code> 環境変数を継承しなくなったため、Bash ツール経由で実行される OTEL インストルメント化されたアプリは、CLI 自体の OTLP エンドポイントを取得しなくなります</div>

54 <div>サブエージェント進捗サマリーはプロンプトキャッシュにヒットするようになり、<code>cache\_creation</code> トークンコストを約 3 倍削減します</div>

55 <div>複数の OAuth および認証情報の信頼性修正:並列セッションはリフレッシュトークンレース後に 401 で行き止まりにならず、MCP OAuth リフレッシュトークンは複数のサーバーが同時にリフレッシュするときに失われず、同時認証情報書き込みからのまれなログインループが修正されます</div>

56 <div>新しい <code>parentSettingsBehavior</code> 管理キーは、管理者が SDK <code>managedSettings</code> をポリシーマージにオプトインできるようにします</div>

57 </div>

58</div>

59 

60[v2.1.128–v2.1.136 の完全なチェンジログ →](/ja/changelog#2-1-128)