CLAUDE_CODE_SESSION_ID
Updated by Alex Sorokoletov
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.
| Status | Present in v2.1.294 |
|---|---|
| Added | Added between v2.1.118 and v2.1.123 |
| Category | Sessions |
| Official docs | Listed |
How to set it
For one session, export it in the shell that starts Claude Code:
export CLAUDE_CODE_SESSION_ID=<value>
claudeTo 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
- Claude Code v2.1.123 — Background Daemons, Agent Fleets, and CoWork Memory
- 165 Environment Variables in Claude Code 2.1.69 — What Changed in 50 Versions
- 83 Undocumented Claude Code Environment Variables (v2.1.19)
- claude-code-env-vars-v2-1-215
- claude-code-env-vars-v2-1-210
Related variables
CLAUDE_BRIDGE_REATTACH_SESSION: Session identity used during bridge reconnection.CLAUDE_CODE_BRIDGE_SESSION_IDCLAUDE_CODE_CHILD_SESSIONCLAUDE_CODE_EMIT_SESSION_STATE_EVENTS: Controls whether Claude Code emits session state change events.CLAUDE_CODE_FORCE_SESSION_PERSISTENCECLAUDE_CODE_POST_FOR_SESSION_INGRESS_V2: Use POST-based session ingress v2.CLAUDE_CODE_REMOTE_SESSION_ID: Remote session identifier.CLAUDE_CODE_REMOTE_SESSION_ORIGIN: Provenance tag for cloud/remote sessions, checked against the value "review".
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.