Claude is surprisingly bad at killing processes. Had several "Whoops, my process killer matched itself and died before its victims" notifications already.
hkudale · 2026-10-26 14:50:21 UTC
true. I worked on multi process app UI and engine were 2 different processes with similar names. Without engine UI can't work and claude was almost always killing engine (thinking its stale UI from prev sessions) before testing UI. Really bad. I haven't tried this specific tool yet but ended up writing a global instruction for Claude to keep track of processes it starts in some tracking file so engine started by me would not be killed
daynthelife · 2026-10-26 16:43:16 UTC
I just set a hard permission deny on any command matching `\bpgrep\b.\s+(-\wf|--full)\s+"[^\]"]+"` with denial reason "It looks like you are trying to identify a running process via a command like `pgrep -f "my-command --my-args"`. This will match the spawned shell process itself, which is likely unintended. Use instead e.g. `pgrep -f "[m]y-command --my-args"`. If this was a false positive, either embed your code in a temp script, or (preferred) get and confirm the target pid(s) by calling pgrep directly (this auto-deny only fires if characters precede the pgrep call) and then run your subsequent code on the pid(s)."
Haven't had issues since then.
CodesInChaos · 2026-10-26 10:07:35 UTC
Why do you use commas to separate multiple targets, instead of multiple arguments?
Comments
Haven't had issues since then.