CLAUDE_CODE_VERSION

Updated by

CLAUDE_CODE_VERSION is a Claude Code environment variable: Exposes the CLI version to subprocesses, hooks, and MCP servers. Your hooks and MCP tools can now read CLAUDE_CODE_VERSION directly — gate behavior on minimum version, log it for observability, or refuse to run on an incompatible version. Added between v2.1.128 and v2.1.138 and still present in v2.1.294. It is not in the official reference.

StatusPresent in v2.1.294
AddedAdded between v2.1.128 and v2.1.138
CategoryOther
Official docsNot listed

How to set it

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

export CLAUDE_CODE_VERSION=<value>
claude

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

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

Release notes that mention it

Related variables

Frequently asked questions

What does CLAUDE_CODE_VERSION do?

Exposes the CLI version to subprocesses, hooks, and MCP servers. Your hooks and MCP tools can now read CLAUDE_CODE_VERSION directly — gate behavior on minimum version, log it for observability, or refuse to run on an incompatible version.

Which Claude Code version has CLAUDE_CODE_VERSION?

Added between v2.1.128 and v2.1.138 and still present in v2.1.294.

How do I set CLAUDE_CODE_VERSION?

Export it before starting Claude Code (export CLAUDE_CODE_VERSION=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.