{"version":"2.1.287","anchor":"function-hooks-env-var-no-longer-injected-into-the-child-env","canonical_anchor":"function-hooks-env-var-no-longer-injected-into-the-child-env","heading":"CLAUDE_CODE_ENABLE_FUNCTION_HOOKS is no longer injected or mentioned in the hooks-off message","tier":"notice","area":"Hooks","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287\/e\/function-hooks-env-var-no-longer-injected-into-the-child-env","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.287","markdown":"### CLAUDE_CODE_ENABLE_FUNCTION_HOOKS is no longer injected or mentioned in the hooks-off message\n\nClaude Code no longer adds `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` to processes it launches, and the hooks-off message no longer mentions it\n\n**Unclear.** Whether setting `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` still has any effect, and what now replaces it, is not known.\n\n**What**\n\n`CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` is an environment variable, a setting passed to a program when it starts. Several places that used it have changed:\n\n- Claude Code no longer adds `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS: \"1\"` when it builds the environment for a program it launches. It now passes the copied environment through unchanged.\n\n- A fixed `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS` entry in the list of variables passed along to other processes was replaced by a shared list.\n\n- The check that decides whether function hooks are on no longer reads the variable directly. It now goes through a different check.\n\n- The message shown when hooks modules are turned off is shorter. It used to say the variable could be set to 0 in a settings file or the environment to turn them off, and set to 1 to force them on over a rollout that served off. It now says only that the rollout switch served off. For installed plugins it adds that built-in plugins load regardless. For plugin tests it says they run only while the switch is on.\n\n- A new `apply-project-settings` subcommand check was also observed in the same area.\n\nThe variable's name now appears 2 times in the program instead of 12. That suggests the override was removed or reduced, but the members did not confirm it.\n\n**Why**\n\nIf you or a plugin's tests relied on setting `CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1` to force hooks modules on, check that it still has an effect. The error message no longer offers it as an option.\n\n- Area: Hooks\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}