CLAUDE_CODE_EXTRA_METADATA

Updated by

CLAUDE_CODE_EXTRA_METADATA is a Claude Code environment variable: Passes additional metadata to API requests beyond what Claude Code includes by default. This likely attaches custom key-value pairs to the Anthropic API call headers or body — useful for enterprise deployments that need to tag requests with cost centers, team identifiers, or routing metadata for LLM gateway proxies. Added between v2.1.77 and v2.1.79 and still present in v2.1.294. It is not in the official reference.

StatusPresent in v2.1.294
AddedAdded between v2.1.77 and v2.1.79
CategoryOther
Official docsNot listed

How to set it

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

export CLAUDE_CODE_EXTRA_METADATA=<value>
claude

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

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

Release notes that mention it

Related variables

Frequently asked questions

What does CLAUDE_CODE_EXTRA_METADATA do?

Passes additional metadata to API requests beyond what Claude Code includes by default. This likely attaches custom key-value pairs to the Anthropic API call headers or body — useful for enterprise deployments that need to tag requests with cost centers, team identifiers, or routing metadata for LLM gateway proxies.

Which Claude Code version has CLAUDE_CODE_EXTRA_METADATA?

Added between v2.1.77 and v2.1.79 and still present in v2.1.294.

How do I set CLAUDE_CODE_EXTRA_METADATA?

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