What
The check deciding whether a hook command or MCP stdio program is unreadable or in reach now resolves the program against both the base environment PATH and a separate MCP-specific path, and treats any disagreement between the two as in reach. Interpreted programs are probed as well.
Details
- The shell prefix used to expand a hook command now comes from the calling context instead of being read from
CLAUDE_CODE_SHELL_PREFIXin the environment. - The old launch-directory reach builder and its
HostPathRefusederror were removed, replaced by a routine that decides which settings scopes are in reach and treats a file with more than one hard link as reachable.
Evidence
program_in_reach
Strings lifted out of the shipped bundle, so the claim above can be checked against them.