{"version":"2.1.247","anchor":"device-hooks-get-a-full-child-environment-and-an-untrustwort","canonical_anchor":"device-hooks-get-a-full-child-environment-and-an-untrustwort","heading":"Device hooks get a full child environment, and an untrustworthy shell prefix is dropped","tier":"notice","area":"Cloud Sessions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247\/e\/device-hooks-get-a-full-child-environment-and-an-untrustwort","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.247","markdown":"### Device hooks get a full child environment, and an untrustworthy shell prefix is dropped\n\nHooks run for cloud sessions get a full environment, and an untrusted CLAUDE_CODE_SHELL_PREFIX is dropped with a warning.\n\n**What**\n\nHooks run on your machine for a cloud session now get a composed environment rather than just a PATH. If `CLAUDE_CODE_SHELL_PREFIX` is set but is not an absolute path outside what the cloud session can write, it is left out of the hook's environment and you are warned that the hook ran unwrapped.\n\n**Details**\n\n- PATH entries that the session can write to, or that cannot be resolved on this machine, are stripped and reported.\n- The old host-path\/search-path plumbing is replaced by host environment composition, child environment construction, and explicit path placement and program resolution.\n\n**Evidence**\n\n`Hooks marked cloud: \"device\" run for the cloud session WITHOUT your CLAUDE_CODE_SHELL_PREFIX here: this machine cannot vouch for that wrapper (it is not an absolute path outside what the session can write).`\n\n- Area: Cloud Sessions\n- Names: `CLAUDE_CODE_SHELL_PREFIX`\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}