ANTHROPIC_CUSTOM_HEADERS
A Claude Code environment variable, read out of the shipped bundle. It has been in the build since v2.1.138, including the newest one read.
What it is
Custom headers to add to requests (Name: Value format, newline-separated for multiple headers). If a name or value contains a character an HTTP header can't carry, such as a curly quote or a zero-width space, Claude Code fails the request with an error that identifies the pair by position. Requires Claude Code v2.1.227 or later. [Invalid request header value](/docs/en/errors#invalid-request-header-value) lists the exact character set and where the check runs
Anthropic's own wording. Read off Environment variables, captured 2026-08-28.
Presence across releases
| Releases | Reading | Declared type | Default |
|---|---|---|---|
| 2.1.245 – 2.1.250 5 releases | never mined | — | — |
| 2.1.242 – 2.1.243 2 releases | in the build | — | — |
| 2.1.160 – 2.1.241 73 releases | in the build | str | — |
| 2.1.138 – 2.1.159 20 releases | in the build | — | — |
A row reading never mined is a release with no archived bundle behind it. Nothing was read out of it, so nothing here says whether the name was in it. A declared type or a default is only ever what that release's own bundle stated.
Changelog entries naming it
-
v2.1.227Auth failures now name the credential source
Auth failures now name where the bad credential came from, like your custom headers.
named in this entry
-
v2.1.227Bad HTTP header values are rejected before the request instead of crashing
Illegal header values from your env or key helper now fail clearly instead of crashing.
named in this entry
-
v2.1.227Auth token and custom header failures now say which value is wrong
Bad auth tokens and custom headers now each get a message naming the exact value to fix.
named in this entry
Documentation pages
- Environment variables reference table Claude Code CLI
- Manage multiple agents with agent view mentions it Claude Code CLI
- Claude Code on Amazon Bedrock mentions it Claude Code CLI
- Error reference mentions it Claude Code CLI
- Connect Claude Code to an LLM gateway mentions it Claude Code CLI
- Gateway protocol reference mentions it Claude Code CLI
- Roll out an LLM gateway for your organization mentions it Claude Code CLI
- Connect Claude Code to tools via MCP mentions it Claude Code CLI
- Configuration reference mentions it Claude Documentation
A reference table page is one whose own table defines this name, and it is where the description above came from. A page that mentions it carries the name somewhere in its text and may say nothing about it at all. Every page carrying it.
Names beside it
Every environment variable in the inventory starting anthropic_custom, up to twelve of them.
ANTHROPIC_CUSTOM_MODEL_OPTIONModel ID to add as a custom entry in the /model picker. Use this to make a non-standard or gateway-specific model selectable without replacing built-in aliases. See [Model configuration](/docs/en/model-config#add-a-custom-model-option) 2.1.138
ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTIONDisplay description for the custom model entry in the /model picker. Defaults to Custom model (<model-id>) when not set 2.1.138
ANTHROPIC_CUSTOM_MODEL_OPTION_NAMEDisplay name for the custom model entry in the /model picker. Defaults to the model ID when not set 2.1.138
Read out of the published npm bundle release by release, and out of Anthropic's own documentation as this site captured it. Nothing on this page is a description anybody here wrote about what the environment variable does. All environment variables.