1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

10/15 の公式ドキュメント更新:フック実行条件の明文化とサブエージェントの自動コンパクト制御

1
Posted at

2026-10-15 のドキュメント追加は、フックが @ 参照に対してどう動くかの明文化と、サブエージェント単位でのコンテキスト管理機能の追加を中心に、v2.1.296〜v2.1.300 の範囲にまたがる機能群のドキュメント化がまとめて行われた日です。

@ 参照とフックの実行条件

プロンプトで @ を使ってファイルを参照するとき、Claude Code はそのファイルの内容をプロンプト構築時に直接挿入します。この挿入のタイミングでは PreToolUse フックは一切実行されません。Read にマッチするフックも含め、フックはすり抜ける形になります。

これまでフックでファイル読み取りを制御しようとしていた場合、@ 参照はその制御の外にあったことがここで明文化されました。@ 参照自体を制限する手段として、特定のパスには Read の deny ルールを追加する方法と、@ 挿入の機能ごと無効にする方法の 2 つが記述されています。

後者には新しい環境変数が使えます。

set CLAUDE_CODE_DISABLE_FILE_MENTIONS=1 in your shell, user settings, or managed settings. Claude then gets the mentioned paths with a note to read them using its file tools.

(出典 [1])

(訳:シェル、ユーザー設定、またはマネージド設定で CLAUDE_CODE_DISABLE_FILE_MENTIONS=1 を設定します。そうすると Claude は、ファイルツールを使って読むよう指示とともにパスを受け取ります。)

この変数を有効にすると @ で指定されたパスはツール呼び出しを通じて読まれる形になるため、PreToolUse フックが実行されます。この環境変数は Claude Code v2.1.299 以降が必要で、プロジェクト設定やローカル設定には記述できません(2026-10-15 時点)。

サブエージェントの自動コンパクト閾値を個別に設定する

サブエージェントのフロントマターに autoCompactWindow フィールドが追加されました。100000 から 1000000 のトークン数を指定することで、そのサブエージェントの自動コンパクト閾値をセッション全体の設定より低く抑えられます。長いログファイルを処理するなど、コンテキストが膨らみやすいサブエージェントに対して、より早い段階でコンパクトをかけたい場合に使います。

This frontmatter sets autoCompactWindow to 200,000 tokens for a subagent that reads long log files

(出典 [2])

(訳:このフロントマターは、長いログファイルを読むサブエージェントの autoCompactWindow を 200,000 トークンに設定しています。)

値は 200000 のように整数で書く必要があります。200k のような表記は Claude Code が 200 と解釈し、許容範囲外として無視されます。設定した値が無視されているかどうかは、claude --debug でデバッグログを起動し、invalid autoCompactWindow を検索して確認できます。

この機能は Claude Code v2.1.296 以降が必要です。TypeScript Agent SDK では v0.3.296 以降でサポートされていますが、Python SDK の AgentDefinition にはこのフィールドがありません(2026-10-15 時点)。セッション全体に環境変数 CLAUDE_CODE_AUTO_COMPACT_WINDOW を設定している場合は、フロントマターの値より環境変数が優先されます。

フロントマターには skills フィールドも追加されており、サブエージェント起動時にスキルをコンテキストにプリロードできます。

スキル名に使えない文字の明文化

スキルのディレクトリ名やフロントマターの name フィールドに使用できない文字のリストがドキュメント化されました。スキルが / メニューに表示されない場合の診断手順も併せて追加されています。

Claude Code refuses a command name or a frontmatter name that contains characters such as these: A zero-width space or a control character

(出典 [3])

(訳:Claude Code は、ゼロ幅スペースや制御文字などの文字を含むコマンド名またはフロントマター名を拒否します。)

拒否される文字には、ゼロ幅スペース、制御文字、プライベートユース文字(アイコンフォントのグリフなど)、テキスト方向を変える文字、通常のスペース以外の空白(改行なしスペース、連続スペース、先頭・末尾のスペース)、< と > が含まれます。

プラグインのスキルフォルダーの場合は扱いが異なります。フォルダー名に上記の文字が含まれていても読み込み自体は行われ、コマンド名でそれらの文字はハイフンに変換されます。フロントマターの name に問題のある文字がある場合は、/ メニューに表示されず名前での起動もできないため、name: 行を編集して削除する必要があります。拒否された名前を確認するには claude --debug でデバッグログを起動し、[names] を検索します。

その他の更新

  • スケジュールタスクの次回実行時刻表示: CronList で各タスクの次回実行時刻が表示されるようになりました。CronCreate 呼び出し直後の行でも確認でき、v2.1.299 以降が必要です(2026-10-15 時点)。
  • 環境変数 CLAUDE_CODE_ARTIFACT_PUBLISH_EDITS: 0 に設定すると、アーティファクトの公開時に Claude が小さな変更を自動適用するのを止め、ファイル編集と公開を別ステップで行います。v2.1.300 以降が必要です(2026-10-15 時点)。
  • 環境変数 CLAUDE_CODE_ATTRIBUTION_HEADER: 0 に設定すると、システムプロンプト先頭のアトリビューションブロック(クライアントバージョンとプロンプトフィンガープリントを含む)が省略されます。v2.1.300 以降が必要です(2026-10-15 時点)。
  • MCP 接続ステータスの確認: /mcp コマンドでサーバー行にチェックマークが表示されれば接続成功、✘ の場合はその行に HTTP ステータスコードも含まれるようになりました。

まとめ

この日の更新を整理すると、フックベースのアクセス制御を実装している開発者と、サブエージェントを複数運用している開発者の両方に直接影響があります。@ 参照が PreToolUse フックをすり抜けることが明文化されたことで、フックで読み取りを制御していた設計は見直しが必要になる場合があります。autoCompactWindow の追加により、コンテキストが膨らみやすいサブエージェントの挙動をエージェント単位で細かく調整できるようになります。いずれの機能も v2.1.296〜v2.1.300 の範囲でバージョン条件が設定されており、利用前のバージョン確認が必要です。

出典

本稿の引用はすべて一次資料と逐語照合(verify_article 通過)のうえ掲載しています(2026-10-22 検証)。

[1] https://code.claude.com/docs/en/hooks
[2] https://code.claude.com/docs/en/sub-agents
[3] https://code.claude.com/docs/en/slash-commands
[4] https://code.claude.com/docs/en/mcp
[5] https://code.claude.com/docs/en/skills
[6] https://code.claude.com/docs/en/agent-sdk/subagents
[7] https://code.claude.com/docs/en/scheduled-tasks
[8] https://code.claude.com/docs/en/env-vars

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?