環境変数

CLAUDE_CODE_SESSION_ID

Bash および PowerShell ツールのサブプロセスに対して、現在のセッション ID を自動的にセットします。

使い方・用途

  • 実行中のスクリプトや外部ツールから、現在の Claude Code セッションを一意に識別するために使用します。
  • フック(Hooks)に渡される JSON コンテキスト内の ID と一致するため、操作ログをセッションごとに分離して保存するワークフローの構築に役立ちます。
  • /clear 実行時に更新されるため、常に現在のコンテキストに基づいた自動化が可能です。
英語原文(公式ドキュメントより)

Set automatically in Bash and PowerShell tool subprocesses to the current session ID. Matches the session_id field passed to hooks. Updated on /clear. Use to correlate scripts and external tools with the Claude Code session that launched them

関連する変更履歴

v2.1.163(1件)

Changed
stdio MCP サーバーが、--resume 実行時にフックや Bash と同じ CLAUDE_CODE_SESSION_ID を受け取るよう変更
英語原文を表示
stdio MCP servers now receive the same CLAUDE_CODE_SESSION_ID as hooks/Bash on --resume

変更前

セッション再開時、MCP サーバーが起動時の古いセッション ID を保持し続け、他のツールとの一貫性が失われる場合がありました。

変更後

すべてのサブプロセスが共通の現在のセッション ID を参照できるようになります。

ユーザーへの恩恵

外部ツールやログの相関分析を行う際に、MCP サーバーの動作を正確に現在のセッションに紐付けることができます。

関連ドキュメント

v2.1.154(1件)

Changed
Stdio MCPサーバーのサブプロセスに、環境変数CLAUDE_CODE_SESSION_IDCLAUDECODE=1が渡されるようになりました。
英語原文を表示
Stdio MCP server subprocesses now receive CLAUDE_CODE_SESSION_ID and CLAUDECODE=1 in their environment

変更前

自作のMCPサーバーを実行する際、それがClaude Codeから呼び出されたものなのか、どのセッションに関連しているのかをサーバー側で判別する標準的な方法がありませんでした。

変更後

MCPサーバー側でセッションIDを取得できるようになり、さらにClaude Code環境下であることの判定も容易になりました。

ユーザーへの恩恵

MCPサーバー側でセッションごとのログを記録したり、Claude Codeからの呼び出し時のみ特定の挙動をさせたりといった、より高度なインテグレーションが可能になります。

関連ドキュメント

v2.1.132(1件)

Added
Bash ツールのサブプロセス環境に CLAUDE_CODE_SESSION_ID 環境変数を追加し、フックに渡される session_id と一致させました
英語原文を表示
Added CLAUDE_CODE_SESSION_ID environment variable to the Bash tool subprocess environment, matching the session_id passed to hooks

変更前

Bash ツールで実行されるスクリプトやコマンドから、現在の Claude Code セッションを一意に識別する ID を直接参照する標準的な方法がありませんでした。

変更後

Bash ツールの実行環境に CLAUDE_CODE_SESSION_ID が自動的にセットされるようになり、フック(Hooks)に渡される JSON コンテキスト内の ID と同じ値をスクリプト内で利用できます。

ユーザーへの恩恵

セッションごとにログを分けたり、フックで開始した外部プロセスと Bash ツールでの操作を紐付けたりする自動化ワークフローがより確実かつ簡単に構築できるようになります。

関連ドキュメント