diff --git a/.storkit/work/1_backlog/452_bug_claude_code_pty_crashes_with_fatal_runtime_error_on_agent_restart.md b/.storkit/work/1_backlog/452_bug_claude_code_pty_crashes_with_fatal_runtime_error_on_agent_restart.md index 99ab7aa4..fc1da4d9 100644 --- a/.storkit/work/1_backlog/452_bug_claude_code_pty_crashes_with_fatal_runtime_error_on_agent_restart.md +++ b/.storkit/work/1_backlog/452_bug_claude_code_pty_crashes_with_fatal_runtime_error_on_agent_restart.md @@ -31,7 +31,7 @@ All child processes should be properly reaped after exit. No zombie accumulation ## Acceptance Criteria -- [ ] `child.wait()` is called in all exit paths in `agents/pty.rs` and `llm/providers/claude_code.rs` -- [ ] No zombie `[claude] ` processes accumulate during normal operation +- [ ] Zombie processes do not accumulate during normal operation (including grandchildren from npm/cargo) +- [ ] `child.wait()` is called after `child.kill()` in all code paths in `claude_code.rs` - [ ] Agent restart after gate failure does not crash the PTY -- [ ] If Claude Code fails to start, the error is handled gracefully without burning retries +- [ ] Verified with `ps aux | grep ''` after running multiple agent sessions