CLAUDE_CODE_SESSION_ID

Updated by

CLAUDE_CODE_SESSION_ID is a Claude Code environment variable: Stable identifier for the current session, passed into subprocess environments. Lets subprocess tools — hooks, MCP servers, custom scripts — correlate their work back to the originating session without parsing log files. Backs v2.1.122's PR-URL→session lookup feature. Added between v2.1.118 and v2.1.123 and still present in v2.1.294. It is listed in the official reference.

StatusPresent in v2.1.294
AddedAdded between v2.1.118 and v2.1.123
CategorySessions
Official docsListed

How to set it

For one session, export it in the shell that starts Claude Code:

export CLAUDE_CODE_SESSION_ID=<value>
claude

To apply it to every session, add it to the env object of a settings file:

// ~/.claude/settings.json
{
  "env": {
    "CLAUDE_CODE_SESSION_ID": "<value>"
  }
}

Release notes that mention it

Related variables

Frequently asked questions

What does CLAUDE_CODE_SESSION_ID do?

Stable identifier for the current session, passed into subprocess environments. Lets subprocess tools — hooks, MCP servers, custom scripts — correlate their work back to the originating session without parsing log files. Backs v2.1.122's PR-URL→session lookup feature.

Which Claude Code version has CLAUDE_CODE_SESSION_ID?

Added between v2.1.118 and v2.1.123 and still present in v2.1.294.

How do I set CLAUDE_CODE_SESSION_ID?

Export it before starting Claude Code (export CLAUDE_CODE_SESSION_ID=value), or add it to the "env" object in ~/.claude/settings.json to apply it to every session.

All variables, searchable: Claude Code environment variables.