{"version":"2.1.296","anchor":"three-new-claude-code-env-vars-are-stripped-from-the-spawn","canonical_anchor":"three-new-claude-code-env-vars-registered-and-read-agent","heading":"Three new environment variables for progress summaries, sleep-compact timing and the resume hook wait","tier":"use","area":"Environment Variables","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296\/e\/three-new-claude-code-env-vars-are-stripped-from-the-spawn","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.296","markdown":"### Three new environment variables for progress summaries, sleep-compact timing and the resume hook wait\n\n`CLAUDE_CODE_AGENT_PROGRESS_SUMMARIES`, `CLAUDE_CODE_SLEEP_COMPACT_AFTER_MS` and `CLAUDE_CODE_RESUME_SESSIONSTART_HOOKS_WAIT_MS` are new and are read by Claude Code\n\n**Unclear.** What `CLAUDE_CODE_AGENT_PROGRESS_SUMMARIES` turns on, and when `CLAUDE_CODE_SLEEP_COMPACT_AFTER_MS` is applied, are not clear.\n\n**What**\n\nEnvironment variables are named settings passed to a program when it starts. This release adds three new ones. None of them appeared in the previous build, and each does nothing unless it is set:\n\n- `CLAUDE_CODE_AGENT_PROGRESS_SUMMARIES`: turns on a progress-summary switch during client setup, but only under a further condition that was not traced. Its entry in the settings-to-environment table is hard-coded to off, near `CLAUDE_CODE_QUESTION_OPTIONAL_DESCRIPTIONS`.\n\n- `CLAUDE_CODE_SLEEP_COMPACT_AFTER_MS`: supplies the `afterTurnMs` value used to time the existing `CLAUDE_CODE_SLEEP_COMPACT` feature, and only under a further internal check. Setting it also counts as sleep-compact being on, alongside `CLAUDE_CODE_SLEEP_COMPACT`.\n\n- `CLAUDE_CODE_RESUME_SESSIONSTART_HOOKS_WAIT_MS`: makes a resumed session wait for `SessionStart` hooks, which are scripts run when a session begins or resumes. Resume now passes an `onOverdueSessionStartHooks` callback that receives the output of hooks that have not finished. When they run long, Claude Code reports: \"SessionStart hooks are still running after ... ms: waiting until they end, because an administrator's hook may be among them\".\n\nAll three are on the host-managed lists, so they are removed from the environment of processes Claude Code starts. They have no matching user-facing setting.\n\n**Why**\n\nThese variables let whatever program launches Claude Code tune subagent progress summaries, sleep-compaction timing, and how a resumed session handles slow `SessionStart` hooks. Because they are stripped from child processes, tools Claude Code runs will not see them.\n\n- Area: Environment Variables\n- Tier: Use it now\n- Useful: 5\/5\n- Signal: 3\/5\n- Scope: individual\n- Heads-up: no"}