0
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?

2026-10-07 公式ドキュメント更新:環境変数スクラブの仕様明文化とフックイベントの大幅拡充

0
Posted at

この日の更新は、環境変数のスクラブ動作を正確に記述した仕様の追加と、ワークツリー・コンパクションなどに対応したフックイベントの拡充に集中している。HIPAA 構成下でのパーミッションモード挙動の整備も加わり、運用ポリシーを設計する管理者への影響が大きい一日となった。

環境変数スクラブの仕様が正式に文書化

Claude Code はサブプロセスに渡す前に環境変数を検査し、認証情報になりうる変数を除去または加工する。この日、その挙動を具体例とともに記述した表が公式ドキュメントに加わった。

ドキュメントの記載によると、ANTHROPIC_API_KEY や AWS_SECRET_ACCESS_KEY は値ごと削除される。NPM_TOKEN や DB_PASSWORD のように名前が認証情報を示す変数も同様に削除される。DATABASE_URL がパスワードを含む場合も削除対象だが、PIP_INDEX_URL や NPM_CONFIG_REGISTRY のような URL 形式の変数はユーザー名とパスワード部分だけを除去し、URL 自体は残す。一方、GITHUB_TOKEN や GH_TOKEN はそのまま維持される。これは gh コマンドや GitHub API を呼び出すスクリプトが動作し続けるためだと説明されている。

バージョン履歴も追記されており、v2.1.251 より前では ANTHROPIC_API_KEY と AWS_SECRET_ACCESS_KEY のみが削除対象で、その他の変数は変更なく渡されていた。

This reduces what a prompt injection attack can read.

(出典 [1])

(訳:これにより、プロンプトインジェクション攻撃が読み取れる情報が制限されます。)

スクラブの目的がプロンプトインジェクション対策として明示されたことで、何を保護しているかの根拠が開発者に共有された形だ。

また、プラグイン関連の環境変数として CLAUDE_CODE_PLUGIN_DIR_WATCH と CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS が追加されている。前者はディレクトリから読み込んだモジュールのファイル変更を Claude Code が検知して自動リロードするかどうかを制御する変数で、インタラクティブセッションではデフォルトで有効、非インタラクティブセッションでは 1 を設定すると有効になる。後者はプラグインマーケットプレイスのクローンまたは更新時のタイムアウトをミリ秒で設定するもので、デフォルト値は 120000 ミリ秒(2026-10-07 時点)だとされている。CLAUDE_CODE_PLUGIN_DIR_WATCH は Claude Code v2.1.287 以降で利用できる。

フックイベントの拡充:ワークツリー・コンパクション・モデル切り替えに対応

hooks ページには WorktreeRemove、PreCompact、PostCompact、PreModelSwitch の 4 つのフックイベントが追加された。

WorktreeRemove Runs when Claude Code cleans up a worktree that your WorktreeCreate hook created.

(出典 [7])

(訳:WorktreeRemove は、WorktreeCreate フックが作成したワークツリーを Claude Code がクリーンアップする際に実行されます。)

WorktreeRemove が発火するのは、--worktree セッションを終了してワークツリーの削除を選択した場合と、ワークツリー内で実行中のバックグラウンドセッションを削除した場合の 2 つだ。Git ベースのワークツリーについては Claude Code が git worktree remove を使って自動的に後処理するとも記載されている。

PreCompact と PostCompact はコンテキストの圧縮前後にそれぞれ発火する。PreModelSwitch はユーザーまたはクライアントからのモデル切り替えリクエストが適用される直前に発火する。

Agent SDK 向けの hooks ページでは、さらに多くのフックイベントとその用途が一覧化された。TaskCreated(タスク命名規則の強制)、TaskCompleted(タスク完了前のテスト通過確認)、Elicitation(MCP サーバーによるユーザー入力要求へのプログラム的な応答)、ElicitationResult(サーバーに返す前に回答を変更または遮断)、ConfigChange(設定ファイル変更時の動的リロード)、InstructionsLoaded(CLAUDE.md などの読み込みを監査)、CwdChanged(作業ディレクトリ変更時の環境変数リロード)、FileChanged(監視対象ファイルの変更検知)、DirectoryAdded(セッション中に作業ディレクトリが追加された際の依存関係インストール)などが記載されている。

設定ソースの制御については、Python では setting_sources、TypeScript では settingSources オプションを指定することで SDK アプリケーションがどの設定ファイルを読み込むかを制御できる旨も追記された。

HIPAA 構成下でのパーミッションモード挙動が明文化

HIPAA 構成が適用された組織では、auto モードがデフォルトにならない動作が文書化された。

A terminal or VS Code session starts in Manual mode when nothing else chooses its starting permission mode.

(出典 [4])

(訳:他に起動時のパーミッションモードを指定するものがなければ、ターミナルまたは VS Code セッションは Manual モードで開始されます。)

ターミナルセッションでは「Auto mode isn't the default for your organization · Shift+Tab to switch」という通知も表示される。auto モードと bypassPermissions は引き続き利用可能で、Shift+Tab での切り替えや --permission-mode auto の引数渡し、あるいは managed settings で permissions.defaultMode を auto に設定することで有効化できる。反対に、permissions.disableAutoMode を "disable" に設定すれば auto モードを無効化でき、permissions.disableBypassPermissionsMode を "disable" に設定すれば bypassPermissions も制限できる。この動作には Claude Code v2.1.285 以降が必要とされている。

テレメトリとリテンション管理の記述が詳細化

monitoring-usage ページでは、セッション内容が外部に流出しうる経路と、対応する managed settings キーおよびイベントの対応表が追加された。Bash/PowerShell コマンド、MCP サーバー、フック、プラグイン、WebFetch、claude.ai へのアップロード、Remote Control、ローカルのトランスクリプト保持などの経路ごとに、関連する設定キーと記録されるイベント名が整理されている。

リテンションスイープのモニタリングについても記述が拡充された。managed settings で cleanupPeriodDays を設定することで全マシンに同一の保持期間を適用でき、retention_sweep イベントを収集することで実際に設定値が反映されているかを確認できる。period_days とカウンター値は文字列型で渡されるため、数値として比較する前にキャストが必要だとも記載されている。

その他の更新

  • sandboxing: バックグラウンドセッションが独自プロセスで動作し、設定でサンドボックスが有効な場合はその Bash コマンドもサンドボックス化されることが明示された。corporate launcher を利用して Claude Code 自体をサンドボックスランタイム内で実行することでプロセス全体を囲む境界を設ける方法も追記されている。
  • sub-agents: サブエージェントの name フィールドはコロンを含めず 256 文字以内であることが必須条件として明記された。コロンはプラグインスコープ付き識別子(例: my-plugin:reviewer)に予約されている。
  • worktrees: ワークツリー機能のパス・ディレクトリ・コマンドテキストに対するチェックは、シェルコマンドが書き込むファイルまでは追跡しない。cp やシェルリダイレクトでメインのチェックアウトに書き込むコマンドはパーミッションモードに従って通常のシェルコマンドと同様に扱われる。

まとめ

この日の更新が最も直接的に影響するのは、フックを使った自動化を設計している開発者と、HIPAA 構成を適用している組織の管理者だ。フックイベントの種類が増えたことで、ワークツリーのライフサイクル管理やコンテキスト圧縮のタイミングへの介入が設計しやすくなっている。HIPAA 構成下でのパーミッションモード挙動が明文化されたことで、組織ポリシーと実際の動作の整合性を確認する手がかりが整った。環境変数スクラブの仕様については、どの変数が保護され何が維持されるかが具体的に示されたため、サブプロセスを多用する構成での動作予測がしやすくなった。

出典

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

[1] https://code.claude.com/docs/en/env-vars
[2] https://code.claude.com/docs/en/sandboxing
[3] https://code.claude.com/docs/en/monitoring-usage
[4] https://code.claude.com/docs/en/permission-modes
[5] https://code.claude.com/docs/en/sub-agents
[6] https://code.claude.com/docs/en/worktrees
[7] https://code.claude.com/docs/en/hooks
[8] https://code.claude.com/docs/en/agent-sdk/hooks

0
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
0
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?