{"name":"CLAUDE_CODE_SESSION_ACCESS_TOKEN","slug":"claude-code-session-access-token","family":"env","title":"Environment variables","noun":"environment variable","description":"Remote settings can now supply many more environment variables, including auth tokens and home directory paths.","description_source":"entry","described_by":{"version":"2.1.223","anchor":"remote-settings-env-allowlist-widened"},"presence":{"first_seen":"2.1.138","removed_in":null,"in_current_build":true,"newest_mined":"2.1.309","builds":150,"mined_builds":150,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.309","anchor":"runner-env-var-and-session-token-handling","heading":"Runners pass CLAUDE_RUNNER_ALIVE_EVERY_MS and can apply session tokens while running","line":"CLAUDE_RUNNER_ALIVE_EVERY_MS is now passed through, and session and OAuth tokens can be applied while running in a certain mode","released_at":"2026-10-22 20:34:13","reason":"found in this entry's text"},{"version":"2.1.309","anchor":"hooks-in-ccr-sessions-may-get-claude-code-session-access-tok","heading":"Hooks in some remote sessions can receive the session access token","line":"In some remote sessions, command hooks can now be given `CLAUDE_CODE_SESSION_ACCESS_TOKEN` in their environment","released_at":"2026-10-22 20:34:13","reason":"named in this entry, found in this entry's text"},{"version":"2.1.309","anchor":"code-review-mode-refuses-to-start-unless-tokens-arrive-on-fd","heading":"Code review on self-hosted runners requires tokens passed on file descriptors","line":"In code review mode, Claude Code refuses to start unless it gets its two tokens on file descriptors 4 and 5, not from environment variables","released_at":"2026-10-22 20:34:13","reason":"named in this entry, found in this entry's text"},{"version":"2.1.299","anchor":"self-hosted-runner-tools-host-in-session-token-response","heading":"Self-hosted runners can be told to use a separate host for tools","line":"On self-hosted runners, the session token answer can name a tools host, which skips the remote setup fetch and keeps the token out of the environment","released_at":"2026-10-14 00:23:19","reason":"found in this entry's text"},{"version":"2.1.283","anchor":"in-remote-sessions-otlp-metrics-can-go-through-the-session","heading":"Metrics from cloud sessions can be sent through the session's own connection","line":"In remote sessions, usage metrics can now go to the session's own metrics address, signed with `CLAUDE_CODE_SESSION_ACCESS_TOKEN`","released_at":"2026-09-25 18:46:11","reason":"found in this entry's text"},{"version":"2.1.280","anchor":"code-sign-now-supports-lifecycle-hook-processes-not-just-sp","heading":"code-sign now supports lifecycle-hook processes, not just spawned child sessions","line":"Code-signing now also recognizes lifecycle-hook processes, not just spawned sessions","released_at":"2026-09-22 15:44:39","reason":"found in this entry's text"},{"version":"2.1.259","anchor":"session-identity-now-cached-per-host-and-derived-from-a-new","heading":"Session identity now cached per host and derived from a new token source","line":"Remote session identity is now cached per host and read through a helper instead of the access-token variable directly.","released_at":"2026-09-02 21:21:42","reason":"found in this entry's text, named in this entry"},{"version":"2.1.248","anchor":"remote-startup-waits-for-its-credentials-file-instead-of-fai","heading":"Remote startup waits for its credentials file instead of failing fast","line":"Remote sessions now wait and retry for their credentials file instead of failing immediately.","released_at":"2026-08-27 20:35:36","reason":"found in this entry's text"},{"version":"2.1.224","anchor":"self-hosted-runner-decode-token-inspects-a-session-token-ver","heading":"self-hosted-runner decode-token inspects a session token, verifying it by default","line":"decode-token prints a session token's claims, verifying signature and expiry by default.","released_at":"2026-08-07 01:36:32","reason":"named in this entry"},{"version":"2.1.223","anchor":"remote-settings-env-allowlist-widened","heading":"Remote-settings env allowlist widened","line":"Remote settings can now supply many more environment variables, including auth tokens and home directory paths.","released_at":"2026-08-05 22:51:13","reason":"named in this entry, found in this entry's text"}],"entries_total":10,"docs":[{"source":"claude-code","path":"self-hosted-environments-configuration","title":"Customize sessions in self-hosted environments","documented":false},{"source":"claude-code","path":"self-hosted-environments-identity","title":"Verify session identity in self-hosted environments","documented":false}],"docs_total":2,"gates":[],"related":[{"name":"CLAUDE_CODE_SESSION_","slug":"claude-code-session","description":"Two env vars let background dispatchers inherit your plan and rate tier without an API call."},{"name":"CLAUDE_CODE_SESSION_ATTENDED","slug":"claude-code-session-attended","description":"A new CLAUDE_CODE_SESSION_ATTENDED environment variable tells child processes whether the parent session is interactive"},{"name":"CLAUDE_CODE_SESSION_ID","slug":"claude-code-session-id","description":"Skills from your claude.ai account can load as a source, but only if you set the sync env var."},{"name":"CLAUDE_CODE_SESSION_KIND","slug":"claude-code-session-kind","description":"You get a one-time warning line if a query names a model Claude Code does not recognise."},{"name":"CLAUDE_CODE_SESSION_LOG","slug":"claude-code-session-log","description":"Path recorded as `logPath` in the session's entry in Claude Code's concurrent sessions registry (the per-process pid file)."},{"name":"CLAUDE_CODE_SESSION_NAME","slug":"claude-code-session-name","description":"A blank CLAUDE_CODE_SESSION_NAME now falls back to the directory-derived name."},{"name":"CLAUDE_CODE_SESSION_ORIGIN","slug":"claude-code-session-origin","description":"A new CLAUDE_CODE_SESSION_ORIGIN environment variable is read and passed through to spawned subsessions."},{"name":"CLAUDE_CODE_SESSION_START_ANNOUNCEMENTS_BEFORE_PROMPT","slug":"claude-code-session-start-announcements-before-prompt","description":"A new env var lets session-start announcements be placed before the closing line in headless runs"},{"name":"CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS","slug":"claude-code-sessionend-hooks-timeout-ms","description":"Nonsense values in retry, MCP output and hook timeout env vars now fall back to defaults."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-session-access-token","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}