{"version":"2.1.290","anchor":"shell-snapshot-path-override-and-simpler-function-injection","canonical_anchor":"shell-snapshot-path-override-and-simpler-function-injection","heading":"Bash commands now get their PATH from a new source","tier":"notice","area":"Shell","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290\/e\/shell-snapshot-path-override-and-simpler-function-injection","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.290","markdown":"### Bash commands now get their PATH from a new source\n\nClaude Code's saved shell setup now takes its PATH from a new source, falling back to your own, and always adds a guard on pkill\n\n**Unclear.** It is not clear what the new `PATH` value contains or when it differs from your own.\n\n**What**\n\nBefore running shell commands, Claude Code saves a snapshot of your shell's setup and loads it for every command its Bash tool runs. Three things about that snapshot changed:\n\n- `PATH`, the list of folders the shell searches for programs, now starts from a value Claude Code works out itself, and falls back to your own `PATH` only if that is empty.\n\n- A replacement for `pkill` is always included. It refuses patterns that would match Claude Code's own process.\n\n- A replacement for `find` and `grep` is included only when Claude Code ships its own built-in version.\n\n**Why**\n\nThe `PATH` decides which program runs when a command names one, so this can change which version of a tool every Bash command picks up. The `pkill` guard stops a command from accidentally killing Claude Code itself.\n\n- Area: Shell\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}