{"version":"2.1.208","anchor":"claude-code-process-wrapper-environment-variable","canonical_anchor":"claude-code-process-wrapper-environment-variable","heading":"CLAUDE_CODE_PROCESS_WRAPPER environment variable","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.208\/e\/claude-code-process-wrapper-environment-variable","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.208","markdown":"### CLAUDE_CODE_PROCESS_WRAPPER environment variable\n\n**What**\n\nA new environment variable that wraps every Claude Code process launch through a custom launcher binary. All background sessions, daemon-spawned sessions, and self-exec restarts will be run through the configured wrapper.\n\n**Usage**\n\n`# Point at an absolute path to your launcher script export CLAUDE_CODE_PROCESS_WRAPPER=\"\/usr\/local\/bin\/my-launcher\" # Or pass as a JSON array for launchers with fixed arguments export CLAUDE_CODE_PROCESS_WRAPPER='[\"\/usr\/local\/bin\/my-launcher\", \"--profile\", \"claude\"]'` **Details** - Must be an absolute path (bare names resolved via PATH are not accepted) - On Windows, the wrapper is not supported \u2014 sessions run unwrapped and a warning is logged - The launcher must exec into Claude Code rather than daemonize; a launcher that daemonizes is detected and rejected - If the configured launcher path is deleted or becomes non-executable, new background sessions are refused rather than started unwrapped - Project-scoped settings files (`.claude\/settings.json` and `.claude\/settings.local.json`) cannot configure `CLAUDE_CODE_PROCESS_WRAPPER`; it must be in user settings or managed settings - Run `claude status` to see the current wrapper configuration and any errors **Evidence** New `CLAUDE_CODE_PROCESS_WRAPPER` constant (search for `\"CLAUDE_CODE_PROCESS_WRAPPER\"`)"}