Follow Discord
Sweep 12 Nov 2026 · 23:00Z Build v2.1.323 540 read Stable v2.1.311 Latest v2.1.323 Next v2.1.323 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.321 ·

pkill, pgrep and pidwait wrappers skip the shell's own ancestor processes

Claude Code's shell setup now wraps pkill, pgrep and pidwait so they add --ignore-ancestors when supported, keeping them from matching the shell running them

Group of 2 You'll notice Improvements
JSON All of v2.1.321
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
BashArea: what it touches
ImprovementsKind: in v2.1.321,
ImprovementsSection of the release

What

When Claude runs commands through its Bash tool, Claude Code first loads a saved shell setup snippet, called the shell snapshot. That snapshot can define small wrapper functions that sit in front of real commands. Before, only pkill (the command that stops processes by name) had such a wrapper, and it had no ancestor check.

  • pkill now checks whether it supports --ignore-ancestors. It runs command pkill --help, and if the output mentions that option, it adds the option to the call.
  • pgrep, which lists processes by name, gets a new wrapper that does the same check.
  • pidwait, which waits for processes by name, gets a new wrapper that does the same check.
  • The PATH export is now added in the same ordered list as these wrappers.

The --ignore-ancestors option leaves a process's ancestors out of the results. Ancestors are the processes that started it, such as the shell running the command. The new wrappers are only added when a platform check passes and a flag named tengu_dreamy_sunbeam allows it. That flag's built-in fallback is true, but no reading of it has been taken.

Why

A command like pgrep -f or pkill -f matches against full command lines, so it can match the shell that is running it. With these wrappers, such a command is less likely to find or stop Claude's own shell and cut off the session. If your system's versions of these tools do not support --ignore-ancestors, they run as before.

See this entry in the whole of v2.1.321 →

Feedback