{"name":"CLAUDE_AI_ORIGIN","slug":"claude-ai-origin","family":"env","title":"Environment variables","noun":"environment variable","description":"The remote trigger tool can create webhook triggers so routines fire on outside events.","description_source":"entry","described_by":{"version":"2.1.225","anchor":"routine-trigger-tool-can-create-webhook-triggers"},"presence":{"first_seen":null,"removed_in":null,"in_current_build":false,"newest_mined":"2.1.308","builds":0,"mined_builds":149,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.283","anchor":"new-env-var-claude-code-remote-tools-pin-stored-login-makes","heading":"New variable pins the remote tools helper to your stored claude.ai login","line":"With `CLAUDE_CODE_REMOTE_TOOLS_PIN_STORED_LOGIN` set, the serve helper exits with code 78 if its API or sign-in addresses are not Anthropic's own","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text"},{"version":"2.1.260","anchor":"claudeai-urlslug-parsing-refactored-to-support-a-configura","heading":"claude.ai URL\/slug parsing refactored to support a configurable custom origin","line":"Artifact URL parsing now supports a configurable custom origin instead of a hardcoded host.","released_at":"2026-09-03 22:32:02","reason":"found in this entry's text"},{"version":"2.1.236","anchor":"an-origin-normalising-helper-with-nothing-calling-it","heading":"An origin-normalising helper with nothing calling it","line":"A strict URL-to-origin helper exists next to the claude.ai origin code, with nothing calling it.","released_at":"2026-08-19 18:45:14","reason":"found in this entry's text"},{"version":"2.1.229","anchor":"artifact-links-can-resolve-against-a-configured-host","heading":"Artifact links can resolve against a configured host","line":"Artifact links can point at a custom host you configure instead of the default origin.","released_at":"2026-08-12 19:28:48","reason":"named in this entry, found in this entry's text"},{"version":"2.1.225","anchor":"routine-trigger-tool-can-create-webhook-triggers","heading":"Routine trigger tool can create webhook triggers","line":"The remote trigger tool can create webhook triggers so routines fire on outside events.","released_at":"2026-08-07 23:08:56","reason":"named in this entry, found in this entry's text"}],"entries_total":5,"docs":[],"docs_total":0,"gates":[],"related":[{"name":"CLAUDE_AFK_COUNTDOWN_MS","slug":"claude-afk-countdown-ms","description":"How many milliseconds before auto-continue the on-screen countdown appears on an unanswered [`AskUserQuestion`](\/docs\/en\/tools-reference) dialog. Default `20000` (20 seconds), capped at the auto-continue timeout. Has no effect unless auto-continue is on; see the [`askUserQuestionTimeout`](\/docs\/en\/settings-reference#askuserquestiontimeout) setting and `CLAUDE_AFK_TIMEOUT_MS`. Requires Claude Code v2.1.198 or later"},{"name":"CLAUDE_AFK_TIMEOUT_MS","slug":"claude-afk-timeout-ms","description":"How many milliseconds of idle time before an unanswered [`AskUserQuestion`](\/docs\/en\/tools-reference) dialog auto-continues without you. Auto-continue is off by default; opt in with the [`askUserQuestionTimeout`](\/docs\/en\/settings-reference#askuserquestiontimeout) setting. This variable is an override for demos and automated tests: when set, it takes precedence over that setting and turns auto-continue on even when the setting is unset or `never`. Setting `0` doesn't turn the timeout off; it closes the dialog immediately. In v2.1.198 and v2.1.199, auto-continue was on by default with a `60000` (60 seconds) timeout. Requires Claude Code v2.1.198 or later"},{"name":"CLAUDE_AFTER_LAST_COMPACT","slug":"claude-after-last-compact","description":"When `1`, `true`, `yes` or `on`, every request that fetches a session's log entries from the session ingress API adds the query parameter `after_last_compact=true`, asking the server for the entries after the last compaction. Unset, the parameter is not sent."},{"name":"CLAUDE_AGENT_SDK_CLIENT_APP","slug":"claude-agent-sdk-client-app","description":"Names the application built on the Agent SDK. When set, it is sent on Anthropic API requests as the `x-client-app` header and appended as `client-app\/<value>` to Claude Code's `User-Agent` strings (`claude-cli\/...` and `claude-code\/...`). If the value is rejected as a header value, the error names this variable as its source."},{"name":"CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS","slug":"claude-agent-sdk-disable-builtin-agents","description":"Set to `1` to disable all built-in [subagent](\/docs\/en\/sub-agents) types such as Explore and Plan. Only applies in non-interactive mode (the `-p` flag). Useful for SDK users who want a blank slate. This also removes `general-purpose`, the subagent Claude Code runs when an Agent tool call omits `subagent_type`. Such a call then fails with [`subagent_type is required`](\/docs\/en\/errors#subagent-type-is-required)"},{"name":"CLAUDE_AGENT_SDK_DISABLE_MCP_MANIFESTS","slug":"claude-agent-sdk-disable-mcp-manifests","description":"The Agent SDK can now read tool lists from in-process MCP servers itself and pass them to the CLI when it starts"},{"name":"CLAUDE_AGENT_SDK_MCP_NO_PREFIX","slug":"claude-agent-sdk-mcp-no-prefix","description":"Set to `1` to skip the `mcp__<server>__` prefix on tool names from SDK-created MCP servers. Tools use their original names. SDK usage only"},{"name":"CLAUDE_AGENT_SDK_VERSION","slug":"claude-agent-sdk-version","description":"Your entrypoint and SDK version are checked against known values before being reported."},{"name":"CLAUDE_AGENTS_SELECT","slug":"claude-agents-select","description":"`claude agents` resolves its directory filter through storage rather than the raw path."},{"name":"CLAUDE_ARTIFACT_HOST_GRANT","slug":"claude-artifact-host-grant","description":"MCP tool access can now be restricted by a host-issued grant token via CLAUDE_ARTIFACT_HOST_GRANT"}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-ai-origin","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}