{"name":"CLAUDE_CODE_ENTRYPOINT","slug":"claude-code-entrypoint","family":"env","title":"Environment variables","noun":"environment variable","description":"Waiting for MCP servers before a headless run is tidied up and logs more detail.","description_source":"entry","described_by":{"version":"2.1.221","anchor":"headless-mcp-pre-wait-takes-an-options-object-and-reports-mo"},"presence":{"first_seen":"2.1.138","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":149,"mined_builds":149,"first_cited":{"version":"2.1.248","released_at":"2026-08-27 20:35:36","spans":5}},"aliases":[],"entries":[{"version":"2.1.305","anchor":"claude-code-entrypoint-on-requests-env-var-renames-the-entr","heading":"A desktop host can set the name Claude Code's requests are sent under","line":"`CLAUDE_CODE_ENTRYPOINT_ON_REQUESTS` sets the name requests go out under, but only when `CLAUDE_CODE_ENTRYPOINT` is `claude-desktop-3p`","released_at":"2026-10-20 19:29:36","reason":"found in this entry's text"},{"version":"2.1.304","anchor":"plugin-mcp-servers-can-be-lazily-deferred-by-default-for-som","heading":"Plugin MCP servers can be loaded later by default in some cases","line":"Plugin MCP servers that don't set alwaysLoad can now be deferred until needed in some cases, not only those with alwaysLoad set to false","released_at":"2026-10-19 19:47:15","reason":"found in this entry's text"},{"version":"2.1.301","anchor":"attribution-header-entrypoint-can-be-overridden-by-a-functio","heading":"The reported entry point in request headers can now come from another source","line":"Claude Code now checks another source for its reported entry point before falling back to CLAUDE_CODE_ENTRYPOINT","released_at":"2026-10-15 14:34:23","reason":"found in this entry's text, named in this entry"},{"version":"2.1.301","anchor":"user-agent-entrypoint-can-come-from-a-new-helper","heading":"Claude Code's request label checks another source for how it was started","line":"The label Claude Code sends with its requests now checks another source first for how it was started, before `CLAUDE_CODE_ENTRYPOINT`","released_at":"2026-10-15 14:34:23","reason":"found in this entry's text, named in this entry"},{"version":"2.1.292","anchor":"tengu-iridescent-pascal-gate-removed-from-skill-permission-r","heading":"Skill permission reset now applies only to remote cowork sessions","line":"The permission reset when a skill runs no longer has a server switch and now depends only on the session being a remote cowork one","released_at":"2026-10-06 17:10:31","reason":"found in this entry's text, named in this entry"},{"version":"2.1.287","anchor":"cowork-skills-and-explain-usage-enabled-in-more-contexts","heading":"Cowork setup and \/explain-usage no longer limited to the remote Cowork entry point","line":"The Cowork guided setup and \/explain-usage were available only when Claude Code started as remote Cowork; they now follow a different check","released_at":"2026-10-01 16:59:25","reason":"found in this entry's text, named in this entry"},{"version":"2.1.286","anchor":"tengu-sorted-flute-gate-removed-from-the-flagsettings-update","heading":"Skipping flag settings saves no longer depends on a remote switch","line":"The rule that lets Claude Code skip saving and announcing unchanged flag settings now depends on how it was launched and on policy, not a remote switch","released_at":"2026-09-30 17:14:38","reason":"found in this entry's text"},{"version":"2.1.284","anchor":"tengu-drifting-heron-gate-lets-a-remote-trigger-tool-be-defe","heading":"A tool in remotely triggered sessions may no longer be loaded up front","line":"In sessions started by a remote trigger, one tool is no longer always forced into the set of tools loaded at the start","released_at":"2026-09-28 17:11:59","reason":"found in this entry's text, named in this entry"},{"version":"2.1.284","anchor":"tengu-violin-pegbox-gate-removed-remote-desktop-no-longer-n","heading":"Remote sessions from the desktop app no longer need an extra flag","line":"Remote sessions started from the Claude desktop app now depend on the same single flag as every other starting point","released_at":"2026-09-28 17:11:59","reason":"found in this entry's text, named in this entry"},{"version":"2.1.284","anchor":"new-built-in-plugin-cc-plugin-mods-guide-behind-tengu-linen","heading":"Hidden built-in guide plugin for mods, with an animated panel","line":"A built-in plugin, `cc-plugin-mods-guide`, shows an animated panel over a question about hot reloading and is off unless switched on remotely","released_at":"2026-09-28 17:11:59","reason":"found in this entry's text"}],"entries_total":41,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"CLAUDE_CODE_3P_PROBE_WROTE_HAIKU_DEFAULT","slug":"claude-code-3p-probe-wrote-haiku-default","description":"If your cloud account cannot use a model, Claude Code can step down to the next one; `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` turns this off"},{"name":"CLAUDE_CODE_3P_PROBE_WROTE_OPUS_DEFAULT","slug":"claude-code-3p-probe-wrote-opus-default","description":"Internal marker on third-party providers. When Claude Code itself writes `ANTHROPIC_DEFAULT_OPUS_MODEL` into its environment (the model availability probe on Bedrock, Vertex or Mantle, or a move down the model fallback ladder), it sets this variable to the same model ID. An `ANTHROPIC_DEFAULT_OPUS_MODEL` equal to it is treated as Claude Code's own choice rather than a user pin: it does not count as pinned, the probe does not skip it, and the fallback ladder may move it."},{"name":"CLAUDE_CODE_3P_PROBE_WROTE_SONNET_DEFAULT","slug":"claude-code-3p-probe-wrote-sonnet-default","description":"On third-party providers, Haiku model names are no longer skipped by the check that sets up the Sonnet default model"},{"name":"CLAUDE_CODE_3P_SEEDED_OPUS_DEFAULT","slug":"claude-code-3p-seeded-opus-default","description":"If your cloud account cannot use a model, Claude Code can step down to the next one; `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` turns this off"},{"name":"CLAUDE_CODE_3P_SEEDED_SONNET_DEFAULT","slug":"claude-code-3p-seeded-sonnet-default","description":"If your cloud account cannot use a model, Claude Code can step down to the next one; `CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK` turns this off"},{"name":"CLAUDE_CODE_ACCESSIBILITY","slug":"claude-code-accessibility","description":"Set to `1` to keep the native terminal cursor visible and disable the inverted-text cursor indicator. Allows screen magnifiers like macOS Zoom to track cursor position"},{"name":"CLAUDE_CODE_ACCOUNT_TAGGED_ID","slug":"claude-code-account-tagged-id","description":"Overrides the `user.account_id` attribute Claude Code attaches to its OpenTelemetry data. It applies only when an account UUID is known and `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` is not turned off (default on); when unset or empty, `user.account_id` is derived from the account UUID as a tagged ID of the form `user_01...`."},{"name":"CLAUDE_CODE_ACCOUNT_UUID","slug":"claude-code-account-uuid","description":"The device bridge is skipped entirely when the host's account UUID doesn't match the stored one."},{"name":"CLAUDE_CODE_ACT_DONT_REDERIVE","slug":"claude-code-act-dont-rederive","description":"Three existing feature gates moved position; their defaults are unchanged."},{"name":"CLAUDE_CODE_ACTION","slug":"claude-code-action","description":"Marks a run as coming from the Claude Code GitHub Action. A truthy value (`1`, `true`, `yes` or `on`) makes Claude Code set `CLAUDE_CODE_ENTRYPOINT` to `claude-code-github-action`, but only when `CLAUDE_CODE_ENTRYPOINT` is not already set and the command is not `claude mcp serve`. It is also reported as `isClaudeCodeAction` in the environment details attached to telemetry."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-entrypoint","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}