Part of the AI Coding Harness Guide — environment design for coding agents in production.

Claude Code "--client-data-url: the document has no entry for": What It Means and How to Start Anyway#

Published by

--client-data-url (or CLAUDE_CODE_CLIENT_DATA_URL) points Claude Code at a signed configuration document on downloads.claude.ai that sets client data per model. When the document has no entry for the selected model, Claude Code exits. From v2.1.302, --allow-other-models or CLAUDE_CODE_ALLOW_OTHER_MODELS=1 starts it anyway, without that document's settings.

What the document is#

Anthropic gives out the URL. Claude Code accepts only an https://downloads.claude.ai/ address with no port, credentials, query string or fragment. The document carries an RSA signature (RSASSA-PKCS1-v1_5, SHA-512) in a separate file next to it, checked against a public key built into Claude Code. An unsigned or altered document stops the launch.

Inside the document:

  • a schema version (1 or 2) and a document version number
  • an optional minimum Claude Code version
  • up to 50 entries, each a model-name pattern (a regular expression of up to 200 characters) with the client data for models that match it

The first entry whose pattern matches the model applies. Its client data is laid over the per-model client data that Claude Code otherwise receives from Anthropic for that model.

One client data key changes behavior you can see: assume_first_party_base_url. When ANTHROPIC_BASE_URL points at a host other than api.anthropic.com, this key makes Claude Code treat that base URL as the Anthropic API. It is not applied when a host app manages the provider (CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST, CLAUDE_CODE_HOST_AUTH_ENV_VAR) or when _CLAUDE_CODE_ASSUME_FIRST_PARTY_BASE_URL is already set.

How to set it#

On the command line:

claude --client-data-url "https://downloads.claude.ai/<path Anthropic gave you>"

Or as an environment variable, which keeps the URL out of the process list. In ~/.claude/settings.json:

{
  "env": {
    "CLAUDE_CODE_CLIENT_DATA_URL": "https://downloads.claude.ai/<path Anthropic gave you>"
  }
}

Neither option appears in claude --help, and the changelog does not mention either one as of v2.1.302.

How to start on a model the document does not cover#

Before v2.1.302, a model with no entry stopped the launch. From v2.1.302 there are two errors and one way past both:

  • the document has no entry for <model>; it has entries for models matching <patterns>: pass a matching --model, or allow other models.
  • the document has nothing for any model (its publisher switched it off): the document has no entries at all.
claude --client-data-url "$URL" --allow-other-models
# or
CLAUDE_CODE_ALLOW_OTHER_MODELS=1 claude

With either one set, Claude Code starts on the model and applies none of the document's per-model client data. It still loads and checks the document, so a bad URL or signature still stops the launch.

Why Claude Code refuses to start#

When the document cannot be used, Claude Code exits with Error: --client-data-url: <reason>. It does not fall back to running without it. The reasons:

Reason in the errorCauseFix
the URL must be the https://downloads.claude.ai/ address Anthropic gave youWrong host, http, a port, a query string or a fragmentUse the URL exactly as given
it cannot be used in a cloud, remote-environment or ssh sessionClaude Code runs on another machineUse it only in local sessions. Cloud sessions refuse the flag outright
it only works when Claude Code talks to the Anthropic API directlyBedrock, Vertex, Foundry or a cloud gateway is the providerRemove the flag for those providers
your organization's policy does not allow itThe organization policy turns off the model catalog, as a HIPAA policy doesRemove the flag, or ask your admin
there is nothing at that URLHTTP 404 or 410; the document was withdrawnAsk Anthropic for a new URL
could not fetch the document from downloads.claude.aiNetwork error, timeout or another HTTP statusAllow https://downloads.claude.ai through your proxy
the document or its signature is not validNo signature file, a bad signature, or a document that does not parseAsk Anthropic for a new URL
this version of Claude Code cannot read the documentUnknown signing key or schema versionRun claude update
the server returned an older document than one already accepted on this machineThe document version is lower than the highest one this machine has stored for that URLCheck for a proxy serving a cached copy, then ask Anthropic
the document requires Claude Code X or newerThe document sets a minimum versionRun claude update

How to check what it applied#

/status shows a Client data row when a document is loaded. It reads applied to <model> (document vN), or loaded (document vN), nothing in it for <model> followed by the patterns it does cover. When assume_first_party_base_url took effect, the row adds base URL treated as the Anthropic API. With --debug, the log has [clientDataUrl] loaded document vN covering N model pattern(s).

Environment variables#

VariableWhat it does
CLAUDE_CODE_CLIENT_DATA_URLURL of a signed configuration document on downloads.claude.ai with per-model client data; same as --client-data-url, and keeps the URL out of the process list. Claude Code exits if it cannot load the document.
CLAUDE_CODE_ALLOW_OTHER_MODELSSet to 1 to start on a model that the --client-data-url document has no entry for, without applying its per-model client data, instead of exiting. Same as --allow-other-models (v2.1.302+).

Timeline#

VersionPublishedChange
v2.1.2832026-09-25--client-data-url and CLAUDE_CODE_CLIENT_DATA_URL arrive. A model the document does not cover stops the launch.
v2.1.3022026-10-16--allow-other-models and CLAUDE_CODE_ALLOW_OTHER_MODELS arrive, with a separate error for a document that has no entries.

Should you use it?#

Only with a URL from Anthropic. There is no public document, and without one the flag only adds a way for the launch to fail. If you have one and also switch between models, set CLAUDE_CODE_ALLOW_OTHER_MODELS=1 so a model outside the document starts instead of exiting. If you see the errors above and did not set the flag yourself, look for CLAUDE_CODE_CLIENT_DATA_URL in the env block of your settings files or in your shell profile.


FAQ#

Q: What is --client-data-url in Claude Code?

A: A hidden flag that loads a signed configuration document from downloads.claude.ai and applies its per-model client data. It arrived in v2.1.283. CLAUDE_CODE_CLIENT_DATA_URL does the same.

Q: How do I fix "the document has no entry for" my model?

A: Pass a --model that matches one of the patterns the error lists, or add --allow-other-models (or CLAUDE_CODE_ALLOW_OTHER_MODELS=1, v2.1.302 or later) to start without the document's settings for that model.

Q: Does --client-data-url work with Bedrock or Vertex?

A: No. It works only when Claude Code talks to the Anthropic API directly. With Bedrock, Vertex, Foundry or a cloud gateway, Claude Code exits with an error.

Q: Can I write my own client data document?

A: No. Claude Code checks the document's signature against a key built into it and accepts only downloads.claude.ai URLs.

Q: Why does Claude Code exit instead of ignoring a bad document?

A: The error says it: Claude Code does not start without the configuration it was given. Remove the flag or the environment variable to start without it.


Sources: Claude Code changelog (no entry for either flag through v2.1.302)

Related: CLAUDE_CODE_CLIENT_DATA_URL in the env-var glossary | Claude Code v2.1.283 analysis | CLAUDE_CODE_ATTRIBUTION_HEADER Guide